User Tools

Site Tools


This is an old revision of the document!


Here's where we'll document the installation of miscellaneous small software packages.

Note that some of these packages may get installed during the installation of the OS, depending on the revision and the options selected. Packages that we've seen get installed include mailx, lsof, less, w3m, telnet, bc, file, nano, and at.


The chkconfig command is used to set up the soft links in /etc/rc*.d directories, based on special comments in the startup scripts. The package also contains the service command, which provides a simple way to stop and start services. It's the same as running the startup scripts in /etc/init.d manually, but with a nicer interface (and better command-line completion). Using service is now the preferred way to start and stop services in most Linux distros, including RHEL.

sudo apt-get install -y chkconfig # Requires insserv package.

The lsb-release package (including the lsb_release command) lets scripts determine which version of which distro they're running on.

sudo apt-get install lsb-release

The locate program is great for finding files on the system, without find having to search through a bunch of directories. Debian 5.0 prefers use of the mlocate variant.

sudo apt-get install mlocate
sudo /etc/cron.daily/mlocate &

This resolves some issues with Perl complaining about LC_ALL/LANG/LANGUAGE when using en_US.UTF-8 encoding.

sudo apt-get install locales locales-all

This program provides a utility to configure init files for various runlevels.

sudo apt-get install -y sysv-rc-conf

This package is used by several web and email packages (Apache and PINE).

sudo apt-get install mime-support

We'll need OpenSSL and certificate management packages for web and email later (Apache and Postfix).

sudo apt-get install openssl ssl-cert ca-certificates

The psmisc package includes some useful tools, including pstree, killall, and fuser.

sudo apt-get install psmisc

The lsof program list files (and sockets) that are open, and which processes are using them.

sudo apt-get install lsof

The htop program is an enhanced version of top.

sudo apt-get install htop

The strace program allows you to trace all the system calls that a program calls.

sudo apt-get install strace

The iotop program allows you to monitor I/O with an interface similar to top.

sudo apt-get install iotop

The sysstat package includes sar, iostat, and mpstat, programs used to more closely monitor system performance. Note that I've not yet enabled sa1 to run from cron; I'll need to edit /etc/default/sysstat to enable that.

sudo apt-get install sysstat

mail command line utility

The "mail" comand line utility was not installed which caused several scripts thet rely on that command to fail. It is part of the mailx package. NOTE: Wait until after installing Postfix to install this; otherwise, it will require exim4 to be installed.

sudo apt-get install mailx liblockfile1

Text Editors and Readers

NOTE: nano and file get installed by default.

sudo apt-get install -y vim vim-doc vim-scripts
sudo apt-get install less
sudo apt-get install pinfo

Console Tools

sudo apt-get install -y mc

Packaging and Compression

sudo apt-get install unzip zip
sudo apt-get install bzip2

NOTE: wget gets installed by default.

sudo apt-get install -y curl
sudo apt-get install links
sudo apt-get install lynx-cur  # Newer release of lynx
sudo apt-get install ncftp
sudo apt-get install lftp
sudo apt-get install rsync
sudo apt-get install -y tidy tidy-doc
#sudo apt-get install elinks
#sudo apt-get install w3m

Network Tools

Note that netcat apparently gets installed by default in Debian 5.0.

Tcpdump is a good tool for monitoring packets going across the wire. It's helpful when troubleshooting network protocol issues.

sudo apt-get install -y tcpdump

Telnet is no longer good for connecting to remote systems to get shell access. (Always use SSH for remote shell access.) However, it's good for connecting to other ports to test network connectivity. (For example, it's the easiest way to test low-level SMTP functionality.)

sudo apt-get install telnet

The mtr program is an enhanced version of traceroute, with some additional features. We want the "tiny" version, which does not require X11.

sudo apt-get install mtr-tiny

ZModem isn't used much any more, but it can be used to send files across an existing SSH (or any other pty) connection. The lrzsz package supports ZModem – use the rz command to receive a file. KDE's Konsole provides good ZModem upload support.

sudo apt-get install lrzsz

Development Tools

NOTE: There are a ton of -dev packages that we could install. Unless we find a development "super-package", we'll have to install them as-needed.

sudo apt-get install binutils
sudo apt-get install -y gcc cpp linux-kernel-headers
sudo apt-get install -y g++
sudo apt-get install binutils-doc manpages-dev
sudo apt-get install -y gcc-doc cpp-doc
sudo apt-get install make autoconf automake libtool flex bison m4 autotools-dev libc6-dev
sudo apt-get install glibc-doc libtool-doc
sudo apt-get install gdb
sudo apt-get install patch
sudo apt-get install build-essential dpkg-dev
sudo apt-get install diff-doc

Revision Control

These are various source code management (SCM) packages.

sudo apt-get install cvs
sudo apt-get install -y subversion subversion-tools db4.4-util
sudo sed -i -e 's/^# global-ignores.*$/global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store/' \
sudo apt-get install -y git-core git-doc git-svn gitweb
sudo cp /usr/share/doc/git-core/contrib/completion/git-completion.bash /etc/bash_completion.d/git


NOTE: Perl gets installed by default now, along with perl-modules.

sudo apt-get install perl-doc
sudo apt-get install libcompress-zlib-perl  # Compress::Zlib


Install ksh93, tcsh, and csh using apt-get. Add sym links for path variations and add to /etc/shells if not done automatically.

sudo apt-get install ksh
sudo apt-get install tcsh
sudo apt-get install csh
sudo apt-get install zsh zsh-doc
sudo ln -s /bin/bash /bin/csh /bin/ksh /bin/sh /bin/tcsh /usr/local/bin
sudo ln -s /bin/bash /bin/csh /bin/sh /usr/bin
sudo ln -s /usr/bin/perl  /usr/local/bin
sudo ln -s /usr/bin/perl  /bin

Auto-Logout on Idle Timeout

The following is used to force automatic logouts for shells that are not within an X session, for security purposes. This can also be done from the SSH daemon.

sudo sh -c 'cat > /etc/profile.d/' << EOF
# Automatically logout after 30 minutes idle at command prompt (unless in X).
if [ -z "$DISPLAY" ]; then
  readonly TMOUT
  export TMOUT
sudo sh -c 'cat > /etc/profile.d/autologout.csh' << EOF
# Automatically logout after 15 minutes idle at command prompt (unless in X).
if ( ! $?DISPLAY ) then
  set -r autologout=30


sudo apt-get install -y python


GNU Privacy Guard is a clone of PGP. The command-line utility is called gpg and the package is called gnupg. It's now installed by default.


sudo apt-get install -y doc-base


sudo apt-get install tree

bc for doing simple math.

sudo apt-get install bc

Deferred execution scheduler to supplement cron. NOTE: Wait until after installing Postfix to install this; otherwise, it will require exim4 to be installed.

sudo apt-get install at

The ack command is a nice replacement for grep. It does the "right thing" in many ways better than grep – ignores non-text files, backup files, SVN/GIT repositories, etc. For Debian 5.0+ systems, we can simply install the package, but we make a link to make it available as ack.

sudo apt-get install ack-grep
sudo ln -s /usr/bin/ack-grep /usr/local/bin/ack


There's no /etc/profile.d in Debian 5.0, so the idle auto-logout doesn't work.

build/misc.1305399788.txt.gz · Last modified: 2012/12/10 22:41 (external edit)