Onno's list of favorite Linux applications
Distro
Ubuntu
I have used Red Hat, Mandrake and Suse but this has become my favorite. Ubuntu has several package managers for installing software. The first is called “Add programs” and is easy to find and use. The other, “Synaptic package manager”, is more advanced. Don’t forget to include the “universe” and “multiverse” package sources.
Installation helpers
Installation of Linux usually involves the following steps:
-
Burning the
ISO file to a cdrom
Changing the BIOS settings to boot your system from cdrom
Booting from the cdrom and following the instructions
Somewhere during installation you will probably get the opportunity to split your harddisk into two partitions: one for the existing Windows
OS and one for Linux, thus making a dual boot system.
The following helpers may be of use here:
Webserver
Apache - THE web server
Apache2 on Ubuntu comes default with
AllowOverride None in the default virtual server (see /etc/apache2/sites-enabled/000-default). Better change that to enable .htaccess files, for instance to use DokuWiki with pretty
URL‘s. Check also /etc/apache2/mods-available and /etc/apache2/mods-enabled to see if mod_rewrite is loaded and enabled.
PHP - web programming language
MySQL - database
PHPmyadmin - to maintain MySQL databases
PEAR -
PHP programming libraries
Xampp - Apache2, MySQL,
PHP, Pear and everything else you need to get a web server up and running
fast. If you install this, you don’t need to install the above list.
-
Statistics & analysis
Htdig - web search engine
Link checkers
Imagemagick - command line image manipulation tools. Takes some studying but for batch image processing it’s great.
gnome-web-photo - a command line program that makes a
PNG image of a given web page. It can make thumbnails too.
Mailserver
Firewall
Graphical applications and applets
Dia - a diagram editor
If you have another monitor or graphics card, run
sudo dpkg-reconfigure xserver-xorg to update the settings for Xorg, the
GUI.
If you want to run X forwarding (very useful for remote administration) then you have to change some settings:
If want to use VNC (very useful for remote administration) you can start the Gnome VNC server by going to System → Preferences → Remote Desktop.
If no monitor is connected during startup, Xorg will fall back to 640×480. Some windows are too large to be displayed on that resolution. Now normally there is a very handy trick: you can hold the Alt key and then drag the window with the mouse. But if you connect to VNC, this doesn’t work: instead of the remote application window, you will drag the local VNC viewer window. There is a way to work around this problem: goto System → Preferences →
Sneltoetsen (

). Select the action
Move Window. Press the new keystroke for this action (I like Ctrl+F7). From now on, you can press Ctrl+F7 to move a window anywhere you want, even if you can’t drag it by its title bar.
Glunarclock - moon phase applet
Weather applet
msttcorefonts - a set of Windows true type fonts.
nautilus-image-converter - resize and rotate images from the right-click menu in Gnome.
ubuntu-restricted-extras - meta package that installs very useful programs like Java, Flash, Windows fonts and
MP3 decoders.
myspell-* - Spell checkers for Thunderbird.
Editors
I don’t use Vi/Vim, because I can never remember all those peculiar keystrokes. Instead I use:
gedit (graphical, nice syntax highlighting)
kedit (graphical, very similar to Gedit but KDE-based instead of Gnome-based)
nano (text mode)
mc -e (text mode)
HTML/PHP/Javascript editors
Tools
Midnight Commander - file managers that looks like the old Norton Commander
Ethereal - a network traffic analyzer
Tcpdump - command line network traffic analyzer
-
Nmap - port scanner
Gftp -
FTP client. Yes, sometimes still needed, although
FTP is not secure. Gftp also supports SCP.
Webmin - not supported anymore in Ubuntu 6.06! Ubuntu is working on a more secure replacement.
webmin-apache - web server administration
webmin-bandwith - bandwith monitoring
webmin-htaccess - web server administration
webmin-krb5 - kerberos administration
webmin-postfix - mail server administration
webmin-pptp-server - VPN administration
webmin-samba - Windows file sharing administration
webmin-sshd - secure shell server administration
webmin-status - monitoring tool. This is really cool! With this you are the first person to know when your (web)server goes down.
webmin-webalizer - web server statistics
Smsclient - haven’t tried it yet but I will.
Dbench - testing the speed of your harddisk
Htop - top voor humans. See processes in your system.
IFtop - who uses the most network bandwidth?
Command output monitor - mails you when the output of a command has changed; good for monitoring
RAID controllers
cat /proc/mdstats, configuration files
cat /etc/passwd, login sessions
who
ntp - synchronize your systems clock with a time server. Ntpdate syncs your clock at boot time. On a server that doesn’t boot often, install ntp.
Baobab - disk tree usage analysis. What’s taking all that storage space?
Programming
To compile downloaded sources, install the following packages:
A common recipy for compiling:
./configure
make
make install
Windows networking
Other
Screen session recorders
Still exploring
Backup
Sending a backup via email from a cron job is my favorite. Here is a nice example. mysqldump makes a backup of databases, gzip compresses them, uuencode encodes them for sending as an email attachment. It can be set up as a cron job.
However, if the size of the message exceeds the limits set in mail servers, it will fail. Then this method might be a good alternative. This command will make a copy from all files in the /var/www/ directory, tar them, zip them, download them accross a secure connection and store them as a .tar.gz compressed file. Run it from a secondary machine to make a backup copy of the primary machine.
ssh root@mywebserver.com tar -czf - /var/www/ > mywebserver-var-www.tar.gz
I use rsync for backups now, with much satisfaction. Saves bandwidth, runs flawlessly. I use it in a cron job for automatic mirroring - I had to install a SSH certificate though, to get rid of the password prompt.
Unison is very good too for efficient synchronizing, but it’s more interactive than rsync, because it syncs two-way.
Security
More stuff