Five packages I always install on Linux servers

View this thread on: d.buzz | hive.blog | peakd.com | ecency.com
·@themarkymark·
0.000 HBD
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>

👍 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,