Unconditionally reset resolv.conf in chroot
[grml-live.git] / etc / grml / fai / config / scripts / GRMLBASE / 98-clean-chroot
index 6357c78..d36013c 100755 (executable)
@@ -17,6 +17,8 @@ fi
 echo "Creating ~/.zshrc"
 touch $target/root/.zshrc
 
+$ROOTCMD rm -f /etc/apt/apt.conf.d/90grml-apt-proxy.conf
+
 if [ -x $target/usr/sbin/localepurge ] ; then
   echo "Running localepurge"
   $ROOTCMD localepurge
@@ -72,6 +74,9 @@ fi
 echo "Removing host ssh-keys"
 rm -f $target/etc/ssh/*key*
 
+echo "Removing dbus machine-id"
+rm -f $target/var/lib/dbus/machine-id
+
 if [ -d $target/var/spool/squid/ ] ; then
   echo "Cleaning /var/spool/squid/0*"
   rm -rf $target/var/spool/squid/0*
@@ -79,6 +84,7 @@ fi
 
 echo "Cleaning and removing some misc files and directories"
 find $target/etc -type f -name *.pre_fcopy -delete
+find $target/etc -type l -name *.pre_fcopy -delete
 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 \
@@ -103,7 +109,7 @@ nuke(){
 
 # set all files in the given directories to a length of zero
 zero(){
-  for i in $(find "$@" -type f -size +0 -not -name \*.ini 2>/dev/null); do
+  for i in $(find "$@" -type f -size +0 -not -name \*.ini -not -path '*/fai/*' -not -name install_packages.list 2>/dev/null); do
     :> "$i"
   done
 }
@@ -182,23 +188,21 @@ if ! [ -d $target/etc/resolvconf ] ; then
   echo "Warning: resolvconf not installed"
 else
   echo "Setting up resolvconf"
-  if [ -L $target/etc/resolvconf/run ] ; then # resolvconf with /run
-    # /etc/resolvconf/run symlinks to /run/resolvconf
-    RESOLV_CONF=/run/resolvconf/
-  else # no /run present
-    RESOLV_CONF=/etc/resolvconf/run/
-  fi
+  if [ ! -L $target/etc/resolvconf/run ] ; then # resolvconf without symlink?!
+    RESOLV_CONF=/etc/resolvconf/run
+    rm -rf   ${target}/${RESOLV_CONF}
+    mkdir -p ${target}/${RESOLV_CONF}
 
-  rm -rf   ${target}/${RESOLV_CONF}
-  mkdir -p ${target}/${RESOLV_CONF}
+    touch ${target}/${RESOLV_CONF}/enable-updates
+    mkdir ${target}/${RESOLV_CONF}/interface
 
-  touch ${target}/${RESOLV_CONF}/enable-updates
-  mkdir ${target}/${RESOLV_CONF}/interface
-
-  cat > ${target}/${RESOLV_CONF}/resolv.conf << EOF
+    cat > ${target}/${RESOLV_CONF}/resolv.conf << EOF
 # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
 #     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
 EOF
+  fi
+  rm -f ${target}/etc/resolv.conf
+  $ROOTCMD ln -s /etc/resolvconf/run/resolv.conf /etc/resolv.conf
 fi
 
 if ! $ROOTCMD test -x /usr/bin/updatedb ; then