Fix handling of /etc/hosts
authorMichael Prokop <mika@grml.org>
Fri, 21 Nov 2008 12:17:13 +0000 (13:17 +0100)
committerMichael Prokop <mika@grml.org>
Fri, 21 Nov 2008 12:17:13 +0000 (13:17 +0100)
chroot-script
grml-debootstrap

index e5ea8a3..0e93220 100755 (executable)
@@ -249,13 +249,25 @@ passwords()
 
 # set up /etc/hosts {{{
 hosts() {
-  if ! [ -f /etc/hosts ] ; then
-     echo "Setting up /etc/hosts"
-     echo "127.0.0.1       localhost  $HOSTNAME" > /etc/hosts
-  fi
-
-  if [ -n "$HOSTNAME" ] ; then
-     sed -i "s/grml/$HOSTNAME/g" /etc/hosts
+  if [ -f /etc/hosts ] ; then
+     sed -i "s#127.0.0.1 .*#127.0.0.1       localhost  $HOSTNAME#" /etc/hosts
+     [ -n "$HOSTNAME" ] && sed -i "s/grml/$HOSTNAME/g" /etc/hosts
+  else
+     cat > /etc/hosts << EOF
+127.0.0.1       localhost $HOSTNAME
+
+#127.0.0.1       localhost
+#127.0.1.1       $HOSTNAME.example.org $HOSTNAME
+
+# The following lines are desirable for IPv6 capable hosts
+#::1     ip6-localhost ip6-loopback $HOSTNAME
+::1     ip6-localhost ip6-loopback
+fe00::0 ip6-localnet
+ff00::0 ip6-mcastprefix
+ff02::1 ip6-allnodes
+ff02::2 ip6-allrouters
+ff02::3 ip6-allhosts
+EOF
   fi
 }
 # }}}
index c90b1b0..69f2cf0 100755 (executable)
@@ -779,7 +779,6 @@ preparechroot() {
   # provide system's /etc/hosts to the target:
   if ! [ -f "$MNTPOINT/etc/hosts" ] ; then
      cp $VERBOSE /etc/hosts $MNTPOINT/etc/hosts
-     sed -i "s#127.0.0.1 .*#127.0.0.1       localhost  $HOSTNAME#" /etc/hosts
   fi
 
   # setup default locales