#!/bin/sh -e
# Filename: debnet
-# Purpose: scan for Debian-style network configs and enables it on the system
+# Purpose: scan for Debian-style network configs and enable it on the system
# Authors: grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
# Bug-Reports: see http://grml.org/bugs/
-# License: This file is licensed under the GPL v2.
+# License: This file is licensed under GPL v2+.
################################################################################
. /etc/grml/lsb-functions
exit 0
fi
-DEVICES="$(< /proc/partitions tail -n +3 | awk '{print "/dev/"$4}' | tr "\n" " ")"
+DEVICES="$(< /proc/partitions tail -n +3 | awk '($4 !~ /loop[0-9]+/) {print "/dev/"$4}' | tr "\n" " ")"
DEVICES="$DEVICES $(ls /dev/mapper/*)"
FOUND_DEBNET=""
eindent
if ! mount | grep '/mnt ' >/dev/null 2>&1 ; then
- for i in $DEVICES; do
- if mount -o ro -t auto "$i" /mnt >/dev/null 2>&1; then
- einfo "Scanning on $i"
- if [ -f /mnt/etc/network/interfaces ]; then
- einfo "/etc/network/interfaces found on ${i}" ; eend 0
- FOUND_DEBNET="$i"
- break
- fi
- umount /mnt
- fi
- done
+ for i in $DEVICES; do
+ if mount -o ro -t auto "$i" /mnt >/dev/null 2>&1; then
+ einfo "Scanning on $i"
+ if [ -f /mnt/etc/network/interfaces ]; then
+ einfo "/etc/network/interfaces found on ${i}" ; eend 0
+ FOUND_DEBNET="$i"
+ break
+ fi
+ umount /mnt
+ fi
+ done
if [ -n "$FOUND_DEBNET" ]; then
einfo "Stopping network."
- pump -k >/dev/null 2>&1
/etc/init.d/networking stop >/dev/null 2>&1 ; eend $?
einfo "Copying Debian network configuration from $FOUND_DEBNET to running system."
rm -rf /etc/network/run
einfo "Starting network."
invoke-rc.d networking start ; eend $?
else
- eerror "/etc/network/interfaces not found." ; eend 1
+ eerror "/etc/network/interfaces not found on external partitions." ; eend 1
fi
eoutdent
else