I got a research computer a few days ago. It is a Dell Optiplex GX270 with a Pentium 4 2.4 GHz HT and half a GB memory. A good profile for most purposes. Because it is Dell, it has Windows. But I seldom use a Windows and most of my work needs a UNIX-compat to run. So I write here to record how do I convert it into a Debian workstation.

Hardware Properties

Brand Dell Optiplex GX270
CPU Pentium 4 2.4GHz with HyperThreading
RAM 256 MB DDR x 2
Hard disk Seagate EIDE 80 GB ST380011A
LAN Intel 82540EM Gigabit Ethernet (on-board)
Display Intel 82865 Integrated Display
USB UHCI x 4, EHCI x 1 (Intel built-in)
Audio ICH5 AC’97 Audio
Others ICH5’s SATA, SMBus

Baseline Debian

Installed Sarge using the brandnew netinst CD. I obtained it from the links on the Debian-Installer page (the one I used is http://cdimage.debian.org/pub/cdimage-testing/sarge_d-i/i386/current/sarge-i386-netinst.iso).

With the disc, I boot it and then install in the straight-forward way:

  • Upon boot prompt, type in linux26 to select kernel version 2.6.8
  • In the menu, select “English -> Hong Kong -> American Keyboard” for the language setting
  • Partition the hard disk like this:
    • Root (ext3), 6G, /dev/hda1
    • Swap, 1G, /dev/hda2
    • /home (ext3), 73G, /dev/hda3
  • After format, mount, then wait for the installation finish
  • Reboot
  • After first boot, configure the clock (hardware, time zone = Asia/Hong_Kong), root password, create new user (cancel for not-creating), configure apt-get system (both sarge and sid), choose packages to install (cancel for none)
  • Finally, configure the MTA:
    • Using “Mail sent by smarthost; received via SMTP or fetchmail”
    • Empty mail name
    • Listen on 127.0.0.1
    • No other destination to be accepted for relay
    • Relay for nobody
    • Machine handling outgoing mail is “smtp.ie.cuhk.edu.hk”
    • Hide local mail name is “no”
    • root and postmaster mail recipient: empty (no forwarding)
  • That’s it.

Installing software

Once the baseline system is set up. It occupies only 200MB and hence you should not expect it can do anything useful. In order to make it usable, some tools are needed and some are not needed. Here are my procedure:

Installing console tools

Remove unused packages (package management UI, network utils, inferior tools)

# apt-get --purge remove tasksel apt-utils aptitude
# apt-get --purge remove ipchains ppp pppoe pppconfig pppoeconf
# apt-get --purge remove nano nvi pcmcia-cs mailx fdutils

Install stuffs I needs

# apt-get install ssh unison rsync ncftp wget lynx
# apt-get install sudo syslog-ng hdparm smartmontools ntpdate convmv
# apt-get install less hexedit vim bc screen
# apt-get install rar unzip zip bzip2

Clean up

# dpkg -P sysklogd klogd

Installing networking utilities and network troubleshooting tools

# apt-get install tcpdump nbtscan traceroute iftop
# apt-get install dnsutils smbc iftop rdesktop

Development tools

# apt-get install make gcc g++
# apt-get install manpages-dev stl-manual
# apt-get install dpkg-dev libncurses5-dev
# apt-get install subversion subversion-tools

X11

Base X11

# apt-get install x-window-system fvwm wdm

Fonts (non-TTF and TTF)

# apt-get install xfonts-75dpi xfonts-base xfonts-cmex-big5p \   
  xfonts-intl-arabic xfonts-intl-asian xfonts-intl-chinese \   
  xfonts-intl-european xfonts-intl-japanese xfonts-intl-phonetic \   
  xfonts-scalable xfonts-efont-unicode xfonts-efont-unicode-ib \   
  unifont
# apt-get install ttf-arphic-bkai00mp ttf-arphic-bsmi00lp \   
  ttf-arphic-gbsn00lp ttf-arphic-gkai00mp ttf-freefont ttf-baekmuk \   
  ttf-kochi-mincho-naga10 ttf-opensymbol ttf-thryomanes

Font tools

# apt-get install ttf2pt1 ttf2pt1-chinese fontconfig qt3-qtconfig \   
  x-ttcidfont-conf ttmkfdir

Printing support

# apt-get install enscript bg5ps ttfprint
# apt-get install foomatic-filters foomatic-db cupsys

LaTeX

# apt-get install lyx-qt tetex-base tetex-bin tetex-extra
# apt-get install cjk-latex latex-xft-fonts latex-ucs hbf-cns40-b5 \   
  tfm-arphic-bsmi00lp tfm-arphic-bkai00mp
# apt-get install tth aspell-en

Postscript, PDF, Djvu

# apt-get install gv gs-cjk-resource gsfonts gsfonts-other gsfonts-11 \   
  cmap-adobe-cns1 cmap-adobe-gb1 cmap-adobe-japan1 cmap-adobe-japan2 \   
  cmap-adobe-korea1
# apt-get install pspresent psutils epstool
# apt-get install xpdf-i xpdf-utils xpdf-chinese-traditional dvipdfm pdftk 
# apt-get install djview djvulibre-bin

Multimedia apps

# apt-get install vlc
# apt-get install esound xmms xmms-cdread vorbis-tools aumix
# apt-get install abcde mp3burn cdparanoia
# apt-get install dvd+rw-tools dvdrtools xcdroast cdrdao mkisofs cdrecord

Chinese tools

# apt-get install xcin pydict

Other X11 apps

# apt-get install xscreensaver xloadimage gimageview
# apt-get install dia gimp scribus sodipodi
# apt-get install gnuplot graphviz
# apt-get install xchm gocr gocr-gtk openoffice.org
# apt-get install emelfm bubblefishymon jpilot mlterm mlterm-tools
# apt-get install mozilla mozilla-chatzilla licq licq-plugin-qt

Afterwards, it needs some tuning.

Tuning

Tuning the baseline system

I did several things after the baseline system is made:

  • Configure the network (by modifying /etc/network/interfaces to make eth0 configure itself using DHCP)
  • Replace /etc/profile with Gentoo’s for a prettier $PS1 prompt
  • Modify /etc/inetd.conf to disable everything
  • Execute “update-rc.d -f inetd remove” to prevent inetd start upon boot
  • Modify /boot/grub/menu.lst to add “idebus=66” to the boot prompt
  • Modify /boot/grub/menu.lst to add “vga=796” to the boot prompt

Tuning other applications

sudo

Let all users run sudo if they are in root group:

# cat >> /etc/sudoers
%root ALL=(ALL) ALL
^D

vim

Customerize vim:

# cat > /etc/vim/vimrc.local
syntax on
set background=dark
set autowrite
set showmatch
set fileencodings=big5,utf-8,euc-jp,gbk,euc-kr,utf-bom,iso8859-1