X-Git-Url: https://piware.de/gitweb/?p=bin.git;a=blobdiff_plain;f=postinst-setup;h=a2afae01a8842ad24ceade844e398ca6fb74f6f8;hp=ec33a203c58b29a93cc130aadab4fee6d94598b9;hb=69789764b97df9fdb76f6f29c491c1ac2083e552;hpb=74fe8f3adf4f1b0cbd585244cd839134eb0842ae diff --git a/postinst-setup b/postinst-setup index ec33a20..a2afae0 100755 --- a/postinst-setup +++ b/postinst-setup @@ -1,88 +1,84 @@ #!/bin/sh -e -# install already shipped debs -[ -e /mirror ] || ln -s /home/ubuntu-mirror /mirror -mount -o loop /home/martin/download/ubuntu/feisty-alternate-amd64.iso /cdrom -apt-cdrom -m add -DEBIAN_FRONTEND=noninteractive apt-get -y install build-essential fakeroot devscripts mutt postfix openssh-server - -dpkg -i ~martin/download/afio*.deb || exit 1 - -# configuration files -mkdir -p /var/backups/pibackup/ -[ -e /home/full*.cpio ] && mv /home/full*.cpio /var/backups/pibackup/ || true - -CURBACKUP=`ls -t /var/backups/pibackup/full* | head -n 1` -[ -e "$CURBACKUP" ] || { - echo no current full backup in /var/backups/pibackup - exit 1 -} -cd / -afio -iZ -y '/etc/*' -Y /etc/passwd -Y /etc/group -Y /etc/shadow -Y /etc/fstab $CURBACKUP - -# only restore dchroot part into fstab -cd /tmp -afio -iZ -y /etc/fstab $CURBACKUP -grep -A 200 "^# dchroots" /tmp/etc/fstab >> /etc/fstab -rm -rf /tmp/etc +# 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 -newaliases -/etc/init.d/postfix restart +# need bzr and postfix for the setup below +DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends postfix openssh-server bzr python-paramiko -# install users -cat <> /etc/passwd -joe:x:1001:1001:Joe User,,,:/home/joe:/bin/bash -netti:x:1002:1002:Annett Kittel,,,:/home/netti:/bin/bash -EOF -cat <> /etc/shadow -joe:$1$7t1pZTyL$lI7.B/9DtPa6y2BD8wTNZ/:13060:0:99999:7::: -netti:$1$5uq6X7u0$92yOfMH2Nh89Ui.hbaEDp/:12930:0:99999:7::: -EOF -cat <> /etc/group -joe:x:1001: -netti:x:1002: -EOF +# 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_rsa* /home/martin/.ssh/known_hosts /home/martin/.ssh/config /root/.ssh/ +fi -for g in cdrom audio video plugdev scanner; do - for u in joe netti; do - adduser $u $g +# 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 + [ -e /backup-etc ] || bzr get 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 + chmod 640 /etc/shadow + chown root:shadow /etc/shadow + chmod 700 /etc/ssl/private + chmod 640 /etc/ssl/private/ssl-cert-* + chown root:ssl-cert /etc/ssl/private/ssl-cert* + + # only restore dchroot part into fstab + grep -A 200 "^#.*chroot" 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 -done - -# root's ssh stuff -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/ -# copy apt cache -if [ -d /home/aptcache ]; then - find /home/aptcache/ -name "*.deb" -exec cp '{}' /var/cache/apt/archives/ \; + # only restore some passwords from shadow + egrep 'martin|netti|joe' shadow >> shadow.originst + mv shadow.originst shadow + chown root:shadow shadow + chmod 640 shadow fi +# update postfix for new configuration +newaliases +/etc/init.d/postfix restart + # other setup dpkg -i /home/martin/download/libdvdcss2_*deb || true locale-gen ru_RU ru_RU.UTF-8 -# cronjob goo -killall apt-get - # remove packages that we do not need -apt-get remove --purge -y --auto-remove network-manager hplip brltty bluez-cups gnome-accessibility-themes gnome-mag gnome-orca onboard tomboy ttf-arabeyes ttf-arphic-ukai ttf-arphic-uming ttf-baekmuk ttf-gentium ttf-indic-fonts ttf-kochi-gothic ttf-kochi-mincho ttf-lao ttf-malayalam-fonts ttf-mgopen ttf-thai-tlwg - -rm /etc/rcS.d/*pcmcia* /etc/rcS.d/*ppp* +killall apt-get || true # cronjob goo +apt-get purge -y --auto-remove hplip hplip-data hpijs brltty bluez-cups gnome-accessibility-themes gnome-mag gnome-orca onboard tomboy ttf-lao ttf-thai-tlwg || true -# restore our network -ifdown eth0 || true -ifup eth0 +rm -f /etc/rcS.d/*pcmcia* /etc/rcS.d/*ppp* # install packages from network sources -apt-get update -o Acquire::Http::No-Cache=true +killall apt-get || true +apt-get update -DEBIAN_FRONTEND=noninteractive apt-get install -y --force-yes vim bzr bzrtools python-paramiko patchutils offlineimap wipe gnome-gpg diffstat dchroot gtimelog pibackup jigdo-file libtool devhelp python-doc perl-doc manpages-dev gstreamer0.10-plugins-ugly gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly-multiverse gstreamer0.10-ffmpeg xchat debmirror dpatch wdiff dhcp3-server grep-dctrl ccache subversion listadmin ia32-libs quilt apache2 python-dev cryptsetup -apt-get -y build-dep postgresql-8.1 gnome-volume-manager hal pmount cupsys +DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y --force-yes vim bzrtools patchutils offlineimap wipe diffstat gtimelog libtool devhelp python-doc manpages-dev gstreamer0.10-fluendo-mp3 gstreamer0.10-ffmpeg weechat weechat-plugins weechat-scripts dpatch wdiff ccache listadmin quilt cryptsetup mutt editmoin lintian fakechroot ubuntu-dev-tools dput dchroot easytag rsnapshot texlive-lang-german texlive-latex-extra powertop qemu-kvm bzr-buildpackage git-core build-essential fakeroot devscripts libglib2.0-doc libgtk-3-doc git-buildpackage d-feet germinate debootstrap seahorse-plugins wmctrl mumble qemu-kvm flashplugin-installer -# other setup -ln -s /mirror /var/www/mirror -ifdown eth1 -ifup eth1 -/etc/init.d/dhcp3-server restart +apt-get -y build-dep postgresql-8.4 cups apport calibre gvfs udisks upower gnome-disk-utility udev python-gobject + +# crontabs +crontab -u martin - </dev/null +EOF + +if [ -x /usr/bin/gtimelog ]; then + patch --no-backup-if-mismatch /usr/share/pyshared/gtimelog/main.py ~martin/archiv/gtimelog.tuesday.patch +fi