Go to TogaWare.com Home Page.
GNU/Linux Desktop Survival Guide
by Graham Williams

27 October 2007

Standard install (see Section 4.1.3). Choose boot media with F12 on boot. Boot from DVD. MS/Windows Vista already installed so use the Debian GNU/Linux installer to reduce the NTFS partition size, but keep it, and re-partition the remainder (see below), ending up with a dual boot machine.

Install: lang=English, location=Australia, kb=American English, eth0, hostname=kyral, domain name=togaware.com.

We want to keep the Vista partitions for now, but free up disk space for Debian, so choose Manual partition. Select #3, Resize the partition (239.2 GB), New size 16 GB (leaves 223.2 GB for Debian), Guided - use the largest continuous free space, with a separate /home partition.

The partition automatically chosen was:

/ 7.0G sda5
swap 8.9G sda6
/home 207.4G sda7

(Partitions formatting). Time zone=Sydney. (Setting up the clock).

Root passwd (entered twice), user account name and password. (Installing the base system). Configure the package manager, use a network mirror=Yes, Australia, Debian archive mirror=ftp.iinet.net.au, HTTP proxy left blank, (Configuring apt), popularity-contest=Yes, apt install with tasksel selection of Desktop Environment, Web Server, Print Server, DNS Server, File Server, Mail Server, SQL Database, and Standard System, (install 709 packages).

Configuring libc-client2002edebian: Continue without Maildir support=No. Samba workgroup=togaware. Use WINS settings from DHCP=No.

Grub automatically noticed Windows Vista/Longhorn (loader) and added an appropriate entry for booting (write to the master boot record=Yes).

Eject DVD, reboot and Gnome starts up, but resolution was 640x480 at 55Hz (optimum is 1680x1050 at 60Hz). I was informed of software updates available (several limux-image packages), so I installed them. Reboot again.

Ctrl-Alt-F1 to go to Console 1. Log in as root. Setup sudo so that we won't need to log into root to administer the system, and also so that all activity is administered:

# visudo 
kayon ALL=(ALL) ALL

Get some basic applications happening, after logging in as a user:

$ sudo apt-get install wajig
$ wajig install emacs

