Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

When you finished installation of your linux machine, what are the first packages that you install, and what are the tools that you get first ?

In my Debian box, I get pv, screen, ccze, ... like this

apt-get install pv screen ccze
Please send your feedback.

share|improve this question
apt-get install pv screen ccze dstat iostat htop puppet iotop – mezgani Jul 14 '12 at 23:48

12 Answers 12

up vote 8 down vote accepted

On every host I setup I install these.

apt-get install openssh-server sudo screen iproute resolvconf \
                build-essential tcpdump vlan mii-diag firehol \
                apticron atsar ethtool denyhosts rdist bzip2 xclip \
                etckeeper git-core less unzip mtr-tiny curl gdebi-core \
                xbase-clients rsync psmisc iperf lshw wget pastebinit
share|improve this answer
That pretty much covers it :) – user17642 Oct 22 '09 at 19:35
I got "iproute" and "wget" automatically when installing Debian 5.0/lenny. Also, I was under the impression that "mii-diag" had been superseded by "ethtool"? Furthermore, "build-essential" depends indirectly on "bzip2". I also think you could replace "xbase-clients" with some of its dependencies. – Teddy Oct 23 '09 at 13:23

I like Zoredache's list, so I would add these to that list:


For non-packages:

vmware server 1.x
share|improve this answer

I don't use apt-get anymore!

aptitude -R install vim lsof htop bash-completion less ncftp ssh iostat debian-goodies

after that, some basic settings:

echo "source /etc/bash_completion" >> ~/.bashrc
echo "alias ..='cd ..' >> ~/.bashrc
echo '"\e[A": history-search-backward' >> inputrc
echo '"\e[B": history-search-forward' >> inputrc
update-alternatives --set editor /usr/bin/vim.basic
share|improve this answer

in most cases:

apt-get install screen fail2ban mtr-tiny less


apt-get install tcpdump

and.. i just cannot help

apt-get install mc
share|improve this answer
yeah, vote for midnight commander ;) – buster Oct 22 '09 at 21:40

Don't forget to add 'lsof' to the list. That command is so handy.

share|improve this answer
lsof doesn't come with a minimal install? And yes, it is one of the most handy commands available on any GNU/Linux distribution. – Michael Pobega Oct 22 '09 at 21:30
Maybe on Debian, but I know I have to add it to my RedHat and CentOS kickstart files. – CosmicQ Oct 23 '09 at 1:08

That depends entirely on what you need. If I do a minimal install it's for the purpose of keeping the installation as trim as practical. Therefore, only those tools required on that particular machine will get installed. Perhaps the only thing my machines have in common is Pico, because I just can't come to grips with vi and I do need some kind of text editor that I can use.

Remember that once you start adding some kind of standard list of tools, whether they are actually required on that specific machine or not, you no longer have a minimal installation.

share|improve this answer
I use nano not pico, but totally agree on staying away from vi and that my servers are just gentoo only what needs to get the thing booted, then from there I add what I need for that specific server. – ManiacZX Oct 22 '09 at 23:59

lsof, bind9-host, moreutils and htop are first to go in on my newly set-up machines.

For extra points, one can make an empty debian package called "my-server-base" which depends on all the packages you want on each box, then just install that on each machine you set up.

share|improve this answer
+1 yep, thanks for idea, equivs do this job – mezgani Oct 23 '09 at 0:37

You didn't specify what is the purpose of the debian machine. Server, personal station, other ? This is what I do on servers:

aptitude install alien rpm procps kerneltop mytop apachetop itop htop dnstop sysstat psmisc screen lsof file less sudo coreutils util-linux binutils gdb strace sysv-rc-conf pciutils nis discover hdparm sdparm parted telnet nc tcptrack tcpdump iproute host whois mtr w3m curl rsync pflogsumm pfqueue openssh-client openssh-server postfix ntpd snmpd syslog-ng portmap at nfs-client open-iscsi lvm2 mdadm rcs cvs subversion emacs vim dpkg-dev file perl autoconf automake dh-make debhelper devscripts fakeroot gnupg lintian pbuilder gcc g++ libc6-dev make patch autoconf automake dh-make debhelper devscripts fakeroot gnupg lintian pbuilder libdev-perl dh-make-perl bzip2 eject emacs dialog gdb git-core inotify-tools iputils-arping kerneloops lockfile-progs ltrace nmap openipmi powertop tcptraceroute sqlite3 smartmontools iotop wakeonlan vim

share|improve this answer
+1 for strace. A lot of the dev ones you could get from build-essential, and others are already dependencies of devscripts. – TRS-80 Dec 13 '09 at 4:48
sudo apt-get install psmisc pwgen rsync file host dnsutils lsof
share|improve this answer

I normally try to get buy with only what I need. At a bare minimum: openssh, rsync, ntp, and screen. Everything else is "as needed".

Unfortunately, it seems that lately, quite a bit more is needed. So: build-essentials, postfix, lsof, clamav, tripwire, nrpe, and cfengine have also made the list.

share|improve this answer

dstat, Ksar, iostat, mytop, iotop, vmstat, sysstat, nmap, fail2ban, mtr, clamav, chrootkit, els

share|improve this answer

The first thing that I always install on a fresh box is hnb.

I use to document everything I do and hnb is my outliner of choice for computers that don't have X. I also use leo as GUI outliner, so if a computer has X, I also install it.

I also use a source code management tool for storing my configs there. My recent favourite is fossil, so I aim to have it installed on every computer as well.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.