====== 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 =====