X-Git-Url: https://git.grml.org/?p=grml-live.git;a=blobdiff_plain;f=etc%2Fgrml%2Ffai%2Fconfig%2Fscripts%2FGRMLBASE%2F98-clean-chroot;h=d5fd8e34ad2d0b5675534e85eb6454dfaf957a85;hp=9a781b157a6aededcbd2c3f5299a85cd75bc2857;hb=1cef31a85e18484353f05dc851ed101001f9c07c;hpb=f3b335ea5c94d5cf24ec6b9184106b298849f311 diff --git a/etc/grml/fai/config/scripts/GRMLBASE/98-clean-chroot b/etc/grml/fai/config/scripts/GRMLBASE/98-clean-chroot index 9a781b1..d5fd8e3 100755 --- a/etc/grml/fai/config/scripts/GRMLBASE/98-clean-chroot +++ b/etc/grml/fai/config/scripts/GRMLBASE/98-clean-chroot @@ -24,9 +24,20 @@ else echo "Warning: localepurg not installed" fi -# find /var -name \*.pid -echo "Removing pid-files" -find $target/var/run -name \*.pid -exec rm {} \; +# revert dpkg-divert of hooks/instsoft.GRMLBASE, which is +# used to work around /etc/kernel/postinst.d/zz-update-grub failing +# inside openvz environment, see #597084 +if $ROOTCMD dpkg-divert --list | grep -q '/usr/sbin/update-grub' ; then + echo "Undoing dpkg-divert of update-grub executable" + $ROOTCMD rm -f /usr/sbin/update-grub + $ROOTCMD dpkg-divert --rename --remove /usr/sbin/update-grub +fi + +# revert udev workaround of hooks/updatebase.GRMLBASE +if grep -q 'updatebase.GRMLBASE' ${target}/etc/udev/kernel-upgrade 2>/dev/null ; then + echo "Removing /etc/udev/kernel-upgrade created by updatebase.GRMLBASE" + $ROOTCMD rm -f /etc/udev/kernel-upgrade +fi echo "Removing /var/lib/apt/lists/*-stuff, dpkg-status-old and pkgcache.bin" rm -f $target/var/lib/apt/lists/*Packages \ @@ -37,6 +48,8 @@ rm -f $target/var/lib/apt/lists/*Packages \ $target/var/cache/apt-show-versions/* \ $target/var/cache/debconf/templates.dat-old \ $target/var/cache/apt/*.bin + +echo "Cleaning apt places" $ROOTCMD apt-get check 2>/dev/null $ROOTCMD dpkg --clear-avail $ROOTCMD apt-cache gencaches 2>/dev/null @@ -66,9 +79,10 @@ fi echo "Cleaning and removing some misc files and directories" find $target/etc -type f -name *.pre_fcopy -delete -rm -rf $target/etc/sysconfig/* $target/etc/motd.dpkg-* $target/etc/auto.master.*dpkg* \ +rm -rf --one-file-system $target/etc/sysconfig/* \ + $target/etc/motd.dpkg-* $target/etc/auto.master.*dpkg* \ $target/etc/samba/*.SID $target/etc/samba/*.tdb \ - $target/var/run/ $target/var/log/ksymoops/* $target/var/lock/* \ + $target/var/log/ksymoops/* \ $target/var/state/* $target/var/log/nessus/* \ $target/halt $target/reboot $target/ash.static \ $target/etc/dhcpc/*.info $target/etc/dhcpc/resolv* \ @@ -83,7 +97,7 @@ rm -rf $target/etc/sysconfig/* $target/etc/motd.dpkg-* $target/etc/auto.master.* # remove only "temporary" or saved files in the given directories nuke(){ for i in $(find "$@" -name \*.gz -o -name \*.bz2 -o -name \*.0 2>/dev/null); do - rm -f "$i" + rm -f --one-file-system "$i" done } @@ -124,7 +138,7 @@ else $ROOTCMD ldconfig fi -if [ -x $target/usr/bin/update-menus ] ; then +if ! [ -x $target/usr/bin/update-menus ] ; then echo "Warning: update-menus not installed" else echo "Updating windowmanager menus" @@ -143,7 +157,7 @@ if ! [ -d $target/var/lib/clamav/ ] ; then echo "Warning: clamav[-freshclam] not installed" else echo "Cleaning /var/lib/clamav/" - rm -f $target/var/lib/clamav/clamav-* + $ROOTCMD rm -rf /var/lib/clamav/clamav-* echo "Setting up daily.cvd and main.cvd symlinks" if [ -f $target/var/lib/clamav/daily.cvd ] ; then