These are my working notes on how to set up new computers, either workstations or servers.
Laptop: Thinkpad X40
- Create Debian USB boot disk, as per http://d-i.pascal.at/ (kernel
is called linux instead of vmlinuz)
- Put USB disk in X40 and turn it on. Press F12 during boot to get
a device menu, and select USB.
- After startup is complete, go to another shell (alt-F2) and use
parted to shrink the windows partition to 5Gb
- Install the bare minimum, using debian stable (sarge)
- Install GRUB when prompted
- Use a razor blade to pry, not scrape, off the Microsoft and Intel advertisements on the keyboard. Try to peel off the glue with the stickers. Use small amounts of soap, water, and friction to remove leftover glue.
- Reboot
- Modify the Windows partition to prevent its conversion from FAT32
to NTFS, as detailed in
http://www.chronox.de/x40_linux/linux_on_x40.html. In addition to
convert.exe, I also moved convsomethingorother.
- Upgrade from testing to unstable (instructions?)
- Install wireless support from http://ipw2200.sourceforge.net/
- apt-get install portmap-
- apt-get install sudo rsync ntpdate ssh-askpass rdate
- apt-get install kde kdm openoffice.org gnucash mozilla-firefox gqview emacs21 eldav mutt flashplugin-nonfree
- screw with XF86config (ended up using http://www.chronox.de/x40_linux/XF86Config-4 except with dvorak keymap)
- Install Java: http://wiki.osuosl.org/display/DEV/Java+on+Debian
- apt-get install acpi acpid i810switch
- Install a custom kernel to get ibm acpi module. No longer needed with 2.6.14.
- Add clouds to xplanet as detailed in http://www.number.ch/wiki/index.php/XplanetClouds
- Set up automatic clock synchronization according to these instructions. (The magic command is
rdate -s clock-1.cs.cmu.edu && hwclock --systohc; the instructions show how to get that into a debian equivalent of rc.local.)
- TODO: disable system bell: this didn't work.
- TODO: get hibernate to work. tried instructions with the 2.6.11 kernel but ran into problems.
Server
- Sign up with a dedicated host company. I used NetSonic, which provided a dedicated machine with Debian Sarge (3.1) preinstalled.
- Install basic utilities
apt-get install emacs21 ntpdate cvs bzip2 rsync runit
echo "/bin/false" >> /etc/shells
- set up apt pinning in order to access unstable repository. Notes
- Put these conveniences in /etc/profile:
shopt -s checkwinsize
alias df='df -h'
alias duh='du --max-depth=1 -h'
alias grep='grep --color'
alias less='less -X'
alias more='less -X'
alias pf='ps auxf'
alias pg='ps aux | grep'
alias root='sudo sux -'
alias tx='tar xvzf'
alias tj='tar jvzf'
alias l='ls -al'
alias lt='ls -alrt'
export EDITOR=emacs
- Set up sudo.
apt-get install sudo sux
Put this in /etc/sudoers (use visudo):
%wheel ALL=(ALL) ALL
and put the user account in wheel with:
usermod -G wheel joel
- Remove unneeded services.
apt-get install bind9- bind9-doc- dhcp-client- ipchains- lpr- nfs-common- portmap- ppp-
- Set up recurring processes: debian updating and ntpdate. Put this in root's crontab:
# m h dom mon dow command
42 4 * * * apt-get update && apt-get -q -d -y -u dist-upgrade
- Set up virtual IPs. Add this stanza to /etc/network/interfaces for each new IP:
iface eth0:0 inet static
address 66.180.174.95
netmask 255.255.255.255
- CapitalistDemocracy.com. This is two sites; one public site, which has only one page, and one private site which is running Mediawiki. Starting point is these instructions.
apt-get install apache2-mpm-prefork libapache2-mod-php4 php4-gd php4-imagick
- Set up name-based virtual hosting based on this.
- Copy /etc/apache2/sites-available/default to capdemwiki, change * to the IP, add ServerName and ServerAlias, and link from sites-available to sites-enabled.
- Enable SSL: certificate; link mod-enabled; put stuff in site. COMPLETE but not documented here
- UprightConsulting.com. This is an OpenACS site.
- Install postgres as per these instructions
apt-get install aolserver4 aolserver4-nscache aolserver4-nssha1 tcl8.4 tcl8.4-dev tdom imagemagick
apt-get -t unstable install aolserver4-nspostgres
- Copy nsfts.so from an existing installation. Assume that nsfts.so won't work.
- Copy over the file tree from /var/www/aolserver/uprightconsulting on old host
createdb uprightconsulting
and restore from the sql backup
- Copy /var/cache/analog files from old machine
- aufrecht.org. Same as for UprightConsulting.
- Set up qmail
- Make sure /etc/apt/sources.list includes non-free and contrib
apt-get install ucspi-tcp-src qmail-src
- Remove exim. Find all installed exim packages with
dpkg -l | grep exim
and remove them with dpkg --force-depends --purge packagename
- Use equivs as documented here to make a dummy package which provides mail-transport-agent, and install it.
- as root: maildirmake /etc/skel/Maildir
- Change /etc/init.d/qmail to use Maildir
- Set up IMAPS
- apt-get install bincimap bincimap-run
- Copy over the old imaps cert: /etc/ssl/certs/imapd.pem, or generate a new self-signed one
- Copy over the old imap config: /etc/bincimap/bincimap.conf
- Migrate users
- make new users and groups
- rsync /home. Options for a safe rsync pull that won't delete any local files:
-rpogt --ignore-existing --max-delete=0
- copy over /etc/shadow password hashes
- DNS Switch
- Set up DNS entry on new authority
- Enable new hostname in /var/qmail/control files
- change authority at registrar
- Test with DNS Report
- Set up entries for openspf
- Set up CVS in chroot jail with cvsd package. Use /var/lib/cvs instead of /var/lib/cvsd, and allow PAM auth, so that existing checkouts for shell users still work.
- Set up backup with /root/backup.sh and /root/backup-ftp.sh
Directories to back up:
/etc /home /root /var/lib/cvs /var/qmail/alias /web
- TODO Dec 28: tidy up on old server before shutting down
grab the web server log
rsync (careful with options to get only new stuff) user mail
Desktop
- Install kubuntu
- Copy my private key
- Set up ssh-askpass
- Set up Firefox
- Make a cvs checkout of Documents
- Make links
.bashrc -> Documents/workspace/.bashrc
.cvsrc -> Documents/workspace/.cvsrc
.emacs -> Documents/workspace/.emacs
.grip -> Documents/workspace/.grip
.mail_aliases -> Documents/workspace/.mail_aliases
.mutt.color -> Documents/workspace/.mutt.color
.muttrc -> Documents/workspace/.muttrc
.muttrc.joe -> Documents/workspace/.muttrc.joe
.muttrc.lastgood -> Documents/workspace/.muttrc.lastgood
.muttrc.sendmail -> Documents/workspace/.muttrc.sendmail
.muttrc.shared -> Documents/workspace/.muttrc.shared
.muttrc.work -> Documents/workspace/.muttrc.work
.xinitrc -> Documents/workspace/.xinitrc
- Install /etc/hosts
- desktop keybindings:
- ctrl-tab
- alt-f1 for terminal
- ctrl-1 to ctrl-8 to move windows to desktops
- altl-1 to ctrl-8 to move to desktop
- alt-f6 to resize window
- alt-f5 to move window
- Set aliases machine-wide
- ssh-agent
1) install x11-askpass
2) not sure - either .xinitrc or .kde/autostart
- install firefox plugins
- adblock
- fasterfox
- flashblock
- tabbrowser preferences
- tabs open relative
- web developer
- ubuntu extras (flash...)
- disable unused services
- cpu temp monitor
- focus stealing exceptions
- get the Vista Fonts
- deep
- Reboot and check dmesg for errors