4 if [ -d /home/martin/backup ] && [ ! -d /var/backups/martin ]; then
5 cp -a /home/martin/backup /var/backups/martin
6 rm -rf /home/martin/backup
9 # install already shipped debs
10 UBUNTU_CD="/home/martin/download/ubuntu/`lsb_release -c`-alternate-`dpkg --print-architecture`.iso"
11 if [ -r "$UBUNTU_CD" ]; then
12 mount -o loop "$UBUNTU_CD" /cdrom
15 DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends build-essential fakeroot devscripts postfix openssh-server bzr python-paramiko
18 if [ ! -d /root/.ssh ] && [ -d /home/martin/.ssh ]; then
21 cp /home/martin/.ssh/id_rsa* /home/martin/.ssh/known_hosts /home/martin/.ssh/config /root/.ssh/
24 # restore /etc bzr branch, rescue the files we do not want to restore
27 if [ ! -d /etc/.bzr ]; then
28 for i in passwd group shadow fstab; do
29 [ -e $i.originst ] || cp $i $i.originst
31 [ -e /backup-etc ] || bzr get bzr+ssh://martin@piware.de/home/martin/backup/`hostname`-etc /backup-etc
32 cp -av /backup-etc/* /etc/
33 cp -av /backup-etc/.bzr/ /etc/
35 chmod 600 /etc/ssh/ssh_*_key
37 chown root:shadow /etc/shadow
38 chmod 700 /etc/ssl/private
39 chmod 640 /etc/ssl/private/ssl-cert-*
40 chown root:ssl-cert /etc/ssl/private/ssl-cert*
42 # only restore dchroot part into fstab
43 grep -A 200 "^# sid chroot" fstab >> fstab.originst || true
44 mv fstab.originst fstab
46 # only restore the human users from passwd/group
47 for i in passwd group; do
48 perl -naF: -e 'print if $F[2] > 1000 && $F[2] < 60000' $i >> $i.originst
52 # only restore some passwords from shadow
53 egrep 'martin|netti|joe' shadow >> shadow.originst
54 mv shadow.originst shadow
55 chown root:shadow shadow
59 # update postfix for new configuration
61 /etc/init.d/postfix restart
64 if [ -d /home/aptcache ]; then
65 find /home/aptcache/ -name "*.deb" -exec cp '{}' /var/cache/apt/archives/ \;
70 dpkg -i /home/martin/download/libdvdcss2_*deb || true
71 locale-gen ru_RU ru_RU.UTF-8
73 # remove packages that we do not need
74 killall apt-get || true # cronjob goo
75 apt-get purge -y --auto-remove hplip brltty bluez-cups gnome-accessibility-themes gnome-mag gnome-orca onboard tomboy ttf-arabeyes ttf-arphic-uming ttf-lao ttf-thai-tlwg update-motd || true
77 rm -f /etc/rcS.d/*pcmcia* /etc/rcS.d/*ppp*
79 # install packages from network sources
80 killall apt-get || true
81 apt-get update -o Acquire::Http::No-Cache=true
83 DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y --force-yes vim bzrtools bzr-svn patchutils offlineimap wipe diffstat gtimelog jigdo-file libtool devhelp python-doc manpages-dev gstreamer0.10-plugins-ugly gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly-multiverse gstreamer0.10-ffmpeg weechat weechat-plugins weechat-scripts dpatch wdiff debian-goodies ccache subversion listadmin quilt python-dev cryptsetup mutt editmoin lintian python-gtk2-doc fakechroot ubuntu-dev-tools dput dchroot fakechroot imagemagick pngquant pdfjam easytag rsnapshot texlive-lang-german texlive-latex-extra python-coverage powertop sane-utils vim-scripts libtemplate-perl kvm bzr-buildpackage git-core
84 apt-get -y build-dep postgresql-8.4 hal cups apport jockey calibre gvfs
89 crontab -u martin - <<EOF
90 # m h dom mon dow command
91 05 * * * * \$HOME/bin/backup >/dev/null
94 if [ -x /usr/bin/gtimelog ]; then
95 patch /usr/bin/gtimelog ~martin/archiv/gtimelog.tuesday.patch