create account

Five packages I always install on Linux servers by themarkymark

View this thread on: hive.blogpeakd.comecency.com
· @themarkymark ·
$11.89
Five packages I always install on Linux servers
![image.png](https://ipfs.busy.org/ipfs/QmUFVHPgVDqK9N8ZYRweCofEsdt6CSexXG2Qt9GAPZFDAe)

There are a few packages I always install when installing a new Linux server, regardless of the purpose.  Some packages are installed by default depending on the distribution of Linx and the version.

I will mostly describe the tools and what they are used for.  I will leave it up to you to figure out how to use them by looking at their man page or doing a Google search for the ones that interest you.

# Htop

**htop** is one of the first packages I install.  If you are familiar with **top** then you have a good understanding of what this tool does.  

**htop** is a more modern version of top with additional features, the biggest feature is color for easy visibility.

![image.png](https://ipfs.busy.org/ipfs/QmUtMx1AAqKmP7xprKTYNsT9GPTchEkp41hEMhn4qVJQFX)

I can't explain **htop** any better than CodeAhoy did in these two images.

![image.png](https://ipfs.busy.org/ipfs/QmX4pqCaKspkCB1rSgm9STRZJYm6Mj17nVCf7UiLJ63CB6)

![image.png](https://ipfs.busy.org/ipfs/QmdqB1ZLRE8XX6tVDX59ZC4HwnzZ5xWGy9fSf7K6hL3UFL)

# vnstat

**vnstat** is another tool I find tremendously useful for all Linux boxes.

**vnstat** is used to monitor activity on your network interfaces.  It will track not only current activity but will give you historic data over hours, days, months for inbound and outbound traffic.

![image.png](https://ipfs.busy.org/ipfs/QmbPZzGSPuiwpqTUsKXEc1kVrwSQbU6F6GtbzCwiwJYpwa)

If your server's connection is metered, this is a good tool to see how much bandwidth you are using.

**vnstat** also has the ability to output a png with traffic summary graphs.

![image.png](https://ipfs.busy.org/ipfs/Qmdqyh63yARXkJsfP2vfq8DATntryQ4yu5HHsLaDGzrHeQ)

# etckeeper

**etckeeper** is an extremely handy package that helps version your configuration files in /etc.  At its core, it is just Git wrapped with some triggers.  I wrote a [post](https://busy.org/@themarkymark/linux-admin-how-to-track-configuration-changes-with-etckeeper) about **etckeeper** a couple of years ago.

Once you install **etckeeper** and configure it to keep track of your configuration files.  It will automatically create comments on a daily basis but you can also trigger a commit after you make a change.  If you are making multiple changes then triggering manual commits will allow you to have individual commits for each of your changes.  This allows you easily to roll back a bad change in isolation.

# Tmux 

I recently just wrote a [post](https://steemit.com/linux/@themarkymark/introducing-tmux) about **tmux**.

**tmux** is a terminal multiplexer, it is also a session state manager.  As a terminal multiplexer, it allows you to run multiple terminals in one terminal session by adding the ability to create windows and panes.

https://steemitimages.com/0x0/https://msadowski.github.io/images/tmux.gif

As a session state manager, **tmux** allows you to disconnect from an SSH session and later reconnect exactly where you were before.  It is handy for running programs you want to be able to monitor console logs but you don't want it to quit when you exit your session.  There are many ways of doing this using log files and background tasks with **nohup**.  **tmux** is just a quick and easy way to do this and easily switch back to them as needed.  Add in the window and pane functionality and you have a super handy tool.

# Process Manager 2

**pm2** or Process Manager 2 is another tool I recently wrote about in a [post](https://steemit.com/linux/@themarkymark/how-to-use-pm2-to-manage-your-scripts) that I highly recommend getting familiar with.

While PM2 is designed to manage NodeJS apps, it works great with most scripting languages like Ruby, Python, Javascript, Bash, PHP, Perl, and more.

![image.png](https://ipfs.busy.org/ipfs/QmbPAhjfpistFn3bc2PjX5PS9vWNT7Nwx7a5dq9jkyYFPY)

Using PM2 you can start scripts automatically when your server boots and restart them whenever the scripts terminate due to a bug or system error.  It also does a great job of managing logs even for scripts that have no native logging functionality.



<sub>Image Sources: [1](https://linuxhint.com/install-htop-ubuntu/) [2](https://codeahoy.com/2017/01/20/hhtop-explained-visually/) [3](https://codeahoy.com/2017/01/20/hhtop-explained-visually/) [4](https://www.maketecheasier.com/vnstat-monitor-network-traffic-command-line/) [5](https://linuxaria.com/recensioni/monitot-your-bandwidth-on-linux-with-vnstat) [6](https://msadowski.github.io/two-months-of-terminal/) [7](https://medium.com/tech-tajawal/process-manager-pm2-performance-optimization-part-ii-6ca8e431a578)</sub>

πŸ‘  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 311 others
πŸ‘Ž  , , , , ,
properties (23)
authorthemarkymark
permlinkfive-packages-i-always-install-on-linux-servers
categorylinux
json_metadata{"community":"busy","app":"busy/2.5.6","format":"markdown","tags":["linux","technology","palnet","neoxian","busy"],"users":["themarkymark"],"links":["https://busy.org/@themarkymark/linux-admin-how-to-track-configuration-changes-with-etckeeper","https://steemit.com/linux/@themarkymark/introducing-tmux","https://steemit.com/linux/@themarkymark/how-to-use-pm2-to-manage-your-scripts","https://linuxhint.com/install-htop-ubuntu/","https://codeahoy.com/2017/01/20/hhtop-explained-visually/","https://codeahoy.com/2017/01/20/hhtop-explained-visually/","https://www.maketecheasier.com/vnstat-monitor-network-traffic-command-line/","https://linuxaria.com/recensioni/monitot-your-bandwidth-on-linux-with-vnstat","https://msadowski.github.io/two-months-of-terminal/","https://medium.com/tech-tajawal/process-manager-pm2-performance-optimization-part-ii-6ca8e431a578"],"image":["https://ipfs.busy.org/ipfs/QmUFVHPgVDqK9N8ZYRweCofEsdt6CSexXG2Qt9GAPZFDAe","https://ipfs.busy.org/ipfs/QmUtMx1AAqKmP7xprKTYNsT9GPTchEkp41hEMhn4qVJQFX","https://ipfs.busy.org/ipfs/QmX4pqCaKspkCB1rSgm9STRZJYm6Mj17nVCf7UiLJ63CB6","https://ipfs.busy.org/ipfs/QmdqB1ZLRE8XX6tVDX59ZC4HwnzZ5xWGy9fSf7K6hL3UFL","https://ipfs.busy.org/ipfs/QmbPZzGSPuiwpqTUsKXEc1kVrwSQbU6F6GtbzCwiwJYpwa","https://ipfs.busy.org/ipfs/Qmdqyh63yARXkJsfP2vfq8DATntryQ4yu5HHsLaDGzrHeQ","https://steemitimages.com/0x0/https://msadowski.github.io/images/tmux.gif","https://ipfs.busy.org/ipfs/QmbPAhjfpistFn3bc2PjX5PS9vWNT7Nwx7a5dq9jkyYFPY"]}
created2019-09-26 18:00:36
last_update2019-09-26 18:00:36
depth0
children19
last_payout2019-10-03 18:00:36
cashout_time1969-12-31 23:59:59
total_payout_value6.561 HBD
curator_payout_value5.324 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length4,656
author_reputation1,774,101,061,361,703
root_title"Five packages I always install on Linux servers"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id90,972,616
net_rshares35,849,886,650,541
author_curate_reward""
vote details (381)
@bit-news ·
I would add a Partition Manager – Gparted. This free tool will help you partitioning the disk via it's friendly Gui
πŸ‘  
properties (23)
authorbit-news
permlinkpygc2r
categorylinux
json_metadata{"tags":["linux"],"app":"steemit/0.1"}
created2019-09-26 18:44:54
last_update2019-09-26 18:44:54
depth1
children1
last_payout2019-10-03 18:44:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length115
author_reputation3,609,844,968,065
root_title"Five packages I always install on Linux servers"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id90,973,693
net_rshares12,308,057,604
author_curate_reward""
vote details (1)
@themarkymark ·
I almost never need to partition disks afterwards on servers.  But I use that when I need to as well.
πŸ‘  
πŸ‘Ž  
properties (23)
authorthemarkymark
permlinkpygcc5
categorylinux
json_metadata{"tags":["linux"],"app":"steemit/0.1"}
created2019-09-26 18:50:33
last_update2019-09-26 18:50:33
depth2
children0
last_payout2019-10-03 18:50:33
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length101
author_reputation1,774,101,061,361,703
root_title"Five packages I always install on Linux servers"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id90,973,861
net_rshares12,005,257,279
author_curate_reward""
vote details (2)
@blewitt ·
@phoenix32 he’s speaking your language!

Posted using [Partiko iOS](https://partiko.app/referral/blewitt)
properties (22)
authorblewitt
permlinkblewitt-re-themarkymark-five-packages-i-always-install-on-linux-servers-20191001t132430911z
categorylinux
json_metadata{"app":"partiko","client":"ios"}
created2019-10-01 13:24:30
last_update2019-10-01 13:24:30
depth1
children0
last_payout2019-10-08 13:24:30
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length105
author_reputation504,983,721,208,239
root_title"Five packages I always install on Linux servers"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id91,123,510
net_rshares0
@bozz ·
Those are some awesome tools!  Thanks for sharing.  I have actually never used any of them.  Most of my Linux servers are for a specific purpose and I kind of just set it and forget it.  I can totally see how these would be useful though.  I might even install one or two of them on my next build!
πŸ‘  , ,
properties (23)
authorbozz
permlinkpygakd
categorylinux
json_metadata{"tags":["linux"],"app":"steemit/0.1"}
created2019-09-26 18:12:24
last_update2019-09-26 18:12:24
depth1
children0
last_payout2019-10-03 18:12:24
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length297
author_reputation2,251,868,672,469,363
root_title"Five packages I always install on Linux servers"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id90,972,860
net_rshares42,755,478,531
author_curate_reward""
vote details (3)
@contrabourdon ·
pm2 is great except for when it's trying to startup everything at once and everything is failing...I experienced this when all the Steem RPC nodes were down during the HF.
πŸ‘  
properties (23)
authorcontrabourdon
permlinkre-themarkymark-pyh20u
categorylinux
json_metadata{"tags":["linux"],"app":"steempeak/1.17.1"}
created2019-09-27 04:05:21
last_update2019-09-27 04:05:21
depth1
children1
last_payout2019-10-04 04:05:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length171
author_reputation224,090,063,724,242
root_title"Five packages I always install on Linux servers"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id90,986,604
net_rshares12,580,094,950
author_curate_reward""
vote details (1)
@themarkymark · (edited)
That is a very rare occurrence and there are workarounds.  Most all solutions would have issues then as well.
πŸ‘  
πŸ‘Ž  
properties (23)
authorthemarkymark
permlinkpyhcez
categorylinux
json_metadata{"tags":["linux"],"app":"steemit/0.1"}
created2019-09-27 07:49:48
last_update2019-09-27 07:50:06
depth2
children0
last_payout2019-10-04 07:49:48
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length109
author_reputation1,774,101,061,361,703
root_title"Five packages I always install on Linux servers"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id90,991,671
net_rshares12,320,717,356
author_curate_reward""
vote details (2)
@cryptorg ·
Quite a great linux toolbox for anyone running servers and monitoring how they are doing. Also I think you could add some debug tools or options that might be used when something goes wrong like an application being unresponsive or something similar.
πŸ‘  ,
properties (23)
authorcryptorg
permlinkre-themarkymark-2019926t22204977z
categorylinux
json_metadata{"tags":["linux","technology","palnet","neoxian","busy"],"app":"esteem/2.2.0-surfer","format":"markdown+html","community":"esteem.app"}
created2019-09-26 19:20:48
last_update2019-09-26 19:20:48
depth1
children0
last_payout2019-10-03 19:20:48
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length250
author_reputation8,806,415,131,458
root_title"Five packages I always install on Linux servers"
beneficiaries
0.
accountesteemapp
weight1,000
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id90,974,702
net_rshares12,763,736,034
author_curate_reward""
vote details (2)
@emrebeyler ·
good stuff, pretty much using the same packages expect pm2.  Using [supervisord](https://supervisord.org) for that. It's Python so I'm biased.
πŸ‘  , ,
properties (23)
authoremrebeyler
permlinkpygbhg
categorylinux
json_metadata{"tags":["linux"],"links":["https://supervisord.org"],"app":"steemit/0.1"}
created2019-09-26 18:31:45
last_update2019-09-26 18:31:45
depth1
children0
last_payout2019-10-03 18:31:45
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length142
author_reputation448,535,049,068,622
root_title"Five packages I always install on Linux servers"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id90,973,325
net_rshares17,436,201,515
author_curate_reward""
vote details (3)
@gikitiki ·
I am going to have to try tmux.  I though screen was the bees knees when I discovered it.  It looks like  tmux is screen’s more modern brother!!!

Thanks for the tip!
πŸ‘  
properties (23)
authorgikitiki
permlinkpygxkw
categorylinux
json_metadata{"tags":["linux"],"app":"steemit/0.1"}
created2019-09-27 02:29:21
last_update2019-09-27 02:29:21
depth1
children1
last_payout2019-10-04 02:29:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length166
author_reputation16,572,681,158,525
root_title"Five packages I always install on Linux servers"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id90,984,545
net_rshares12,604,938,569
author_curate_reward""
vote details (1)
@themarkymark ·
It is a more modern version of screen.  Only thing screen really does better is built-in logging.
πŸ‘  , ,
πŸ‘Ž  
properties (23)
authorthemarkymark
permlinkpyhe7m
categorylinux
json_metadata{"tags":["linux"],"app":"steemit/0.1"}
created2019-09-27 08:28:33
last_update2019-09-27 08:28:33
depth2
children0
last_payout2019-10-04 08:28:33
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length97
author_reputation1,774,101,061,361,703
root_title"Five packages I always install on Linux servers"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id90,992,451
net_rshares33,310,027,543
author_curate_reward""
vote details (4)
@helcim ·
That's a very nice list, but the fact that PM2 depends on  NodeJS can make it unsuitable in some situations. I think basic system utilities should be written in C or shell and preferably have no dependencies.
πŸ‘  ,
properties (23)
authorhelcim
permlinkpyjeeh
categorylinux
json_metadata{"app":"steemit/0.1"}
created2019-09-28 10:27:54
last_update2019-09-28 10:27:54
depth1
children1
last_payout2019-10-05 10:27:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length208
author_reputation210,407,747,696,941
root_title"Five packages I always install on Linux servers"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd0
post_id91,026,272
net_rshares12,765,720,157
author_curate_reward""
vote details (2)
@themarkymark ·
Ideally, that would be great, but it has never posed a problem.
πŸ‘  
πŸ‘Ž  
properties (23)
authorthemarkymark
permlinkpyjefl
categorylinux
json_metadata{"app":"steemit/0.1"}
created2019-09-28 10:28:30
last_update2019-09-28 10:28:30
depth2
children0
last_payout2019-10-05 10:28:30
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length63
author_reputation1,774,101,061,361,703
root_title"Five packages I always install on Linux servers"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id91,026,282
net_rshares12,395,594,195
author_curate_reward""
vote details (2)
@jrvacation ·
And your favourite text editor is?
πŸ‘  ,
properties (23)
authorjrvacation
permlinkpygb54
categorylinux
json_metadata{"tags":["linux"],"app":"steemit/0.1"}
created2019-09-26 18:24:42
last_update2019-09-26 18:24:42
depth1
children1
last_payout2019-10-03 18:24:42
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length34
author_reputation98,808,821,433,006
root_title"Five packages I always install on Linux servers"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id90,973,147
net_rshares12,467,251,866
author_curate_reward""
vote details (2)
@themarkymark ·
I use vim, VS Code, and Sublime Text.
πŸ‘  
πŸ‘Ž  
properties (23)
authorthemarkymark
permlinkpygc8p
categorylinux
json_metadata{"tags":["linux"],"app":"steemit/0.1"}
created2019-09-26 18:48:24
last_update2019-09-26 18:48:24
depth2
children0
last_payout2019-10-03 18:48:24
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length37
author_reputation1,774,101,061,361,703
root_title"Five packages I always install on Linux servers"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id90,973,792
net_rshares12,003,876,561
author_curate_reward""
vote details (2)
@manniman ·
very nice, some lib package or lsb?
πŸ‘  
properties (23)
authormanniman
permlinkre-themarkymark-pyh544
categorylinux
json_metadata{"tags":["linux"],"app":"steempeak/1.17.1"}
created2019-09-27 05:12:09
last_update2019-09-27 05:12:09
depth1
children0
last_payout2019-10-04 05:12:09
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length35
author_reputation77,790,724,868,389
root_title"Five packages I always install on Linux servers"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id90,987,819
net_rshares12,555,845,444
author_curate_reward""
vote details (1)
@paullifefit ·
OMG! All of that went way over my head! I do feel better knowing that this man IS the Linux programmer that I may one day need...
properties (22)
authorpaullifefit
permlinkpygd58
categorylinux
json_metadata{"tags":["linux"],"app":"steemit/0.1"}
created2019-09-26 19:07:57
last_update2019-09-26 19:07:57
depth1
children0
last_payout2019-10-03 19:07:57
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length129
author_reputation3,059,647,728,996
root_title"Five packages I always install on Linux servers"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id90,974,392
net_rshares0
@rana2423 ·
That's cool.

Posted using [Partiko Android](https://partiko.app/referral/rana2423)
properties (22)
authorrana2423
permlinkrana2423-re-themarkymark-five-packages-i-always-install-on-linux-servers-20190928t210428303z
categorylinux
json_metadata{"app":"partiko","client":"android"}
created2019-09-28 21:04:27
last_update2019-09-28 21:04:27
depth1
children0
last_payout2019-10-05 21:04:27
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length83
author_reputation243,773,182,919,814
root_title"Five packages I always install on Linux servers"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id91,040,941
net_rshares0
@sathyasankar ·
I actually don't understand most of this post. Highly technical.! Seems I have a lot to learn.
properties (22)
authorsathyasankar
permlinkpygalj
categorylinux
json_metadata{"tags":["linux"],"app":"steemit/0.1"}
created2019-09-26 18:12:57
last_update2019-09-26 18:12:57
depth1
children0
last_payout2019-10-03 18:12:57
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length94
author_reputation25,037,930,470,038
root_title"Five packages I always install on Linux servers"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id90,972,878
net_rshares0
@steevc ·
Htop an essential for me too. I don't run any servers, but I need to get some Pis working for me.
πŸ‘  ,
properties (23)
authorsteevc
permlinksteevc-re-themarkymark-five-packages-i-always-install-on-linux-servers-20190926t180412360z
categorylinux
json_metadata{"app":"partiko","client":"android"}
created2019-09-26 18:04:12
last_update2019-09-26 18:04:12
depth1
children0
last_payout2019-10-03 18:04:12
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length97
author_reputation1,379,792,761,621,665
root_title"Five packages I always install on Linux servers"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id90,972,690
net_rshares12,480,243,267
author_curate_reward""
vote details (2)