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
, and at
.
The lsb_release
command tells us what Linux distribution we're running, as well as the version. Debian comes with it pre-installed, but we have to manually install it on CentOS:
sudo yum install redhat-lsb
The locate
program is great for finding files on the system, without find
having to search through a bunch of directories.
apt-get install slocate /etc/cron.daily/slocate &
This resolves some issues with Perl complaining about LC_ALL
/LANG
/LANGUAGE
when using en_US.UTF-8
encoding.
apt-get install locales locales-all
This program provides a utility to configure init files for various runlevels.
apt-get install -y sysv-rc-conf
This package is used by several web and email packages (Apache and PINE).
apt-get install mime-support
We'll need OpenSSL and certificate management packages for web and email later (Apache and Postfix).
apt-get install openssl ssl-cert ca-certificates
The psmisc
package includes some useful tools, including pstree
, killall
, and fuser
.
apt-get install psmisc
The lsof
program list files (and sockets) that are open, and which processes are using them.
apt-get install lsof
The htop
program is an enhanced version of top
.
apt-get install htop
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.
apt-get install mailx
NOTE: nano
and file
get installed by default.
apt-get install -y vim vim-doc vim-scripts apt-get install less apt-get install pinfo
apt-get install -y mc
apt-get install unzip zip apt-get install bzip2
NOTE: wget
gets installed by default.
apt-get install -y curl apt-get install links apt-get install lynx-cur # Newer release of lynx apt-get install ncftp apt-get install lftp apt-get install rsync #apt-get install elinks #apt-get install w3m
Note that netcat apparently gets installed by default in Debian 4.0.
Tcpdump is a good tool for monitoring packets going across the wire. It's helpful when troubleshooting network protocol issues.
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.)
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.
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.
apt-get install lrzsz
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.
apt-get install binutils apt-get install -y gcc cpp linux-kernel-headers apt-get install -y g++ apt-get install binutils-doc manpages-dev apt-get install -y gcc-doc cpp-doc apt-get install make autoconf automake libtool flex bison m4 autotools-dev libc6-dev apt-get install glibc-doc libtool-doc apt-get install gdb apt-get install patch apt-get install build-essential dpkg-dev apt-get install diff-doc
These are various source code management (SCM) packages.
apt-get install cvs apt-get install -y subversion subversion-tools db4.4-util sed -i -e 's/^# global-ignores.*$/global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store/' \ /etc/subversion/config apt-get install -y git-core git-doc git-svn gitweb
NOTE: Perl gets installed by default now, along with perl-modules
.
apt-get install perl-doc 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.
apt-get install ksh apt-get install tcsh apt-get install csh ln -s /bin/bash /bin/csh /bin/ksh /bin/sh /bin/tcsh /usr/local/bin ln -s /bin/bash /bin/csh /bin/sh /usr/bin ln -s /usr/bin/perl /usr/local/bin ln -s /usr/bin/perl /bin
NOTE: These have not been installed yet. It's generally recommended to install Ruby and RubyGems from sources. Anything else should be installed through RubyGems.
#apt-get install ruby ruby1.8 irb1.8 libreadline-ruby1.8 libruby1.8 #apt-get install ruby1.8-examples rdoc1.8 ri1.8 #apt-get install liberuby #apt-get install libapache2-mod-ruby libapache-ruby1.8
Due to the license, PINE only comes as a source package in Debian's non-free archive. So it has to be built from sources. This requires GCC development packages (see above) and a few -dev
packages:
apt-get install libldap2-dev libncurses5-dev libssl-dev zlib1g-dev
Make sure you've met all the dependencies:
apt-get --only-source build-dep pine
Create a location to build the package. The typical location for this is /usr/src
.
mkdir /usr/src/pine cd /usr/src/pine
Download and build the source package:
apt-get --only-source -b source pine
Press enter when prompted to read about not being allowed to distribute the binaries. The build process will take several minutes after that.
Then install the resulting packages.
dpkg -i pine_4.64-3_i386.deb dpkg -i pine-tech-notes_4.64-3_all.deb
apt-get install -y python apt-get install -y python-doc
GNU Privacy Guard is a clone of PGP. The command-line utility is called gpg
. It's now installed by default.
apt-get install doc-base
apt-get install tree
bc
for doing simple math.
apt-get install bc
Deferred execution scheduler to supplement cron:
apt-get install at
Gary requests "elm", the user mail agent as we have on Michelob. 3 problems: 1. elm uses mbox and we are using maildir on bud & budlight. We would have to movemail from gnu or fetchmail to move the mail. 2. elm WAS the most used mail agent in the early 90s and the default for Debian. But in 1999, Debian switched to Mutt. There is no longer a apt-get Debian installable for elm. I moved the latest (2.5.8 in Aug '05) and untarred it in /usr/src for possible future use if we get around issues 1 & 3. 3. We are intending users to be on shell access on budlight but mail to be on bud. We would need to NFS mount the mail directories or use fetchmail to get the IMAP from bud to budlight.
On Debian, you can't edit /etc/motd
directly and expect it to stay
because /etc/motd
is just a symbolic link to /var/run/motd
and the
symbolic link is likely to be recreated by future patches from Debian.
/etc/init.d/bootmisc.sh
rebuilds /var/run/motd
on every reboot, using
/etc/motd.tail. So to make a permanent change on Debian systems,
edit /etc/motd.tail
, instead of /etc/motd
, to put in the information we want.
mv /etc/motd.tail /etc/motd.tail.orig cat > /etc/motd.tail << EOD ******************************************************************************* * St. Louis UNIX Users Group XXXXXXXX server running Debian Etch * * For use by our paying members. Rules of conduct must be followed. * * * * For system information, see: * * http://www.sluug.org/members/accounts/ * * * ******************************************************************************* EOD chmod a+r /etc/motd
Edit the new /etc/motd.tail
to fill in the server name and change anything needed to match this system.
To make the change to /var/run/motd
without a reboot, do the same thing that
/etc/init.d/bootmisc.sh
does:
uname -snrvm > /var/run/motd cat /etc/motd.tail >> /var/run/motd
The /etc/issue*
files are customized in the ssh configuration procedure.
Lee Lammert originally built and installed PINE.
[Please ask for any packages you would like installed here.]