92d35e26ca
git-svn-id: svn://svn.compuextreme.de/Viitor/V962/Viitor_sysvinit@5223 504e572c-2e33-0410-9681-be2bf7408885
169 lines
5.3 KiB
Bash
169 lines
5.3 KiB
Bash
#!/bin/bash
|
|
#Framework, welches ein komplettes Linux System aus den Sourcen erstellt
|
|
#dieses Framework wird im CVS Repository
|
|
#:pserver:cvs.compuextreme.de:/Data/cvs zur Verfügung gestellt
|
|
#
|
|
#Lage dieser Datei im Archiv: $Source$
|
|
#
|
|
#(c) 2003 Harald Kueller, Germany
|
|
#This program is free software; you can redistribute it and/or
|
|
#modify ist under the terms of the GNU General Public License
|
|
#as published by the Free Software Foundation; either version
|
|
#2 of the License, or (at your option) any later version.
|
|
#
|
|
#This program is distributed in the hope that it will be useful,
|
|
#but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
#See the GNU General Public License for more details.
|
|
#
|
|
#You should have received a copy of the GNU General Public License
|
|
#along with this program; if not write to the Free Software Foundation,
|
|
#Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
#
|
|
#Script:
|
|
#Funkitonssammlung zur Unterstuetzung der /etc/init.d/* scripten
|
|
#
|
|
#Letzte Änderung von: $Author: segler $
|
|
#Datum der letzten Änderung: $Date: 2007-02-23 00:48:05 +0000 (Fr, 23 Feb 2007) $
|
|
#Version der Datei: $Revision: 3713 $
|
|
#
|
|
#$Log$
|
|
#Revision 1.15 2007/02/23 00:48:05 segler
|
|
#nameif vor die Konfiguration gesetzt.
|
|
#es werden Konfigfiles /etc/mactab* der Reihe nach abgearbeitet.
|
|
#Dies hat den Vorteil, dass man ggf. in /etc/mactab.1 eth1 nach eth2 wegmoven und
|
|
#eth0 mit dem ursprünglichen eth1 neu setzen kann um in /etc/mactab.2 eth2
|
|
#nach eth1 moven.
|
|
#Die Konfigfiles haben die Form:
|
|
#eth0 XX:XX:XX:XX:XX:XX # ethernet
|
|
#eth1 XX:XX:XX:XX:XX:XX # wireless
|
|
#
|
|
#Revision 1.14 2004/03/03 12:48:08 kueller
|
|
#Header auf neuen Viitor GPL Header umgestellt
|
|
#
|
|
#
|
|
#
|
|
#Revision 1.9 2002/07/07 09:18:09 hkueller
|
|
#Korrekturen in der Ablaufkontrolle (Routing Setup wird auf jedenfall durchlaufen - wichtig für das Zusammenspiel mit dhcp usw.)
|
|
#Funktionalität von /etc/sysconfig/net/notrouter mit implementiert
|
|
#
|
|
#Revision 1.8 2002/02/05 02:59:04 hkueller
|
|
#functions: getbroadcast() hinzugefuegt - gibt broadcast eines Netzes
|
|
# zurueck - Aufruf: getbroadcast <IP> <NETMASK>
|
|
# getmask erweitert - keine mask in /etc/netmasks ->
|
|
# defaultmask (Class A/B/C)
|
|
#networks: Ueberfaelliger eintrag fuer PTP entfernt
|
|
# Eintraege zur Konfiguration mit ifconfig hinzugefuegt - aber
|
|
# auskommentiert.
|
|
#
|
|
#Revision 1.7 2002/01/27 13:58:43 hkueller
|
|
#Debugging statement entfernt
|
|
#auswertung der /etc/sysconfig/net/gateways neu erstellt.
|
|
#Jetzt wird net/host/dev routing ermöglicht
|
|
#
|
|
#Revision 1.5 2001/11/17 23:41:36 kueller
|
|
#Network Setup erweitert. Netmasks werden jetzt aus /etc/netmasks erkannt.
|
|
#Konfiguration der Netmask in /etc/sysconfig/hostname.<if> nicht mehr
|
|
#notwendig!
|
|
#Korrekturen bei der netzmask erkennung unter zsh
|
|
#
|
|
#Revision 1.4 2001/11/03 18:49:26 segler
|
|
#
|
|
#Bugfix: Abfrage auf existierende hostname.* fuer mehrere Interfaces erweitert
|
|
#
|
|
#Revision 1.3 2001/09/28 22:33:16 kueller
|
|
#Korrektur der abfrage auf existierende /etc/sysconfig/hostname.* dateien.
|
|
#
|
|
#Revision 1.2 2001/09/25 11:57:23 kueller
|
|
#Fehlermeldung bei nicht forhandener /etc/sysconfig/net/hostname.* bereinigt
|
|
#
|
|
#Revision 1.1.1.1 2001/09/23 00:02:08 kueller
|
|
#Neustart wg. Datenverlust
|
|
#
|
|
#Revision 1.1.1.1 2001/08/08 10:02:32 kueller
|
|
#sysvinit addons
|
|
#
|
|
#
|
|
|
|
# Version: 0.01
|
|
# Version: 0.02 Möglichkeit der Einrichtung eines PTP Netzwerkes
|
|
# Version: 0.03 RIP Unterstütung wenn routed installiert ist
|
|
# Version: 0.04 Umstellung auf iproute Verwendung. Damit Bugfix
|
|
# der falsch gesetzten Broadcast adressen
|
|
#
|
|
|
|
source /etc/init.d/functions
|
|
|
|
#DEBUG=echo
|
|
|
|
case "$1" in
|
|
start)
|
|
for IF in `ls -d /sys/class/net/*[^lo]`; do
|
|
DEVNAME=`basename $IF`
|
|
if [ -d /sys/class/net/$DEVNAME/wireless ]; then
|
|
/sbin/wlan_setup $DEVNAME
|
|
#give wlan a chance go create link
|
|
sleep 1
|
|
fi
|
|
if [ -f /usr/sbin/ethtool ]; then
|
|
#Einige Dumme Interfaces (z.B. die VMware Emulationen) Zeiten
|
|
#den korrekten Status erst nach einem ifconfig up
|
|
ifconfig $DEVNAME up
|
|
WAITTIME=7
|
|
ZAHLER=0
|
|
if ! ethtool $DEVNAME|grep -q "No data available"; then
|
|
while [ ${ZAHLER} -le ${WAITTIME} ]; do
|
|
if [ ! `ethtool $DEVNAME|grep Link|awk '{print $3}'` == "yes" ]; then
|
|
(( ZAHLER++ ))
|
|
else
|
|
break
|
|
fi
|
|
sleep 1
|
|
done
|
|
if [ `ethtool $DEVNAME|grep Link|awk '{print $3}'` == "yes" ]; then
|
|
/sbin/if_up $DEVNAME
|
|
touch /var/run/net_up
|
|
fi
|
|
else
|
|
/sbin/if_up $DEVNAME
|
|
touch /var/run/net_up
|
|
fi
|
|
else
|
|
/sbin/if_up $DEVNAME
|
|
touch /var/run/net_up
|
|
fi
|
|
done
|
|
if [ ! -f /var/run/net_up ] && [ -f /etc/nsswitch.default ]; then
|
|
cp /etc/nsswitch.files /etc/nsswitch.conf
|
|
touch /var/state/ldap_disable
|
|
else
|
|
if [ ! -f /var/run/nsswitch_done ] && [ -f /etc/nsswitch.default ]; then
|
|
cp /etc/nsswitch.default /etc/nsswitch.conf
|
|
touch /var/state/ldap_disable
|
|
fi
|
|
if [ -f /var/run/net_up ]; then
|
|
rm /var/run/net_up
|
|
fi
|
|
if [ -f /var/run/nsswitch_done ]; then
|
|
rm /var/run/nsswitch_done
|
|
fi
|
|
fi
|
|
;;
|
|
stop)
|
|
for IF in `ls -d /sys/class/net/*[^lo]`; do
|
|
DEVNAME=`basename $IF`
|
|
/sbin/if_down $DEVNAME
|
|
done
|
|
;;
|
|
restart)
|
|
$0 stop
|
|
sleep 1
|
|
$0 start
|
|
;;
|
|
*)
|
|
echo "Usage: $0: {start|stop|restart}"
|
|
exit 1
|
|
;;
|
|
esac
|
|
#end /etc/inet.d/network
|