commit 7592e5a845de7caf92c3206ab815fa5df1bb7ba6 Author: kueller Date: Sat May 3 16:59:16 2008 +0000 V961 Tree Umbau git-svn-id: svn://svn.compuextreme.de/Viitor/V961/Viitor_sysvinit@4323 504e572c-2e33-0410-9681-be2bf7408885 diff --git a/etc/init.d/checkfs b/etc/init.d/checkfs new file mode 100644 index 0000000..a708214 --- /dev/null +++ b/etc/init.d/checkfs @@ -0,0 +1,156 @@ +#!/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. +# +#InitScript zum Start des Daemons: +#Start/Stop Script checkfs +#FileSystem Checks initiieren +#Basierend auf einer Vorlage von linuxfromscratch.org +# +#Letzte Änderung von: $Author$ +#Datum der letzten Änderung: $Date$ +#Version der Datei: $Revision$ +# +#$Log$ +#Revision 1.8 2004/03/03 12:48:07 kueller +#Header auf neuen Viitor GPL Header umgestellt +# +# +#Revision 1.7 2003/10/27 12:03:11 kueller +#volume Aktivierung mit entsprechender Bootmeldung versehen, und in +#Abfrage auf LVM Binarys eingepackt. +# +#Revision 1.6 2003/10/26 11:33:39 kueller +#Config-Schnittstelle hat sich geaendert. Volume Groups koennen nicht mehr +#Ueber ein File erfragt werden, sondern ueber vgdisplay. +# +#Revision 1.5 2003/07/15 06:40:51 kueller +#Prüfen der vorhandenen Volumes über /etc/sysconfig/lvmtab nicht möglich, da hier +#die Volumes ohne Trennzeichen stehen. Dies laesst die for schleife nicht funktionieren, +#sobald mehr als ein Volume im System vorhanden ist. +#Volumes stehen aber als Datei nocheinamal unter /etc/sysconfig/lvmtab.d. Eine Auswertung +#auf diese Dateien funktioniert auch bei mehreren Volumes. +# +#Revision 1.4 2002/10/15 17:34:25 kueller +#Korrekturen beim Variablenhandling. Bei IF Abfragen sollten Variablen in +#Anfuehrungszeichen stehen +# +#Revision 1.3 2002/10/10 08:12:19 kueller +#Aktivierung der volumes in mountfs macht probleme beim fsck, zu +#zum Zeitpunkt des fsck laufes die Volumes noch nicht bekannt sind. +#Zum Aktivieren der Volumes ist mindestens das vonhandensein von /proc +#notwendig. Daher werden die "none" Filesysteme (tmpfs, procfs, ptsfs, usbfs) +#nun bereits in checkfs angemeldet. Ausserdem werden die Volumes vor dem +#start von fsck aktiviert. Dies sollte speziell probleme mit ext2 und ext3 +#Filesystemen beheben. +# +#Revision 1.2 2002/09/22 14:54:41 hkueller +#Aktivierung des Swap Bereichs erfolgt nun nach der Aktivierung der Volumes. +#Damit darf auf eine Volume als Swap verwendung finden +# +#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 +# +# + +# Begin /etc/init.d/checkfs + +source /etc/init.d/functions + +echo "Changing state of rootfs to rw" +/bin/mount -n -o remount,rw / +evaluate_retval +echo >/etc/mtab +/bin/mount -f -o remount,rw / + +for i in `sed -e "/^#/d" /etc/fstab|awk '{print $2}'`; do + MOUNTPOINT=$i + DEVICE=`awk '{if( $2 == "'$MOUNTPOINT'") print $1}' /etc/fstab` + if [ "$DEVICE" == "none" ]; then + echo -n "Mounting $MOUNTPOINT" + mount $MOUNTPOINT + evaluate_retval + fi +done + +if [ -f /sbin/vgscan ]; then + echo -n "Scanning Volumes" + /sbin/vgscan >/dev/null 2>&1 + evaluate_retval + for i in `vgdisplay|grep "VG Name"|awk '{print $3}'`; do + echo -n "Activating Volume $i" + vgchange -a y $i + evaluate_retval + done +fi + +if [ -f /fastboot ] +then + echo "Fast boot, no file system check" +else + echo "Changing state of rootfs to ro" + /bin/mount -n -o remount,ro / + evaluate_retval + if [ $? = 0 ] + then + if [ -f /forcefsck ] + then + echo -n "/forcefsck exists, forcing " + echo "file system check" + force="-f" + else + force="" + fi + + echo "Checking file systems..." + /sbin/fsck $force -a -A -C -T + + if [ $? -gt 1 ] + then + $FAILURE + echo + echo -n "fsck failed. Please repair your file " + echo "systems manually by running /sbin/fsck" + echo "without the -a option" + echo + echo -n "Please note that the root file system " + echo "is currently mounted in read-only mode." + echo + echo -n "I will start sulogin now. When you " + echo "logout I will reboot your system." + echo + $NORMAL + /sbin/sulogin + /sbin/reboot -f + else + print_status success + fi + + else + echo -n "Cannot check root file system because it " + echo "could not be mounted in read-only mode." + fi +fi + +# End /etc/init.d/checkfs diff --git a/etc/init.d/functions b/etc/init.d/functions new file mode 100644 index 0000000..5d7d3c3 --- /dev/null +++ b/etc/init.d/functions @@ -0,0 +1,396 @@ +#!/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. +# +#InitScript zum Start des Daemons: +#Funktionen für die init scripten +#Dieses Script basiert auf der Vorlage des Linuxfromscratch Projetes +# +#Letzte Änderung von: $Author$ +#Datum der letzten Änderung: $Date$ +#Version der Datei: $Revision$ +# +#$Log$ +#Revision 1.12 2004/03/03 12:48:07 kueller +#Header auf neuen Viitor GPL Header umgestellt +# +# +#Revision 1.11 2002/09/30 20:32:22 kueller +#Korrektur der Funktion getmasks - bei nichtvorhandener /etc/netmasks +#bricht die Funktion mit einem [] Fehler ab. Variable FOUND wurde +#in diesem Fall nicht gesetzt. Fehler behoben +# +#Revision 1.10 2002/09/23 20:22:09 hkueller +#Anpassung der Funktionen an BASH - dazu musste jedes typeset kommando +#entfernt werden, da bash keine zahlenumrechnung kann. Durch Neue Funktion +#GetShortMask problem mit short mask angabe bei ip kommando ohne verwendung +#von umrechnungsfunktionen gelöst. +# +#Revision 1.9 2002/09/11 18:16:05 hkueller +#Korrekturen bei der netzmask erkennung unter zsh +# +#Revision 1.8 2002/08/09 07:00:00 hkueller +#getmask vereinfacht und beschleunigt +# +#Revision 1.6 2002/05/05 14:40:08 hkueller +#mit neuem Release wandert basename von /usr/bin nach /bin. functions +#entsprechend angepasst +# +#Revision 1.5 2002/02/05 02:59:04 hkueller +#functions: getbroadcast() hinzugefuegt - gibt broadcast eines Netzes +# zurueck - Aufruf: getbroadcast +# 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.4 2001/11/18 21:25:52 kueller +#Korrektur der Aufräumfunktion (sed Regulare Expression) für /etc/netmasks +#(getmask funktion) +# +#Revision 1.3 2001/11/17 23:41:35 kueller +#Network Setup erweitert. Netmasks werden jetzt aus /etc/netmasks erkannt. +#Konfiguration der Netmask in /etc/sysconfig/hostname. nicht mehr +#notwendig! +# +#Revision 1.2 2001/11/17 22:20:33 kueller +#Funktionen dectohex und dectobin zur Umrechnung von dezimalen IP Adressen in +#Binäre bzw. Dezimale Darstellung hinzugefügt. +#Achtung: Diese Funktione funktionieren nur in Verbindung mit der zsh oder +#eine ksh - nicht mit sh oder bash!!!! +# +#Revision 1.1.1.1 2001/09/23 00:02:08 kueller +#Neustart wg. Datenverlust +# +#Revision 1.2 2001/08/25 10:14:28 kueller +# +#Optische Retusche der READY und FAILED Meldungen +# +#Revision 1.1.1.1 2001/08/08 10:02:32 kueller +#sysvinit addons +# +# + +COL=70 +SET_COL="/bin/echo -en \\033[${COL}G" +NORMAL="/bin/echo -en \\033[0;39m" +SUCCESS="/bin/echo -en \\033[1;42m" +FAILURE="/bin/echo -en \\033[1;41m" + +evaluate_retval() +{ + if [ $? = 0 ] + then + print_status success + else + print_status failure + fi +} + +print_status() +{ + if [ $# = 0 ] + then + echo "Usage: print_status {success|failure}" + exit 1 + fi + + case "$1" in + success) + $SET_COL + $SUCCESS + echo -n " READY " + $NORMAL + echo "" + ;; + failure) + $SET_COL + $FAILURE + echo -n " FAILED " + $NORMAL + echo "" + ;; + esac + +} + +loadproc() +{ + + if [ $# = 0 ] + then + echo "Usage: loadproc {program}" + exit 1 + fi + + base=`/bin/basename $1` + + pidlist=`/bin/pidof -o $$ -o $PPID -o %PPID -x $base` + + pid="" + + for apid in $pidlist + do + if [ -d /proc/$apid ] + then + pid="$pid $apid" + fi + done + + if [ ! -n "$pid" ] + then + $* + evaluate_retval + else + print_status failure + fi + +} + +killproc() +{ + + if [ $# = 0 ] + then + echo "Usage: killproc {program} [signal]" + exit 1 + fi + + base=`/bin/basename $1` + + if [ "$2" != "" ] + then + killlevel=$2 + else + nolevel=1 + fi + + pidlist=`/bin/pidof -o $$ -o $PPID -o %PPID -x $base` + + pid="" + + for apid in $pidlist + + do + if [ -d /proc/$apid ] + then + pid="$pid $apid" + fi + done + + if [ -n "$pid" ] + then + if [ "$nolevel" = 1 ] + then + /bin/kill -TERM $pid + if ps h $pid >/dev/null 2>&1 + then + /bin/kill -KILL $pid + fi + /bin/ps h $pid >/dev/null 2>&1 + if [ $? = 0 ] + then + print_status failure + else + /bin/rm -f /var/run/$base.pid + print_status success + fi + else + /bin/kill $killlevel $pid + /bin/ps h $pid >/dev/null 2>&1 + if [ $? = 0 ] + then + print_status failure + else + /bin/rm -f /var/run/$base.pid + print_status success + fi + fi + else + print_status failure + fi +} + +reloadproc() +{ + if [ $# = 0 ] + then + echo "Usage: reloadproc {program} [signal]" + exit 1 + fi + + base=`/bin/basename $1` + + if [ -n "$2" ] + then + killlevel=-$2 + else + nolevel=1 + fi + + pidlist=`/bin/pidof -o $$ -o $PPID -o %PPID -x $base` + + pid="" + + for apid in $pidlist + do + if [ -d /proc/$apid ] + then + pid="$pid $apid" + fi + done + + if [ -n "$pid" ] + then + if [ "$nolevel" = 1 ] + then + /bin/kill -SIGHUP $pid + evaluate_retval + else + /bin/kill -$killlevel $pid + evaluate_retval + fi + else + print_status failure + fi +} + +statusproc() + +{ + if [ $# = 0 ] + then + echo "Usage: status {program}" + return 1 + fi + + pid=`/bin/pidof -o $$ -o $PPID -o %PPID -x $1` + if [ -n "$pid" ] + then + echo "$1 running with Process ID $pid" + return 0 + fi + + if [ -f /var/run/$1.pid ] + then + pid=`/usr/bin/head -1 /var/run/$1.pid` + if [ -n "$pid" ] + then + echo "$1 not running but /var/run/$1.pid exists" + return 1 + fi + else + echo "$i is not running" + fi + +} + +getbroadcast() { + IP=$1 + MASK=$2 + for i in 1 2 3 4; do + IP[$i]=`echo $IP|awk -F. '{print $'$i'}'` + MASK[$i]=`echo $MASK|awk -F. '{print $'$i'}'` + (( BCAST[$i] = ${IP[$i]} | (( ${MASK[$i]} ^ 255 )) )) + done + echo ${BCAST[1]}.${BCAST[2]}.${BCAST[3]}.${BCAST[4]} +} + +getnetaddr() { + IP=$1 + MASK=$2 + for i in 1 2 3 4; do + IPS=`echo $IP|awk -F. '{print $'$i'}'` + MASKS=`echo $MASK|awk -F. '{print $'$i'}'` + (( BCASTS = $IPS & $MASKS )) + if [ "$i" = "4" ]; then + printf "$BCASTS" + else + printf "$BCASTS." + fi + done + echo +} + +getmask() { + IP=$1 + FOUND=0 + if [ -f /etc/netmasks ]; then + sed -e "/^#/d" /etc/netmasks |\ + sed -e "/^ *$/d" >/tmp/if + while read NETADDR NETMASK; do + NETIP=`getnetaddr $IP $NETMASK` + if [ "$NETADDR" = "$NETIP" ]; then + echo $NETMASK + FOUND=1 + break + fi + done +# 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. 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 + 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 + 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 diff --git a/etc/init.d/install b/etc/init.d/install new file mode 100644 index 0000000..56ff7b2 --- /dev/null +++ b/etc/init.d/install @@ -0,0 +1,138 @@ +#!/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. +# +#InitScript zum Start des Daemons: +#install des systemvinit prozesses +#Abschluss des Installation Prozesses +# +#Letzte Änderung von: $Author$ +#Datum der letzten Änderung: $Date$ +#Version der Datei: $Revision$ +# +#$Log$ +#Revision 1.13 2007/01/24 16:09:55 segler +#There is no /dev/cdroms/* without devfs any more... +#Hopefully some /dev/cdr* devices like /dev/cdrom or /dev/cdrw +# +#Revision 1.12 2004/03/03 12:48:08 kueller +#Header auf neuen Viitor GPL Header umgestellt +# +# +#Revision 1.11 2003/04/19 08:05:46 kueller +#Soweit nicht vorhanden, erweiterung um restart option. Ansonsten anpassung +#an aktuellen Umfang von functions. reload und status funktioniert hier unter +#viitor nicht! +# +#Revision 1.10 2003/04/06 19:45:47 kueller +#FOUNDCD Variable muss natürlich vor continiue anweisung gesetzt werden. +# +#Revision 1.9 2003/04/06 19:43:58 kueller +#FOUNDCD Variable wird nun vor jedem notwendigen CDWechel richtig initialisiert. +# +#Revision 1.8 2003/04/06 18:19:59 kueller +#Korrectur der cdromabfragen. Korrektur der afterinstall routine +# +#Revision 1.7 2003/04/06 12:40:46 kueller +#Anpassung an neue Option "-d" des installpkg kommandos. Hier werden +#alle Postinstall scripten nicht ausgeführt, sondern nach +#/tmp/afterinstall/pkgname.postinstall kopiert. +#install führt diese Scripten nun nach fertigstellung des kopiervorgangs aus. +# +#Revision 1.6 2003/04/06 12:10:08 kueller +#Mehere CDROM Laufwerke werden nun erkannt. Wenn eine Passende CD in einem +#der vorhandenen CDROM Laufwerke liegt, wird diese Automatisch erkannt und +#verwendet +# +#Revision 1.5 2003/01/16 07:40:10 kueller +#Nach Abschluss der Installation wird die LD Configuration nun mittels +#ldconfig aktualisiert. +# +#Revision 1.4 2003/01/06 20:33:23 kueller +#Meldung "....press some key" in "...press ENTER" Geändert +# +#Revision 1.3 2002/10/04 08:00:34 kueller +#Routine Eingefügt, die Überprüft, ob die richtige CD Eingelegt wurde +# +#Revision 1.2 2002/06/12 10:38:07 hkueller +#Diverse Korrekturen ($ bei Variablennamen vergessen, falscher Dateidescriptor +#bei read (<$3 statt <&3) etc. +# +#Revision 1.1 2002/06/12 09:46:23 hkueller +#Post Install Script - sorgt dafür das Packete die in /var/install/pkg_to_do +#gelistet sind nach einem Reboot installiert werden. (Stage 2 des Monsum +#installation vorgangs) +# +# + +source /etc/init.d/functions + +case "$1" in + start) + if [ -f /var/install/pkg_to_do ]; then + exec 3/dev/null 2>&1 + while [ ! -d /mnt/$INSTCD ]; do + for i in /dev/cdr*; do + mount -o ro $i /mnt >/dev/null 2>&1 + if [ -d /mnt/$INSTCD ]; then + FOUNDCD=1 + continue + else + FOUNDCD=0 + umount /mnt >/dev/null 2>&1 + fi + done + if [ "$FOUNDCD" == "0" ]; then + echo -n "CD not found - Please insert $INSTCD in any CDROM and press ENTER" + read + fi + done + AKTCD=$INSTCD + fi + installpkg -di /mnt/$INSTPKG + read <&3 INSTCD INSTPKG + done + exec 3>&- + rm /var/install/pkg_to_do + umount /mnt + if [ -d /tmp/afterinstall ]; then + for i in /tmp/afterinstall/*; do + source $i / + cd - >/dev/null + rm $i + done + rm -r /tmp/afterinstall + fi + ldconfig + fi + ;; + *) + echo "Usage: $0 {start}" + exit 1 + ;; + +esac diff --git a/etc/init.d/loadkeys b/etc/init.d/loadkeys new file mode 100644 index 0000000..3ab7093 --- /dev/null +++ b/etc/init.d/loadkeys @@ -0,0 +1,64 @@ +#!/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. +# +#InitScript zum Start des Daemons: +#loadkeys script des sysvinit Prozesses +#Basierend auf einer Vorlage von Linuxfromscratch.org +# +#Letzte Änderung von: $Author$ +#Datum der letzten Änderung: $Date$ +#Version der Datei: $Revision$ +# +#$Log$ +#Revision 1.3 2006/07/18 21:04:31 kueller +#Unwillige scancodes koennen jetzt haendisch per /etc/sysconfig/kdb/setkeys +#dem kernel beigebracht werden. +# +#Revision 1.2 2004/03/03 12:48:08 kueller +#Header auf neuen Viitor GPL Header umgestellt +# +# +#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 +# +# + +# Begin /etc/init.d/loadkeys + +source /etc/init.d/functions +if [ -f /etc/sysconfig/kbd/setkeys ]; then + echo -n "Loading Special kbd mappings" + exec 3&- +echo -n "Loading keymap..." +/bin/loadkeys -d >/dev/null +evaluate_retval + +# End /etc/init.d/loadkeys diff --git a/etc/init.d/loadmodules b/etc/init.d/loadmodules new file mode 100644 index 0000000..430c5bc --- /dev/null +++ b/etc/init.d/loadmodules @@ -0,0 +1,99 @@ +#!/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. +# +#InitScript zum Start des Daemons: +# Dieses Script läd beim Systemstart manuell zu konfigurierende +# Kernel Module. Diese Module werden als Parameter des modprobe +# kommandos in die Datei /etc/sysconfig/loadmods eingetragen. +# +#Letzte Änderung von: $Author$ +#Datum der letzten Änderung: $Date$ +#Version der Datei: $Revision$ +# +#$Log$ +#Revision 1.4 2004/03/03 12:48:08 kueller +#Header auf neuen Viitor GPL Header umgestellt +# +# +# 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 +# +# + +source /etc/init.d/functions + +case "$1" in + start) + if [ -f /etc/sysconfig/loadmods ]; then + sed -e "/^#/d" /etc/sysconfig/loadmods | + sed -e "/^ *$/d" >/tmp/loadmods + exec 3&- + rm /tmp/loadmods + fi + ;; + stop) + if [ -f /etc/sysconfig/loadmods ]; then + Z=0 + while [ "$Z" "<" "9" ]; do + exec 3/dev/null + if [ "$?" == "0" ]; then + print_status success + else + if [ "$Z" == "8" ]; then + print_status failure + else + echo "failed" + fi + fi + read <&3 MODNAME INFO + done + (( Z = $Z + 1 )) + exec 3>&- + done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "Usage: $0: {start|stop|restart}" + exit 1 + ;; +esac +#end /etc/inet.d/network diff --git a/etc/init.d/localnet b/etc/init.d/localnet new file mode 100644 index 0000000..635772a --- /dev/null +++ b/etc/init.d/localnet @@ -0,0 +1,78 @@ +#!/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. +# +#InitScript zum Start des Daemons: +#loaclnet script des sysvinit Prozesses +#Konfigurieren der localhost umgebung +#Basierend auf einer Vorlage von linuxfromscratch.org +# +#Letzte Änderung von: $Author$ +#Datum der letzten Änderung: $Date$ +#Version der Datei: $Revision$ +# +#$Log$ +#Revision 1.3 2004/03/03 12:48:08 kueller +#Header auf neuen Viitor GPL Header umgestellt +# +# +#Revision 1.2 2003/04/19 08:05:46 kueller +#Soweit nicht vorhanden, erweiterung um restart option. Ansonsten anpassung +#an aktuellen Umfang von functions. reload und status funktioniert hier unter +#viitor nicht! +# +#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 +# +# + +source /etc/init.d/functions + +case "$1" in + start) + echo -n "Bringing up the loopback interface..." + /sbin/ifconfig lo 127.0.0.1 + evaluate_retval + if [ -f /etc/sysconfig/nodename ]; then + echo -n "Setting up hostname..." + /bin/hostname `cat /etc/sysconfig/nodename` + evaluate_retval + fi + ;; + stop) + echo -n "Bringing down the loopback interface..." + /sbin/ifconfig lo down + evaluate_retval + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "Usage $0: {start|stop|restart}" + exit 1 + ;; +esac +#End /etc/init.d/localnet diff --git a/etc/init.d/maccfg b/etc/init.d/maccfg new file mode 100644 index 0000000..c3ad222 --- /dev/null +++ b/etc/init.d/maccfg @@ -0,0 +1,119 @@ +#!/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 +# 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. 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) + if ls /etc/mactab* >/dev/null 2>/dev/null ; then + for maccfg in /etc/mactab*; do + nameif -c $maccfg >/dev/null + done + fi + ;; + stop) + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "Usage: $0: {start|stop|restart}" + exit 1 + ;; +esac +#end /etc/inet.d/network diff --git a/etc/init.d/mountfs b/etc/init.d/mountfs new file mode 100644 index 0000000..2d86ecf --- /dev/null +++ b/etc/init.d/mountfs @@ -0,0 +1,108 @@ +#!/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. +# +#InitScript zum Start des Daemons: +#mountfs Script des sysvinit Prozesses +#Basierend auf einer Vorlage von linuxfromscratch.org +# +#Letzte Änderung von: $Author$ +#Datum der letzten Änderung: $Date$ +#Version der Datei: $Revision$ +# +#$Log$ +#Revision 1.8 2004/03/03 12:48:08 kueller +#Header auf neuen Viitor GPL Header umgestellt +# +# +#Revision 1.7 2002/10/15 17:34:25 kueller +#Korrekturen beim Variablenhandling. Bei IF Abfragen sollten Variablen in +#Anfuehrungszeichen stehen +# +#Revision 1.6 2002/10/10 08:12:19 kueller +#Aktivierung der volumes in mountfs macht probleme beim fsck, zu +#zum Zeitpunkt des fsck laufes die Volumes noch nicht bekannt sind. +#Zum Aktivieren der Volumes ist mindestens das vonhandensein von /proc +#notwendig. Daher werden die "none" Filesysteme (tmpfs, procfs, ptsfs, usbfs) +#nun bereits in checkfs angemeldet. Ausserdem werden die Volumes vor dem +#start von fsck aktiviert. Dies sollte speziell probleme mit ext2 und ext3 +#Filesystemen beheben. +# +#Revision 1.5 2002/09/22 14:54:41 hkueller +#Aktivierung des Swap Bereichs erfolgt nun nach der Aktivierung der Volumes. +#Damit darf auf eine Volume als Swap verwendung finden +# +#Revision 1.4 2002/01/21 16:52:06 kueller +#"None" Filesysteme wie tmpfs, procfs etc. werden in eigenem Schritt +#gemountet, bevor das Volumanagement initialisiert wird. Initialisierung +#des Volumemanagements findet nun komplett hier statt. +#Nach der Initialisierung des lvm werden die restlichen Volumes +#gemountet (ausser nfs) +# +#Revision 1.3 2002/01/21 14:34:43 kueller +#Korrektur der Pfade für VolumeManager - liegen nun unter /etc/sysconfig +# +#Revision 1.2 2001/11/04 01:39:17 kueller +#Zusatzfunktion, die in /etc/lvmtab gelistete VolumeGroups aktiviert +# +#Revision 1.1.1.1 2001/09/23 00:02:08 kueller +#Neustart wg. Datenverlust +# +#Revision 1.2 2001/08/13 15:30:56 kueller +#mount -a geändert. NFS Mounts dürfen erst nach der Netzwerk Initialisierung +#ausgeführt werden. +# +#Revision 1.1.1.1 2001/08/08 10:02:32 kueller +#sysvinit addons +# +# + +# Begin /etc/init.d/mountfs + +source /etc/init.d/functions + +echo -n "Remounting root file system in read-write mode..." +/bin/mount -n -o remount,rw / +evaluate_retval + +echo > /etc/mtab +/bin/mount -f -o remount,rw / + +/bin/rm -f /fastboot /forcefsck + +echo -n "Activating swap ..." +/sbin/swapon -a +evaluate_retval +for i in `sed -e "/^#/d" /etc/fstab|awk '{print $2}'`; do + MOUNTPOINT=$i + FILESYSTEM=`awk '{if( $2 == "'$MOUNTPOINT'") print $3}' /etc/fstab` + DEVICE=`awk '{if( $2 == "'$MOUNTPOINT'") print $1}' /etc/fstab` + if [ ! "$FILESYSTEM" == "nfs" ] \ + && [ ! "$FILESYSTEM" == "swap" ] \ + && [ ! "$MOUNTPOINT" == "/" ] \ + && [ ! "$DEVICE" == "none" ]; then + echo -n "Mounting $MOUNTPOINT" + mount $MOUNTPOINT + evaluate_retval + fi +done + +# End /etc/init.d/mountfs diff --git a/etc/init.d/networks b/etc/init.d/networks new file mode 100644 index 0000000..2760469 --- /dev/null +++ b/etc/init.d/networks @@ -0,0 +1,214 @@ +#!/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$ +#Datum der letzten Änderung: $Date$ +#Version der Datei: $Revision$ +# +#$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 +# 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. 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 + +if ls /etc/sysconfig/net/hostname.* >/dev/null 2>&1; then + DEVNUM=`ls /etc/sysconfig/net/hostname.* 2>/dev/null|wc -w` +else + DEVNUM=0 +fi + +case "$1" in + start) + if ls /etc/mactab* >/dev/null 2>/dev/null ; then + for maccfg in /etc/mactab*; do + nameif -c $maccfg >/dev/null + done + fi + + if [ "$DEVNUM" != 0 ]; then + for i in `ls /etc/sysconfig/net/hostname.*|cut -d "." -f2`; do + HOST=`cat /etc/sysconfig/net/hostname.$i|awk '{print $1}'` + IP=`grep $HOST /etc/hosts|awk '{print $1}'` + NETMASK=`getmask $IP` + SHMASK=`GetShortMask $NETMASK` + echo -n "setting up interface $i:IP=$IP NMASK=$NETMASK" + if [ "$NETMASK" = "" ]; then + DEV=`echo $i|cut -d ":" -f 1` + $DEBUG ip addr add $IP broadcast + dev $DEV + $DEBUG ip link set $DEV up + else + DEV=`echo $i|cut -d ":" -f 1` + $DEBUG ip addr add $IP/$SHMASK broadcast + dev $DEV + $DEBUG ip link set $DEV up + fi + evaluate_retval + done + fi + if [ ! -f /etc/sysconfig/net/notrouter ]; then + echo "Configuring System with routing allowed" + if [ -f /etc/sysconfig/net/gateways ]; then + sed -e "/^#/d" /etc/sysconfig/net/gateways | \ + sed -e "/^ *$/d" >/tmp/gateways + exec 3&- + rm /tmp/gateways + fi + if [ -f /etc/sysconfig/net/defaultrouter ]; then + echo -n "setting up defaultrouter `cat /etc/sysconfig/net/defaultrouter`" + $DEBUG route add default gw `cat /etc/sysconfig/net/defaultrouter` + evaluate_retval + fi + NUMIF=`ip -f inet addr show|grep inet|wc -l` + if [ $NUMIF -gt 2 ]; then + echo -n "Enable ip_forwarding" + echo "1" >/proc/sys/net/ipv4/ip_forward + evaluate_retval + fi + if [ -f /usr/sbin/routed ]; then + if [ $NUMIF -gt 2 ]; then + echo -n "Starte Routing Information Protokoll Server" + $DEBUG /usr/sbin/routed -s -g & + evaluate_retval + else + echo -n "Starte Routing Information Protokoll Client" + $DEBUG /usr/sbin/routed -q & + evaluate_retval + fi + fi + else + if [ -f /usr/sbin/routed ]; then + echo -n "Starte RIP Client im silent mode" + $DEBUG /usr/sbin/routed -q & + evaluate_retval + fi + fi + ;; + stop) + NUMIF=`ip -f inet addr show|grep inet|wc -l` + if [ -f /usr/sbin/routed ]; then + echo -n "Stopping Routing Information Protokoll" + killproc routed + fi + if [ $DEVNUM != 0 ]; then + for i in `ls /etc/sysconfig/net/hostname.*|cut -d "." -f2`; do + echo -n "shutting down interface $i" + #ifconfig $i down + HOST=`cat /etc/sysconfig/net/hostname.$i|awk '{print $1}'` + IP=`grep $HOST /etc/hosts|awk '{print $1}'` + echo -n " Address $IP" + DEV=`echo $i|cut -d ":" -f 1` + ip addr del $IP dev $DEV + evaluate_retval + done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "Usage: $0: {start|stop|restart}" + exit 1 + ;; +esac +#end /etc/inet.d/network diff --git a/etc/init.d/rc b/etc/init.d/rc new file mode 100644 index 0000000..594acd2 --- /dev/null +++ b/etc/init.d/rc @@ -0,0 +1,157 @@ +#!/bin/sh +# Begin /etc/init.d/rc +# +# By Jason Pearce - jason.pearce@linux.org +# Modified by Gerard Beekmans - gerard@linuxfromscratch.org +# print_error_msg based on ideas by Simon Perreault - nomis80@yahoo.com +# +#$Date$ +#$Revision$ +# +#$Log$ +#Revision 1.3 2003/10/22 18:35:29 kueller +#Korrektur von rechtschreibfehlern +# +#Revision 1.2 2003/04/07 10:22:30 kueller +#Fehlermeldungen an CompuExtreme, nicht mehr an RainMaker +# +#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 +# +# + + +source /etc/init.d/functions + +print_error_msg() +{ + + echo + $FAILURE + echo "Sie sollten diese Fehlermeldung niemals sehen" + echo "Sie bedeutet, das ein unvorhergesehener Fehler" + echo "Aufgetreten ist." + echo "Das Subscript $i ist hat sich mit dem Returnwert" + echo "$error_value beendet." + echo "Bitte melden sie den Fehler der Fa. CompuExtreme" + $NORMAL + echo +} + + +# Un-comment the following for debugging. +# debug=echo + +# +# Start script or program. +# +startup() { +case "$1" in + *.sh) + $debug sh "$@" + ;; + *) + $debug "$@" + ;; +esac +} + +# Ignore CTRL-C only in this shell, so we can interrupt subprocesses. + +trap ":" INT QUIT TSTP + +# Set onlcr to avoid staircase effect. +stty onlcr 0>&1 + +# Now find out what the current and what the previous runlevel are. +runlevel=$RUNLEVEL +# Get first argument. Set new runlevel to this argument. + +[ "$1" != "" ] && runlevel=$1 +if [ "$runlevel" = "" ] +then + echo "Usage: $0 " >&2 + exit 1 +fi + +previous=$PREVLEVEL +[ "$previous" = "" ] && previous=N + +export runlevel previous + +# Is there an rc directory for this new runlevel? + +if [ -d /etc/init.d/rc$runlevel.d ] +then + # First, run the KILL scripts for this runlevel. + if [ $previous != N ] + then + for i in /etc/init.d/rc$runlevel.d/K* + do + [ ! -f $i ] && continue + + suffix=${i#/etc/init.d/rc$runlevel.d/K[0-9][0-9]} + previous_start=/etc/init.d/rc$previous.d/S[0-9][0-9]$suffix + sysinit_start=/etc/init.d/rcS.d/S[0-9][0-9]$suffix + + # Stop the service if there is a start script + # in the previous run level. + [ ! -f $previous_start ] && + [ ! -f $sysinit_start ] && continue + + startup $i stop + error_value=$? + if [ $error_value != 0 ] + then + print_error_msg + fi + + done + fi + + # Now run the START scripts for this runlevel. + for i in /etc/init.d/rc$runlevel.d/S* + do + [ ! -f $i ] && continue + + if [ $previous != N ] + then + # Find start script in previous runlevel and + # stop script in this runlevel. + suffix=${i#/etc/init.d/rc$runlevel.d/S[0-9][0-9]} + stop=/etc/init.d/rc$runlevel.d/K[0-9][0-9]$suffix + previous_start=/etc/init.d/rc$previous.d/S[0-9][0-9]$suffix + + # If there is a start script in the previous + # level + # and _no_ stop script in this level, we don't + # have to re-start the service. + [ -f $previous_start ] && [ ! -f $stop ] && + continue + fi + + case "$runlevel" in + 0|6) + startup $i stop + error_value=$? + if [ $error_value != 0 ] + then + print_error_msg + fi + ;; + *) + startup $i start + error_value=$? + if [ $error_value != 0 ] + then + print_error_msg + fi + ;; + esac + done +fi + +# End /etc/init.d/rc diff --git a/etc/init.d/rcS b/etc/init.d/rcS new file mode 100644 index 0000000..6546c08 --- /dev/null +++ b/etc/init.d/rcS @@ -0,0 +1,148 @@ +#!/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. +# +#InitScript zum Start des Daemons: +#rcS Script des sysvinit Projektes +#Basierend auf einer Vorlage von linuxfromscratch.org +# +#Letzte Änderung von: $Author$ +#Datum der letzten Änderung: $Date$ +#Version der Datei: $Revision$ +# +#$Log$ +#Revision 1.8 2007/06/09 13:43:20 kueller +#Erkennung ob / nfs ist, und sonderbehandlung fuer nfs boot eingebaut. +#angepasst an zukuenftigen Viitor_netboot +# +#Revision 1.7 2007/04/30 18:05:04 kueller +#Neue Udev initialisierung. Ist jetzt konform zur doku und funktioniert auch +# +#Revision 1.6 2007/04/28 19:59:58 kueller +#an /dev muss vor dem start von udev ein tmpfs sein... +# +#Revision 1.5 2006/07/07 20:36:18 kueller +#Umstellung auf udev. es wird kein devfsd mehr gestartet. dafuer muss unter +#/dev ein tmpfs gemountet werden. ausserdem muss for dem start von +#udevstart (legt die devicefiles fuer die im Kernel vorhandenen Geraete an) +#das sysfs gemountet werden. +# +#Revision 1.4 2004/03/03 12:48:08 kueller +#Header auf neuen Viitor GPL Header umgestellt +# +# +#Revision 1.3 2002/01/21 16:52:44 kueller +#Volumemanagement wird im Script mountfs initialisiert, nicht mehr hier +# +#Revision 1.2 2001/11/03 23:55:39 segler +# +#LVM moechte gerne bevor es so richtig tut einen /sbin/vgscan haben. Solls kriegen... +# +#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 +# +# + +# Begin /etc/init.d/rcS + +runlevel=S +prevlevel=N +umask 022 +export runlevel prevlevel + +trap ":" INT QUIT TSTP + +source /etc/init.d/functions + +mount -t proc none /proc + +if mount|grep /dev/root|grep nfs &>/dev/null; then + echo -n "Mounting tmpfs on /var" + mount -t tmpfs none /var + evaluate_retval + echo -n "Getting Hostname ..." + ifconfig|\ + grep Protokoll|\ + awk '{ if ( $2 == "Protokoll:Ethernet" ) print $1 }' >/var/devices + for i in `cat /var/devices`; do + INET=`ifconfig $i|\ + grep inet|\ + awk -F ":" '{print $2}'|\ + awk '{print $1}'` + ANET=`echo $INET|awk -F "." '{print $1}'` + if [ ! "$ANET" == "127" ]; then + HOSTNAME=`getent hosts $INET` + HOSTNAME=`echo $HOSTNAME|\ + awk '{print $2}'|\ + awk -F "." '{print $1}'` + break + fi + done + echo -n " $HOSTNAME" + evaluate_retval + echo -n "Restoring var folder" + cd /var + tar -zxf /boot/var_${HOSTNAME}.tgz + echo $HOSTNAME >etc/sysconfig/nodename + cd - + evaluate_retval +else + mount -t tmpfs none /var/lock +fi + +umount /proc + +if [ -f /sbin/udevstart ]; then + . /etc/init.d/functions + . /etc/udev/udev.conf + prog=udev + sysfs_dir=/sys + bin=/lib/udev + udevd=/sbin/udevd + udev_root=/dev + echo "Bringing udev sytem up" + echo -n "mounting sys " + mount -t sysfs none /sys + echo -n "/var/lock " + if [ ! -d /var/lock/subsys ]; then + mkdir /var/lock/subsys + fi + if [ ! -d $udev_root ]; then + mkdir $udev_root + fi + echo -n "/dev " + mount -t tmpfs none /dev + export ACTION=add + echo -n "Creating initial udev device nodes:" + loadproc udevstart + mkdir /dev/pts +fi + +for i in /etc/init.d/rcS.d/S??* +do + [ ! -f "$i" ] && continue; + $i start +done + +# End /etc/init.d/rcS diff --git a/etc/init.d/reboot b/etc/init.d/reboot new file mode 100644 index 0000000..75a76ca --- /dev/null +++ b/etc/init.d/reboot @@ -0,0 +1,50 @@ +#!/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. +# +#InitScript zum Start des Daemons: +#reboot script des sysvinit Prozesses +#basierend auf einer Vorlage von linuxfromscratch.org +# +#Letzte Änderung von: $Author$ +#Datum der letzten Änderung: $Date$ +#Version der Datei: $Revision$ +# +#$Log$ +#Revision 1.2 2004/03/03 12:48:08 kueller +#Header auf neuen Viitor GPL Header umgestellt +# +# +#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 +# +# + +# Begin /etc/init.d/reboot + +echo "System reboot in progress..." + +/sbin/reboot -d -f -i + +# End /etc/init.d/reboot diff --git a/etc/init.d/routed b/etc/init.d/routed new file mode 100644 index 0000000..972bca9 --- /dev/null +++ b/etc/init.d/routed @@ -0,0 +1,143 @@ +#!/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 +# 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. 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) + if [ ! -f /etc/sysconfig/net/notrouter ]; then + NUMIF=`ip -f inet addr show|grep inet|wc -l` + if [ $NUMIF -gt 2 ]; then + echo -n "Enable ip_forwarding" + echo "1" >/proc/sys/net/ipv4/ip_forward + evaluate_retval + fi + if [ -f /usr/sbin/routed ]; then + if [ $NUMIF -gt 2 ]; then + echo -n "Starte Routing Information Protokoll Server" + $DEBUG /usr/sbin/routed -s -g & + evaluate_retval + else + echo -n "Starte Routing Information Protokoll Client" + $DEBUG /usr/sbin/routed -q & + evaluate_retval + fi + fi + else + if [ -f /usr/sbin/routed ]; then + echo -n "Starte RIP Client im silent mode" + $DEBUG /usr/sbin/routed -q & + evaluate_retval + fi + fi + ;; + stop) + if [ -f /usr/sbin/routed ]; then + echo -n "Stopping Routing Information Protokoll" + killproc routed + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "Usage: $0: {start|stop|restart}" + exit 1 + ;; +esac +#end /etc/inet.d/network diff --git a/etc/init.d/routing b/etc/init.d/routing new file mode 100644 index 0000000..ef3091a --- /dev/null +++ b/etc/init.d/routing @@ -0,0 +1,155 @@ +#!/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 +# 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. 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 + +if ls /etc/sysconfig/net/hostname.* >/dev/null 2>&1; then + DEVNUM=`ls /etc/sysconfig/net/hostname.* 2>/dev/null|wc -w` +else + DEVNUM=0 +fi + +case "$1" in + start) + if [ ! -f /etc/sysconfig/net/notrouter ]; then + echo "Configuring System with routing allowed" + if [ -f /etc/sysconfig/net/gateways ]; then + sed -e "/^#/d" /etc/sysconfig/net/gateways | \ + sed -e "/^ *$/d" >/tmp/gateways + exec 3&- + rm /tmp/gateways + fi + if [ -f /etc/sysconfig/net/defaultrouter ]; then + echo -n "setting up defaultrouter `cat /etc/sysconfig/net/defaultrouter`" + $DEBUG route add default gw `cat /etc/sysconfig/net/defaultrouter` + evaluate_retval + fi + NUMIF=`ip -f inet addr show|grep inet|wc -l` + if [ $NUMIF -gt 2 ]; then + echo -n "Enable ip_forwarding" + echo "1" >/proc/sys/net/ipv4/ip_forward + evaluate_retval + fi + fi + ;; + stop) + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "Usage: $0: {start|stop|restart}" + exit 1 + ;; +esac +#end /etc/inet.d/network diff --git a/etc/init.d/sendsignals b/etc/init.d/sendsignals new file mode 100644 index 0000000..716378a --- /dev/null +++ b/etc/init.d/sendsignals @@ -0,0 +1,55 @@ +#!/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. +# +#InitScript zum Start des Daemons: +#sendsignals script des sysvinit prozesses +#Basierend auf einer Vorlage von linuxfromscratch.org +# +#Letzte Änderung von: $Author$ +#Datum der letzten Änderung: $Date$ +#Version der Datei: $Revision$ +# +#$Log$ +#Revision 1.2 2004/03/03 12:48:08 kueller +#Header auf neuen Viitor GPL Header umgestellt +# +# +#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 +# +# + + +source /etc/init.d/functions + +echo -n "Sending all processes the TERM signal..." +/sbin/killall5 -15 +evaluate_retval + +echo -n "Sending all processes the KILL signal..." +/sbin/killall5 -9 +evaluate_retval + +# End /etc/init.d/sendsignals diff --git a/etc/init.d/setclock b/etc/init.d/setclock new file mode 100644 index 0000000..33ac991 --- /dev/null +++ b/etc/init.d/setclock @@ -0,0 +1,72 @@ +#!/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. +# +#InitScript zum Start des Daemons: +#setclock script des sysvinit prozesses +#basierend auf einer vorlage von linuxfromscratch.org +# +#Letzte Änderung von: $Author$ +#Datum der letzten Änderung: $Date$ +#Version der Datei: $Revision$ +# +#$Log$ +#Revision 1.2 2004/03/03 12:48:08 kueller +#Header auf neuen Viitor GPL Header umgestellt +# +# +#Revision 1.1.1.1 2001/09/23 00:02:08 kueller +#Neustart wg. Datenverlust +# +#Revision 1.4 2001/09/01 19:13:06 kueller +# +#Fehler beim Setzen der Zeitzone - zic kann /etc/localtime nicht anlegen. +#Localtime wird nun über CVS Monsum_config eingespielt, und darüber die timezone +#eingestellt +# +#Revision 1.3 2001/08/24 22:25:43 kueller +# +#Zeitzone wird jetzt richtig gesetzt, wenn die Datei /etc/timezone entweder +#als link auf die Entsprechzende Zonendatei in /usr/share/zoneinfo oder als +#ASCII Datei mit der UNIX Typischen ZeitZonen angabe existiert +# +#Revision 1.2 2001/08/09 13:09:06 cvs +# +#sourcen der Datei /etc/sysconfig/clock nicht notwendig - bringt keine Vorteile +# +#Revision 1.1.1.1 2001/08/08 10:02:32 kueller +#sysvinit addons +# +# + +source /etc/init.d/functions + +CLOCKPARAMS="--hctosys" + +case "$UTC" in + yes|true|1) + CLOCKPARAMS="$CLOCKPARAMS -u" + ;; +esac + +echo -n "Setting clock..." +/sbin/hwclock $CLOCKPARAMS +evaluate_retval diff --git a/etc/init.d/sysklogd b/etc/init.d/sysklogd new file mode 100644 index 0000000..a20618a --- /dev/null +++ b/etc/init.d/sysklogd @@ -0,0 +1,57 @@ +#!/bin/sh +#sysklogd script des sysvinit prozesses +#Basierend auf einer Vorlage von linuxfromscratch.org +# +#$Author$ +#$Date$ +#$Revision$ +# +#$Log$ +#Revision 1.3 2004/03/03 12:48:08 kueller +#Header auf neuen Viitor GPL Header umgestellt +# +#Revision 1.2 2003/04/19 08:05:46 kueller +#Soweit nicht vorhanden, erweiterung um restart option. Ansonsten anpassung +#an aktuellen Umfang von functions. reload und status funktioniert hier unter +#viitor nicht! +# +#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 +# +# +source /etc/init.d/functions + +case "$1" in + start) + echo -n "Starting system log daemon..." + loadproc /usr/sbin/syslogd -m 0 + + echo -n "Starting kernel log daemon..." + loadproc /usr/sbin/klogd -f /var/log/kern.log + ;; + + stop) + echo -n "Stopping kernel log daemon..." + killproc klogd + + echo -n "Stopping system log daemon..." + killproc syslogd + ;; + + restart) + $0 stop + /usr/bin/sleep 1 + $0 start + ;; + + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 + ;; + +esac + +# End /etc/init.d/sysklogd diff --git a/etc/init.d/umountfs b/etc/init.d/umountfs new file mode 100644 index 0000000..e87f063 --- /dev/null +++ b/etc/init.d/umountfs @@ -0,0 +1,62 @@ +#!/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. +# +#InitScript zum Start des Daemons: +#umountfs script des sysvinit prozesses +#Basierend auf einer Vorlage von linuxfromscratch.org +# +#Letzte Änderung von: $Author$ +#Datum der letzten Änderung: $Date$ +#Version der Datei: $Revision$ +# +#$Log$ +#Revision 1.3 2004/03/03 12:48:08 kueller +#Header auf neuen Viitor GPL Header umgestellt +# +# +#Revision 1.2 2001/09/24 13:31:00 kueller +#/dev wird nun explizit umounted +# +#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 +# +# + +# Begin /etc/init.d/umountfs + +source /etc/init.d/functions + +echo -n "Deactivating swap..." +/sbin/swapoff -a +evaluate_retval + +echo -n "Umounting devfs..." +/bin/umount -f /dev + +echo -n "Unmounting file systems..." +/bin/umount -a -r +evaluate_retval + +# End /etc/init.d/umountfs diff --git a/etc/inittab b/etc/inittab new file mode 100644 index 0000000..39b5c10 --- /dev/null +++ b/etc/inittab @@ -0,0 +1,104 @@ +#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. +# +#/etc/inittab - Steruerung des sysvinit Prozesses +# +#Letzte Änderung von: $Author$ +#Datum der letzten Änderung: $Date$ +#Version der Datei: $Revision$ +# +#$Log$ +#Revision 1.3 2006/07/07 20:34:55 kueller +#dank umstellung von devfs auf udev muessen wieder die alten devicenamen +#verwendet werden! +# +#Revision 1.2 2004/03/03 11:49:39 kueller +#Aktualisierung des Headers - mit einbau der GPL Informationen +# +# +#(c) Harald Küller, CompuExtreme +# +#$Author$ +#$Date$ +#$Revision$ +# +#$Log$ +#Revision 1.3 2006/07/07 20:34:55 kueller +#dank umstellung von devfs auf udev muessen wieder die alten devicenamen +#verwendet werden! +# +#Revision 1.2 2004/03/03 11:49:39 kueller +#Aktualisierung des Headers - mit einbau der GPL Informationen +# +#Revision 1.1.1.1 2001/09/23 00:02:08 kueller +#Neustart wg. Datenverlust +# +#Revision 1.5 2001/09/06 10:22:57 kueller +# +#Login Terminal an devfs angepasst - Terminal namen von tty# auf vc/# geändert +# +#Revision 1.4 2001/08/25 13:15:01 kueller +# +#Fehler in den Basis Runleveln - Runlevel 2 Fehlte, rest um 1 Runlevel verrutscht +# +#Revision 1.3 2001/08/24 15:29:02 kueller +# +#Änderung mit aufeinanderfolgenden Runleveln (sprich rc2 führt auch rc1 und +#zusätzlich rc2 aus) funktioniert nicht. Vorläufiger switchback zum Linux +#Üblichen Verhalten. +# +#Revision 1.2 2001/08/11 00:08:02 cvs +# +#Runlevel Verhalten korrigiert. Runlevel verhalten sich jetzt ähnlich wie +#unter solaris - nur noch etwas konsequenter..:-)) +#rc S - wird nur in Runlevel S aufgerufen +#rc 0 - wird nur in Runlevel 0 aufgerufen (shutdown, halt) +#rc 1 - wird in Runlevel S,1,2,3,4,5 aufgerufen +#rc 2 - wird in Runlevel 2,3,4,5 aufgerufen +#rc 3 - wird in Runlevel 3,4,5 aufgerufen +#rc 4 - wird in Runlevel 4,5 aufgerufen +#rc 5 - wird in Runlevel 5 aufgerufen +#rc 6 - wird nur in Runlevel 6 aufgerufen (Shutdown, reboot) +# +#Revision 1.1.1.1 2001/08/08 10:02:32 kueller +#sysvinit addons +# +# +id:3:initdefault: +si::sysinit:/etc/init.d/rcS +l0:0:wait:/etc/init.d/rc 0 +l1:S1:wait:/etc/init.d/rc 1 +l2:2:wait:/etc/init.d/rc 2 +l3:3:wait:/etc/init.d/rc 3 +l4:4:wait:/etc/init.d/rc 4 +l5:5:wait:/etc/init.d/rc 5 +l6:6:wait:/etc/init.d/rc 6 +f1:0:respawn:/sbin/sulogin +f2:6:respawn:/sbin/sulogin +ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now +su:S1:respawn:/sbin/sulogin +1:2345:respawn:/sbin/agetty /dev/tty1 9600 +2:2345:respawn:/sbin/agetty /dev/tty2 9600 +3:2345:respawn:/sbin/agetty /dev/tty3 9600 +4:2345:respawn:/sbin/agetty /dev/tty4 9600 +5:2345:respawn:/sbin/agetty /dev/tty5 9600 +6:2345:respawn:/sbin/agetty /dev/tty6 9600 +# End /etc/inittab diff --git a/init/genpkg b/init/genpkg new file mode 100644 index 0000000..ec9a1b5 --- /dev/null +++ b/init/genpkg @@ -0,0 +1,98 @@ +#!/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: +#cvs module init script zur initialisierung +#der /etc/init.d scripten +#des Viitor_sysvinit archives. +# +#Letzte Änderung von: $Author$ +#Datum der letzten Änderung: $Date$ +#Version der Datei: $Revision$ +# +#$Log$ +#Revision 1.5 2004/03/03 12:53:40 kueller +#Umstellung auf Viitor GPL Header +# +# +#$Log$ +#Revision 1.5 2004/03/03 12:53:40 kueller +#Umstellung auf Viitor GPL Header +# +#Revision 1.4 2002/06/12 09:55:41 hkueller +#Eintrag für das install script hinzugefügt +# +#Revision 1.3 2001/10/16 22:01:47 kueller +#Init Scripten werden nun mit den passenden Berechtigungen versehen +# +#Revision 1.2 2001/09/28 22:04:46 kueller +#/etc/sysconfig/net wird nun explizit angelegt +# +#Revision 1.1.1.1 2001/09/23 00:02:08 kueller +#Neustart wg. Datenverlust +# +# + +WDIR=`pwd` +mkdir -p etc/sysconfig/net +cd etc/init.d +for i in *; do + if [ -f $i ]; then + chmod 755 $i + fi +done +mkdir rc{S,0,1,2,3,4,5,6}.d +cd rcS.d +ln -s ../checkfs S05checkfs +ln -s ../mountfs S10mountfs +ln -s ../setclock S20setclock +ln -s ../loadkeys S30loadkeys +cd .. + +for i in 0 6; do + cd rc$i.d + ln -s ../ifup K80ifup + ln -s ../sendsignals K80sendsignals + ln -s ../loadmodules K87loadmodules + ln -s ../sysklogd K90sysklogd + ln -s ../umountfs K90umountfs + cd .. +done +cd rc0.d +ln -s ../halt S99halt +cd .. +cd rc6.d +ln -s ../reboot S99reboot +cd .. + +for i in 1 2 3 4 5; do + cd rc$i.d + ln -s ../sysklogd S03sysklogd + ln -s ../loadmodules S05loadmodules + ln -s ../localnet S09localnet + ln -s ../ifup S10ifup + ln -s ../routing S11routing + ln -s ../install S11install + cd .. +done +ln -s ../init.d init.d +cd $WDIR diff --git a/sbin/if_down b/sbin/if_down new file mode 100755 index 0000000..97c4363 --- /dev/null +++ b/sbin/if_down @@ -0,0 +1,56 @@ +#!/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: /Data/cvs/ViitorMake/templates/Script.template,v $ +# +#(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:if_up +# +#Letzte Änderung von: $Author: $ +#Datum der letzten Änderung: $Date: $ +#Version der Datei: $Revision: $ +# +#$Log: $ +# + +source /etc/init.d/functions +DEV=$1 +if [ ! "$DEV" ]; then + echo "Usage: $0 " + exit 10 +fi +if [ -f /etc/sysconfig/net/${DEV}.dhcp ]; then + kill `ps -ef|grep dhclient|grep eth0|awk '{print $2}'` +elif [ -f /etc/sysconfig/net/hostname.${DEV} ]; then + HOST=`cat /etc/sysconfig/net/hostname.${DEV}|awk '{print $1}'` + IP=`grep $HOST /etc/hosts|awk '{print $1}'` + NETMASK=`getmask $IP` + SHMASK=`GetShortMask $NETMASK` + echo -n "setting up interface $i:IP=$IP NMASK=$NETMASK" + if [ "$NETMASK" = "" ]; then + DEV=`echo $i|cut -d ":" -f 1` + $DEBUG ip addr del $IP broadcast + dev $DEV + $DEBUG ip link set $DEV down + else + DEV=`echo $i|cut -d ":" -f 1` + $DEBUG ip addr del $IP/$SHMASK broadcast + dev $DEV + $DEBUG ip link set $DEV down + fi + evaluate_retval +fi diff --git a/sbin/if_up b/sbin/if_up new file mode 100755 index 0000000..4e5110b --- /dev/null +++ b/sbin/if_up @@ -0,0 +1,60 @@ +#!/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: /Data/cvs/ViitorMake/templates/Script.template,v $ +# +#(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:if_up +# +#Letzte Änderung von: $Author: $ +#Datum der letzten Änderung: $Date: $ +#Version der Datei: $Revision: $ +# +#$Log: $ +# + +source /etc/init.d/functions +DEV=$1 +if [ ! "$DEV" ]; then + echo "Usage: $0 " + exit 10 +fi +if [ -f /etc/sysconfig/net/${DEV}.dhcp ]; then + echo -n "Setting up ${DEV} with dhcp" + dhclient -q ${DEV} + evaluate_retval +elif ls /etc/sysconfig/net/hostname.${DEV}* &>/dev/null; then + for NETDEV in `ls /etc/sysconfig/net/hostname.${DEV}*|awk -F "." '{print $2}'`; do + HOST=`cat /etc/sysconfig/net/hostname.${NETDEV}|awk '{print $1}'` + IP=`grep $HOST /etc/hosts|awk '{print $1}'` + NETMASK=`getmask $IP` + SHMASK=`GetShortMask $NETMASK` + echo -n "setting up interface $NETDEV:IP=$IP NMASK=$NETMASK" + if [ "$NETMASK" = "" ]; then + DEV=`echo $NETDEV|cut -d ":" -f 1` + $DEBUG ip addr add $IP broadcast + dev $DEV + $DEBUG ip link set $DEV up + else + DEV=`echo $NETDEV|cut -d ":" -f 1` + $DEBUG ip addr add $IP/$SHMASK broadcast + dev $DEV + $DEBUG ip link set $DEV up + fi + done + evaluate_retval +fi diff --git a/sbin/wlan_setup b/sbin/wlan_setup new file mode 100755 index 0000000..c1d98f3 --- /dev/null +++ b/sbin/wlan_setup @@ -0,0 +1,110 @@ +#!/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: /export/Data/cvs/Viitor_wireless/etc/init.d/wireless,v $ +# +#(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:wlan_setup +#Setup eines WLAN Interfaces per accesspoint config files in +#/etc/sysconfig/wlan/ +# +#Letzte Änderung von: $Author$ +#Datum der letzten Änderung: $Date$ +#Version der Datei: $Revision$ +# +#$Log: wireless,v $ +#Revision 1.1.1.1 2004/12/05 13:10:59 kueller +#New Package wireless +# +# +source /etc/init.d/functions + +if [ ! -f /var/state/ldap_disable ]; then + touch /var/state/ldap_disable +fi + +NSSWITCH=/etc/nsswitch.conf +DEV=$1 +if [ ! "$DEV" ]; then + echo "usage: $0 " + exit 1 +fi +if [ ! -d /sys/class/net/$DEV/wireless ]; then + echo "No Wireless Device" + exit 2 +fi +for AP in `iwlist $DEV scan 2>/dev/null|\ + grep ESSID|\ + cut -d":" -f 2-`; do + AP=`echo $AP|sed -e "s/\"//g"` + if [ -f /etc/sysconfig/wlan/$AP ]; then + echo -n "Binding Wireless Network to AP $AP" + $DEBUG iwconfig $DEV essid $AP + evaluate_retval + sed -e "/^#/d" /etc/sysconfig/wlan/$AP | \ + sed -e "/^ *$/d" >/tmp/AP + exec 3/etc/yp.conf + NISSTR="nis" + ;; + LDAP) + export USE_LDAP=1 + LDAPSTR="ldap" + rm /var/state/ldap_disable + ;; + DNS) + echo "#Resolv.conf generatet by wlan_setup" >/etc/resolv.conf + echo "nameserver $ARG1" >>/etc/resolv.conf + ;; + esac + read <&3 OPTION ARG1 ARG2 + done + exec 3>&- + rm /tmp/AP + fi +done +FILESTR="files" +echo "passwd: $FILESTR $LDAPSTR $NISSTR" >$NSSWITCH +echo "group: $FILESTR $LDAPSTR $NISSTR" >>$NSSWITCH +echo "shadow: $FILESTR $LDAPSTR" >>$NSSWITCH +echo "publickkey: $FILESTR" >>$NSSWITCH +echo "hosts: dns $FILESTR $LDAPSTR $NISSTR" >>$NSSWITCH +echo "networks: $FILESTR $NISSTR" >>$NSSWITCH +echo "protocols: db $NISSTR $FILESTR" >>$NSSWITCH +echo "services: db $NISSTR $FILESTR" >>$NSSWITCH +echo "rpc: db $NISSTR $FILESTR" >>$NSSWITCH +echo "ethers: db $NISSTR $FILESTR" >>$NSSWITCH +echo "netmasks: $FILESTR $NISSTR" >>$NSSWITCH +echo "netgroup: $FILESTR $NISSTR" >>$NSSWITCH +echo "bootparams: $FILESTR" >>$NSSWITCH +echo "automount: $FILESTR $NISSTR" >>$NSSWITCH +echo "aliases: $FILESTR" >>$NSSWITCH +touch /var/run/nsswitch_done