Onno's list of favorite Linux applications

This is to remind myself which packages to install next time I install Linux.

See also Onno's list of favorite Firefox extensions.

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:

  1. Downloading an ISO file
  2. Burning the ISO file to a cdrom
  3. Changing the BIOS settings to boot your system from cdrom
  4. Booting from the cdrom and following the instructions
  5. 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.
  • SSL - secure web connections: see http://ubuntuforums.org/showthread.php?t=4466, jBilbo’s message says it all.
  • Statistics & analysis
    • Awstats - beware! the default installation method (which allows any visitor to run Awstats’ perl script) is unsafe! Better use it to generate passive html files!
    • Analog
    • Webalizer
    • Webdruid
  • Htdig - web search engine
  • Link checkers
    • Htcheck - link checker (not tried yet)
    • Linkchecker (not tried yet)
  • 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

  • Postfix - mailserver
  • SpamAssassin - spam filter

Firewall

  • IPtables/Netfiler - the firewall, part of the Linux kernel.
  • Shorewall - brings structure into IPtables.

Here is a list of interesting ports and wether to block them or not: http://www.chebucto.ns.ca/~rakerman/port-table.html

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:
    • (FIXME translated from Dutch, lookup the original text) System → Administration → Settings for login screen → tab Security → uncheck the bottom checkbox: allow TCP connections to the X server
    • Open the firewall for TCP port 6000.
    • Edit /etc/ssh/ssh_config to include ForwardX11 yes
  • 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 (FIXME). 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

  • Quanta+ - my favorite, although I often use gedit for quick small jobs.
  • Screem
  • Bluefish
  • Nvu - WYSIWYG (not tried yet)

Tools

  • Midnight Commander - file managers that looks like the old Norton Commander
  • Ethereal - a network traffic analyzer
  • Tcpdump - command line network traffic analyzer
  • Dig - DNS lookup tool
  • Nmap - port scanner
    • Nmapfe - graphical user interface for Nmap
  • 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

  • Samba - share files with Windows machines
    • samba
    • samba-common (installed by default)
    • smbclient (installed by default)
    • winbind
  • Kerberos - if you want to join a Windows Server 2003 Active Directory domain
    • krb5-config
    • krb5-user
    • krb5-kdc (not sure if it’s necessary)
  • ... and possible packages that these depend on.

Here is How to join Ubuntu/Samba to a Windows 2003 Active Directory domain.

Other

  • Audacity - audio editor
  • Lame - MP3 encoder (I use Grip as a GUI frontend)
  • Libmpeg3 - MP3 codec (library for playing MP3 files)
  • Exif (jpeg info) editors & viewers
    • Jhead - edit comments in JPEGs, also in Windows
    • Libjpeg-progs, including:
      • cjpeg/djpeg: convert to/from the JPEG file format
      • rdjpgcom/wrjpgcom: read/write comments in JPEG files
      • jpegtran: lossless transformations of JPEG files
    • Exif (not tried yet)
    • Exiftags (not tried yet)
    • Exiftran (not tried yet)
    • Libexif-gtk5
  • Image galleries (not tried yet)
    • Gallery
    • Bins
    • Zoph - web based photo organiser

Screen session recorders

  • Wink - very good screen recorder, stable, v2 has sound recording (but v2 is only available on Windows for now), frame editing, and you can add your own “next” buttons and text balloons. I’m not going to waste my time or money on other screen recorders: this works well for me.
  • vnc2swf - very nice idea to record from a VNC server, open source, but not very easy to use
  • vncrec - not tried.
  • Istanbul - no Flash/Shockwave swf output: open standard output files (Ogg/Theora) which can be played from a web page with a free Java player. Newest version can record sound. But it crashed a few times on my Ubuntu 6.06 and it was a hell to compile and get it running, so if you’re going to use this, upgrade to Ubuntu 6.10 first.
  • http://www.pitivi.org/ - can be used to edit screen session recordings made by Istanbul, but I couldn’t get it installed
  • Camtasia - commercial, Windows only, but looks impressive.

Still exploring

  • ndisgtk & ndiswrapper - use Windows wireless lan drivers in Linux. Couldn’t get my WLAN card working though. Check the hardware compatibility list of Ubuntu)
  • websec - web page monitoring software
  • webmin-virtual-server (virtualmin) - doesn’t seem to work with Apache 2
  • Xen (virtual machine software)

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.

  • mysqldump -A -a -c –user=me –password=mypassword | gzip | uuencode mywebserver-mysqldump.sql.gz | mail email@address.com -s “[mywebserver] mysqldump”

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

 
onno_s_list_of_favorite_linux_applications.txt · Laatst gewijzigd: 2008/05/23 15:04 door onnozweers
 
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
Copyright © Onno Zweers