====== Miscellaneous ======
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''.
===== System =====
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
==== 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.
apt-get install mailx
===== Text Editors and Readers =====
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
===== Console Tools =====
apt-get install -y mc
===== Packaging and Compression =====
apt-get install unzip zip
apt-get install bzip2
===== Web-related =====
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
===== Network Tools =====
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
===== 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.
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
===== Revision Control =====
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
===== Perl =====
NOTE: Perl gets installed by default now, along with ''perl-modules''.
apt-get install perl-doc
apt-get install libcompress-zlib-perl # Compress::Zlib
===== Shells =====
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
===== Ruby =====
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
===== PINE =====
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
===== Python =====
apt-get install -y python
apt-get install -y python-doc
===== Security =====
GNU Privacy Guard is a clone of PGP. The command-line utility is called ''gpg''. It's now installed by default.
===== Documentation =====
apt-get install doc-base
===== Other =====
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.
===== General Customization =====
==== motd ====
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
==== issue ====
The ''/etc/issue*'' files are customized in the [[ssh#configuration|ssh configuration]] procedure.
===== Credits =====
Lee Lammert originally built and installed PINE.
===== Requests =====
[Please ask for any packages you would like installed here.]
===== TODO =====