#!/bin/sh -e
-# move backup to /var
-if [ -d /home/martin/backup ] && [ ! -d /var/backups/martin ]; then
- cp -a /home/martin/backup /var/backups/martin
- rm -rf /home/martin/backup
-fi
-
-# install already shipped debs
-UBUNTU_CD="/home/martin/download/ubuntu/`lsb_release -c`-alternate-`dpkg --print-architecture`.iso"
-if [ -r "$UBUNTU_CD" ]; then
- mount -o loop "$UBUNTU_CD" /cdrom
- apt-cdrom -m add
-fi
-DEBIAN_FRONTEND=noninteractive apt-get -y install build-essential fakeroot devscripts postfix openssh-server bzr python-paramiko
+# need bzr and postfix for the setup below
+DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends postfix openssh-server bzr python-paramiko apt-cacher-ng
# root's ssh stuff
if [ ! -d /root/.ssh ] && [ -d /home/martin/.ssh ]; then
mkdir -p /root/.ssh
chmod 700 /root/.ssh
- cp /home/martin/.ssh/id_dsa* /home/martin/.ssh/known_hosts /home/martin/.ssh/config /root/.ssh/
+ cp /home/martin/.ssh/id_rsa* /home/martin/.ssh/known_hosts /home/martin/.ssh/config /root/.ssh/
fi
# restore /etc bzr branch, rescue the files we do not want to restore
# completely
cd /etc
if [ ! -d /etc/.bzr ]; then
- for i in passwd group shadow fstab; do
- [ -e $i.originst ] || cp $i $i.originst
- done
- bzr get sftp://martin@piware.de/home/martin/backup/`hostname`-etc /backup-etc
+ [ -e /backup-etc ] || bzr branch bzr+ssh://martin@piware.de/home/martin/backup/`hostname`-etc /backup-etc
cp -av /backup-etc/* /etc/
cp -av /backup-etc/.bzr/ /etc/
rm -rf /backup-etc
chmod 600 /etc/ssh/ssh_*_key
-
- # only restore dchroot part into fstab
- grep -A 200 "^# dchroots" fstab >> fstab.originst || true
- mv fstab.originst fstab
-
- # only restore the human users from passwd/group
- for i in passwd group; do
- perl -naF: -e 'print if $F[2] > 1000 && $F[2] < 60000' $i >> $i.originst
- mv $i.originst $i
- done
-
- # only restore some passwords from shadow
- egrep 'martin|netti|joe' shadow >> shadow.originst
- mv shadow.originst shadow
+ chmod 700 /etc/ssl/private
+ chmod 640 /etc/ssl/private/ssl-cert-*
+ chown root:ssl-cert /etc/ssl/private/ssl-cert*
+ echo "none /tmp tmpfs defaults 0 0" >> /etc/fstab
fi
+# set up apt-cacher-ng
+/etc/init.d/apt-cacher-ng stop
+mkdir -p /scratch/apt-cacher-ng
+sed -i '/^CacheDir:/ s!^.*!CacheDir: /scratch/apt-cacher-ng!' /etc/apt-cacher-ng/zz_debconf.conf
+chown -R apt-cacher-ng:apt-cacher-ng /scratch/apt-cacher-ng
+/etc/init.d/apt-cacher-ng start
+
# update postfix for new configuration
newaliases
/etc/init.d/postfix restart
-# copy apt cache
-if [ -d /home/aptcache ]; then
- find /home/aptcache/ -name "*.deb" -exec cp '{}' /var/cache/apt/archives/ \;
- rm -rf /home/aptcache
-fi
-
-# other setup
-dpkg -i /home/martin/download/libdvdcss2_*deb || true
-locale-gen ru_RU ru_RU.UTF-8
-
# remove packages that we do not need
killall apt-get || true # cronjob goo
-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-baekmuk ttf-gentium ttf-kochi-gothic ttf-kochi-mincho ttf-lao ttf-malayalam-fonts ttf-mgopen ttf-thai-tlwg || true
-
-rm -f /etc/rcS.d/*pcmcia* /etc/rcS.d/*ppp*
+apt-get purge -y --auto-remove hplip hplip-data printer-driver-hpcups brltty bluez-cups gnome-accessibility-themes gnome-orca onboard thunderbird deja-dup|| true
# install packages from network sources
killall apt-get || true
-apt-get update -o Acquire::Http::No-Cache=true
+apt-get update
-DEBIAN_FRONTEND=noninteractive apt-get install -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 grep-dctrl ccache subversion listadmin quilt python-dev cryptsetup mutt editmoin lintian python-gtk2-doc fakechroot ubuntu-dev-tools dput gnome-blog
-apt-get -y build-dep postgresql-8.3 gnome-volume-manager hal cupsys apport jockey
+DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y --force-yes vim patchutils offlineimap diffstat gtimelog devhelp python3-doc manpages-dev weechat weechat-plugins weechat-scripts listadmin quilt mutt editmoin lintian ubuntu-dev-tools dput easytag texlive-lang-german texlive-latex-extra powertop qemu-kvm qemu-utils bzr-buildpackage git build-essential fakeroot devscripts libglib2.0-doc libgtk-3-doc git-buildpackage d-feet wmctrl libnotify-bin svn-buildpackage pastebinit lptools openvpn pdfjam sbuild schroot exiv2 phablet-tools gstreamer1.0-plugins-ugly flashplugin-installer valgrind calibre autopkgtest
+apt-get install lxc
-if [ `hostname` = donald ]; then
- DEBIAN_FRONTEND=noninteractive apt-get install -y --force-yes dchroot rsnapshot dhcp3-server apache2 ia32-libs easytag latex-beamer texlive-lang-german fakechroot sane-utils imagemagick
-fi
+# ccache
-umount /cdrom || true
+apt-get -y --no-install-recommends build-dep udisks2 upower systemd umockdev
-# other setup
-if [ `hostname` = "donald" ]; then
- [ -e /mirror ] || ln -s /home/ubuntu-mirror /mirror
- ln -s /mirror /var/www/mirror
- ifdown eth1
- ifup eth1
- /etc/init.d/dhcp3-server restart
- patch /usr/bin/gtimelog ~martin/archiv/gtimelog.wednesday.patch
+# have schroot use tmpfs
+rmdir /var/lib/schroot/unpack /var/lib/schroot/union/overlay/
+ln -s /tmp /var/lib/schroot/unpack
+ln -s /tmp /var/lib/schroot/union/overlay
- # crontabs
- crontab -u martin - <<EOF
+# set up users
+echo "Setting up users"
+adduser martin sbuild
+if ! getent passwd joe > /dev/null; then
+ adduser --gecos "Joe" joe
+ adduser joe audio
+ adduser joe video
+fi
+
+# crontabs
+crontab -u martin - <<EOF
# m h dom mon dow command
05 * * * * \$HOME/bin/backup >/dev/null
EOF
-fi