Now edit /etc/dhcp3/dhclient.conf to ensure the modem ( is not recorded as a DNS since it does not seem to act as one and hence each network access has a timeout delay:

$ sudo emacs /etc/dhcp3/dhclient.conf
send host-name "kyral.togaware.com";
supersede domain-name-servers;

Set up the hosts file appropriately:

$ sudo cp /etc/hosts /etc/hosts.orig
$ sudo scp /etc/hosts

Edit the hosts file to suit.

Move to the unstable distribution by updating the /etc/apt/sources.list file and grabbing a couple of keys for a couple of extra signed archives:

$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.original
$ sudo scp athene:/etc/apt/sources.list /etc/apt/sources.list
$ gpg --keyserver keyring.debian.org --recv-key 1F41B907
$ gpg --armor --export 1F41B907 | sudo apt-key add -
$ gpg --keyserver keyring.debian.org --recv-key C03C56DF
$ gpg --armor --export C03C56DF | sudo apt-key add -
$ wajig update
$ wajig distupgrade
$ wajig install emacs22 most

On the dist-upgrade check what packages are going to be removed. Somethines unstable is in an unstable state and we just need to double check that all looks okay.

We next upgrade the kernel, working towards compiling the nvidia drivers so we can get into a X11 session:

$ wajig install linux-image-2.6.22-3-amd64

Reboot the computer.

Install the binary nvidia drivers and kernel modules, and the screen will work at 1680x1050 resolution. This needs to be each time a new kernel is installed (090503), and is a pain caused by nvidia not providing an open source driver--avoid nvidia graphics chips!

$ wajig install module-assistant gcc nvidia-kernel-common
$ sudo m-a update
$ sudo m-a prepare
$ sudo m-a auto-install nvidia

The old, slightly more manual way:

$ wajig install nvidia-kernel-source
$ cd /usr/src
$ sudo tar xzvf nvidia-kernel-source.tar.gz
$ wajig install linux-headers-2.6.22-3-amd64
$ export KSRC=/usr/src/linux-headers-2.6.22-3-amd64
$ export KVERS=2.6.22-3-amd64
$ cd modules/nvidia-kernel/
$ sudo debian/rules binary_modules
  FAILED because using gcc 4.2 rather than 4.1
$ su
# CC=/usr/bin/gcc-4.1
# debian/rules binary_modules
# Ctrl-D
$ wajig install nvidia-kernel-common
$ wajig install ../nvidia-kernel-2.6.22-3-amd64_100.14.19-1_amd64.deb
$ wajig install nvidia-glx
$ wajig install nvidia-xconfig

On restarting gdm there was no visible mouse pointer. After a reboot it was again visible. Remove gdm now, as I prefer to start up Gnome from a command line login.

$ wajig remove gdm

Now mount /home from athene by editting /etc/fstab and add other users. (I am migrating from athene to kyral as the primary server for this network, so eventually /home will move to kyral.)

On reboot the boot sequence was freezing because I had a USB connection to a Neo mobile telephone that was seen as a network device. Unplugging the Neo allowed the boot to work.

On booting the netatalk startup took a long time. I don't use AppleTalk and so I removed the netatalk package and now booting is much quicker.

Configure exim4:

$ wajig reconfigure exim4-config

General=mail sent by smarthost; received via SMTP or fetchmail; System mail name=kyral.togaware.com; incoming SMTP=; accept=kyral.togaware.com; relay=; smarthost=mail.m.iinet.net.au; Hide local=Yes; domain=togaware.com; DNS queries minimal=No; Maildir format in home directory; small files=No.

Configure printing using cupsys. Simply visit http://localhost:631/ and Add Printer called psc2210. It is all very intuitive. From a remote host, we can connect to this printer by identifying it as lpd://kyral/psc2210. Had to add the following line to /etc/inetd.conf:

  printer stream tcp nowait lp /usr/lib/cups/daemon/cups-lpd cups-lpd

See Section 82.1.5 for details.

Install a bunch of useful applications:

$ wajig install debsecan
$ wajig install gnubiff tomboy music-applet glipper netspeed
$ wajig install revelation gworldclock xmms quodlibet contacts
$ wajig install htop gxine fam planetpenguin-racer gnumeric auctex
$ wajig install ntp rubber latex2html dvb-utils lftp lbdb 
$ wajig install backup-manager gaiksaurus ifpgui abiword xchat
$ wajig install apt-listchanges apt-listbugs rsync ssh meld fping 
$ wajig install fetchmail clamav clamav-daemon subversion mozplugger
$ wajig install r-recommended r-cran-rgtk2 r-cran-cairodevice
$ wajig install lynx cvs lintian linda ogmrip
$ wajig installrs mplayer flashplugin-nonfree

Configure anacron to run at 1:30am rather than 7:30am by editing /etc/cron.d/anacron:

30 1    * * *   root	test -x /etc/init.d/anacron \
        && /usr/sbin/invoke-rc.d anacron start >/dev/null

Install an IMAP server suited for Maildir folders courier-imap (which removes uw-imapd). Choose the option to create a configuration directory (it was not the default, and it may not have been the right choice, but seems to work). Immediately, normal user logins were possible (see Section 30.5.1 for a telnet command line test of connecting). Added extra users using userdb to protect against my user account and password being compromised.

Install Apache and SSL. Apache2 installed easily. A little more effort got ssl working, after setting up certificate.

Install squirrelmail. Straight forward. Added

Alias /sq /usr/share/squirrelmail

to /etc/apache2/conf.d/squirrelmail.conf to allow users to just visit sq, rather than only squirrelmail. Also added:

<IfModule mod_rewrite.c>
  <IfModule mod_ssl.c>
    <Location /sq>
      RewriteEngine on
      RewriteCond %{HTTPS} !^on$ [NC]
      RewriteRule . https://%{HTTP_HOST}%{REQUEST_URI}  [L]

so that we always enter using https to ensure protection.

Copyright © 1995-2014 Togaware Pty Ltd
Support further development through the purchase of the PDF version of the book.
Brought to you by Togaware.