X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=sbin%2Fdebnet;fp=sbin%2Fdebnet;h=36376f9d9ed887e17c9d5110afc56fa2d5efb769;hb=b11f6b3f4f7954e997a3013ee3382cd2db4ee457;hp=0000000000000000000000000000000000000000;hpb=74f6b32d8d3c665b5506372ee3ffe31d585841f7;p=grml-network.git diff --git a/sbin/debnet b/sbin/debnet new file mode 100755 index 0000000..36376f9 --- /dev/null +++ b/sbin/debnet @@ -0,0 +1,57 @@ +#!/bin/sh -e +# Filename: debnet +# Purpose: scan for Debian-style network configs and enables it on the system +# Authors: grml-team (grml.org), (c) Michael Prokop +# Bug-Reports: see http://grml.org/bugs/ +# License: This file is licensed under the GPL v2. +################################################################################ + +. /etc/grml/lsb-functions + +if [ "$1" = "-h" -o "$1" = "--help" ] ; then + echo "Usage: debnet" + echo "Looks for /etc/network/interfaces on all volumes and uses it to" + echo "configure the running system." + echo "WARNING: The networking subsystem will be restarted." + exit 0 +fi + +DEVICES="$(< /proc/partitions tail -n +3 | awk '{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 + + 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 + cp -a /mnt/etc/network /etc + rm -rf /etc/network/run + mkdir /etc/network/run + umount /mnt ; eend $? + einfo "Starting network." + invoke-rc.d networking start ; eend $? + else + eerror "/etc/network/interfaces not found." ; eend 1 + fi + eoutdent +else + eerror "Error: /mnt already mounted." ; eend 1 +fi + +# EOF