2008-05-03 17:00:46 +00:00
|
|
|
|
#!/bin/bash
|
|
|
|
|
#Installations Routine f<>r config-*.tbz
|
|
|
|
|
#(c) Rainmaker MultiMedia OHG
|
|
|
|
|
#
|
|
|
|
|
#$Author$
|
|
|
|
|
#$Date$
|
|
|
|
|
#$Revision$
|
|
|
|
|
#
|
|
|
|
|
#$Log$
|
|
|
|
|
#Revision 1.23 2007/06/08 11:44:56 kueller
|
|
|
|
|
#yp.conf wird nun auch bei DNS+NIS angelegt
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.22 2007/06/07 08:53:59 kueller
|
|
|
|
|
#Config Erweiterung, so dass bei nisserver hinter einem Gateway eine yp.conf angelegt wird
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.21 2007/04/28 19:58:49 kueller
|
|
|
|
|
#/tmp und /dev muessen vor udevstartup gemountet sein. daher nicht mehr in fstab!
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.20 2007/04/28 18:58:19 kueller
|
|
|
|
|
#tmpfs wird nun korrekt fuer udev gemounted
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.19 2006/07/07 20:32:23 kueller
|
|
|
|
|
#Durch die umstellung von devfs auf udev muss sysfs gaaaanz frueh
|
|
|
|
|
#im System existieren. daher wird dat nu von /etc/init.d/rcS
|
|
|
|
|
#gemacht und hat nichts mehr in der fstab verloren
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.18 2004/09/19 14:58:41 kueller
|
|
|
|
|
#Fehler korrektur in postinstall - $1 wurde nicht immer richtig verwendet.
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.17 2003/12/05 14:36:48 kueller
|
|
|
|
|
#usbfs wird nun ebenfalls gemountet
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.16 2003/12/05 14:35:10 kueller
|
|
|
|
|
#sysfs wird nun in default fstab mit aufgenommen
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.15 2002/10/12 18:33:32 kueller
|
|
|
|
|
#Kleinere Sch<63>nheitskorrekturen bei der Abfrage der Nameservices Daten.
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.14 2002/10/12 18:21:41 kueller
|
|
|
|
|
#Korrektur der select schleife (done vergessen)
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.13 2002/10/12 18:16:20 kueller
|
|
|
|
|
#Fehler in zeile 178 - case hat keine abschliessende Klammer. Behoben!
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.12 2002/10/12 14:24:12 kueller
|
|
|
|
|
#Erweiterung um die Nameserver Konfiguration (Wahlweise DNS, NIS oder DNS+NIS)
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.11 2002/10/05 14:44:16 kueller
|
|
|
|
|
#Installpkg macht vor ausf<73>hrung von postinstall nun ein chroot in
|
|
|
|
|
#das neu installierte System (wenn INSTALLROOT nicht gleich "/" ist)
|
|
|
|
|
#Einige Routinen des postinstall scriptes mussten hierzu angepasst
|
|
|
|
|
#werden (bei der erzeugung von /etc/fstab)
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.10 2002/10/01 14:39:09 kueller
|
|
|
|
|
#getip aufruf durch getnetaddr aus /etc/init.d/functions ersetzt.
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.9 2002/06/27 11:28:41 hkueller
|
|
|
|
|
#Fehler bei der Konfiguration des Defaultrouters - Variablenname war falsch
|
|
|
|
|
#geschrieben
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.8 2002/06/25 10:49:40 hkueller
|
|
|
|
|
#Bei der Installation kann zwischen DHCP und Manueller Konfiguration
|
|
|
|
|
#gew<65>hlt werden.
|
|
|
|
|
#Ausserdem kann bei der Manuellen Konfiguration inzwischen ein default router
|
|
|
|
|
#angegeben werden.
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.7 2002/02/08 20:06:26 hkueller
|
|
|
|
|
#Vor start von getip werden nun die Berechtigungen des Scriptes korrekt
|
|
|
|
|
#gesetzt (755)
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.6 2001/11/18 00:04:02 kueller
|
|
|
|
|
#postinstall l<>scht nun nicht mehr ben<65>tigtes getip script
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.5 2001/11/18 00:03:13 kueller
|
|
|
|
|
#Hilfsscript getip (braucht zsh) hinzugef<65>gt, um die Netzwerkadresse aus
|
|
|
|
|
#IP Adresse und Netmask zu berechnen.
|
|
|
|
|
#Ausserdem wird netmask nicht mehr in /etc/sysconfig/hostname.<if>, sondern
|
|
|
|
|
#in /etc/netmasks gespeichert
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.4 2001/11/04 00:00:05 kueller
|
|
|
|
|
#Bugfix - Anlegen von localtime auf cdrom funktioniert irgendwie nicht
|
|
|
|
|
#richtig ..-))
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.3 2001/11/01 15:40:11 kueller
|
|
|
|
|
#Fehlerbehebung. Das anlegen des links auf /etc/localtime bringt fehler.
|
|
|
|
|
#mit Option -f wird vorhandener link neu angelegt. damit sollte der Fehler
|
|
|
|
|
#behoben sein
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.2 2001/10/02 20:04:23 kueller
|
|
|
|
|
#/etc/localtime wird nun <20>ber postinstall Routine eingestellt
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.1.1.1 2001/09/20 21:35:23 kueller
|
|
|
|
|
#NeuStart wegen Datenverlust (gel<65>scht durch MonsumMake)
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.13 2001/09/12 11:21:59 kueller
|
|
|
|
|
#Eintrag fuer tmpfs wird der fstab nun per standart hinzugefuegt.
|
|
|
|
|
#Debugging Code entfernt
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.12 2001/09/12 11:16:02 kueller
|
|
|
|
|
#Wenn das Install dir im ROOT Verzeichniss liegt (sprich /mnt oder /NewCD)
|
|
|
|
|
#wird ROOTDIR mit // begonnen. Das hat zur folge das die fstab nicht
|
|
|
|
|
#generiert wird. Liegt Installdir nicht im ROOT Verzeichnisss
|
|
|
|
|
#(z.B. /NewCD/BINDIST) klappt alles. Problem durch entsprechende Abfragen
|
|
|
|
|
#beim setzen von ROOTDIR geloest
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.11 2001/09/11 09:16:14 kueller
|
|
|
|
|
#ROOTDIR wurde falsch gesetzt (/ Fehlte)
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.10 2001/09/06 20:44:20 kueller
|
|
|
|
|
#
|
|
|
|
|
#fstab wird nicht richtig erstellt, wenn ROODIR mit endendem / angegeben wird
|
|
|
|
|
#also z.B. wenn der aufruf postinstall /NewCD/ lautet funktinierts nicht,
|
|
|
|
|
#wenn der Aufruf postinatll /NewCD lautet klappts. Fehler behoben, durch
|
|
|
|
|
#eine Nachbearbeitung des Pfades:
|
|
|
|
|
#ROOTPATH=`dirname $1``basename $1`
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.9 2001/08/31 23:15:31 kueller
|
|
|
|
|
#
|
|
|
|
|
#Korrekturen bei der Erstellung von fstab. Fehlermeldung beim Installieren
|
|
|
|
|
#von konfig mit genCD sollten jetzt behoben sein
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.8 2001/08/16 18:05:57 kueller
|
|
|
|
|
#Swap wurde zwar erzeugt, aber nicht in etc/fstab geschrieben
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.7 2001/08/15 12:18:28 cvs
|
|
|
|
|
#
|
|
|
|
|
#Fehler bei AWK Aufruf beseitigt (fehlende "}")
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.6 2001/08/15 11:10:04 cvs
|
|
|
|
|
#
|
|
|
|
|
#korrektur der gid beim Mount von /dev/pts - 5 ist bei 909 uucp, und bei den
|
|
|
|
|
#neuen Versionen tape - beides nicht f<>r die pseudo Terminals gedacht. Hier
|
|
|
|
|
#mu<6D> die Gruppe 4 - tty - Verwendung finden.
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.5 2001/08/15 10:39:25 kueller
|
|
|
|
|
#
|
|
|
|
|
#Nocheinmal Fehler in der Erzeugung des swap Eintrags f<>r /etc/fstab.
|
|
|
|
|
#Wurde mehr als eine swap Partition verwendet, gab es illegale Eintr<74>ge
|
|
|
|
|
#in /etc/fstab. Ist nun korrigiert - f<>r jede gefundene swap Partition
|
|
|
|
|
#(aus /proc/swaps) wird ein g<>ltiger fstab Eintrag erzeugt
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.4 2001/08/15 10:37:20 kueller
|
|
|
|
|
#
|
|
|
|
|
#Fehler bei der Erstellung der fstab - beim erzeugen des Eintrages f<>r
|
|
|
|
|
#die swap Partition konnten fehler auftreten, so da<64> dieser Eintrag nicht
|
|
|
|
|
#erzeugt wurde.
|
|
|
|
|
#Durch ermitteln des SWAP Devices mittels awk und einer Abfrage ob auch
|
|
|
|
|
#ein korrekter SWAP Eintrag gefunden wurde sollten nun die mei<65>ten fehler
|
|
|
|
|
#behoben sein
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.3 2001/08/13 12:24:43 cvs
|
|
|
|
|
#
|
|
|
|
|
#Korrektur bei der Erstellung von /etc/fstab. 1. Zeile der Datei /proc/swaps
|
|
|
|
|
#mu<6D> gel<65>scht werden - hier handelt es sich um eine Headerzeile, die nicht
|
|
|
|
|
#funktioniert (gibt eine Fehlermeldung beim hochfahren des Systems)
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.2 2001/08/11 00:13:01 cvs
|
|
|
|
|
#
|
|
|
|
|
#Mounteintrag f<>r procfilesystem wird in fstab hinzugef<65>gt - geschieht
|
|
|
|
|
#anscheinend nicht mehr automatisch
|
|
|
|
|
#
|
|
|
|
|
#Revision 1.1.1.1 2001/08/09 13:16:34 kueller
|
|
|
|
|
#Basis Konfiguration f<>r MonsumLinux
|
|
|
|
|
#
|
|
|
|
|
#
|
|
|
|
|
HELPDIR=`dirname $1`
|
|
|
|
|
if [ ! $HELPDIR = "/" ]; then
|
|
|
|
|
ROOTDIR=`dirname $1`/`basename $1`
|
|
|
|
|
else
|
|
|
|
|
ROOTDIR=/`basename $1`
|
|
|
|
|
fi
|
|
|
|
|
if [ ! -f /tmp/NOQUEST ]; then
|
|
|
|
|
echo "Das neue System braucht noch einen Rechnerbezogenen Namen"
|
|
|
|
|
echo "Rechnername des Systems:"
|
|
|
|
|
read HOSTNAME
|
|
|
|
|
echo $HOSTNAME >$ROOTDIR/etc/sysconfig/nodename
|
|
|
|
|
echo "Soll das Netzwerk konfiguriert werden? [y/n] "
|
|
|
|
|
read CONFIG_NET
|
|
|
|
|
if [ "$CONFIG_NET" == "y" ]; then
|
|
|
|
|
echo "Soll das Netzwerk mit dhcp configuriert werden ? [y/N] "
|
|
|
|
|
echo "Bitte in diesem Fall dhcp Package installieren!"
|
|
|
|
|
read CONFIG_DHCP
|
|
|
|
|
echo "Zu konfigurierendes Interface:"
|
|
|
|
|
read INTERFACE
|
|
|
|
|
if [ "$CONFIG_DHCP" == "y" ]; then
|
|
|
|
|
touch $ROOTDIR/etc/sysconfig/net/$INTERFACE.dhcp
|
|
|
|
|
else
|
|
|
|
|
echo "Hostname des INTERFACES:"
|
|
|
|
|
read HOSTNAME
|
|
|
|
|
echo "IP ADRESSE:"
|
|
|
|
|
read IP
|
|
|
|
|
echo "NETMASK:"
|
|
|
|
|
read NETMASK
|
|
|
|
|
echo "Soll ein Defaultrouter konfiguriert werden [y/N]"
|
|
|
|
|
read "CONFIG_DEFAULTGW"
|
|
|
|
|
if [ "$CONFIG_DEFAULTGW" == "y" ]; then
|
|
|
|
|
echo "Bitte IP Adresse des default Routers angeben"
|
|
|
|
|
read DEFAULTGW
|
|
|
|
|
fi
|
|
|
|
|
source /etc/init.d/functions
|
|
|
|
|
NETADDR=`getnetaddr $IP $NETMASK`
|
|
|
|
|
echo "$HOSTNAME" >$ROOTDIR/etc/sysconfig/net/hostname.$INTERFACE
|
|
|
|
|
echo "$IP $HOSTNAME" >>$ROOTDIR/etc/hosts
|
|
|
|
|
echo "$NETADDR $NETMASK" >>$ROOTDIR/etc/netmasks
|
|
|
|
|
if [ "$CONFIG_DEFAULTGW" == "y" ]; then
|
|
|
|
|
echo $DEFAULTGW >$ROOTDIR/etc/sysconfig/net/defaultrouter
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
echo "Sollen Nameservices verwendet werden ? [y/N] "
|
|
|
|
|
read ANSWER
|
|
|
|
|
if [ "$ANSWER" = "y" ]; then
|
|
|
|
|
select i in "DNS" "NIS" "DNS+NIS"; do
|
|
|
|
|
case "$i" in
|
|
|
|
|
"DNS")
|
|
|
|
|
if [ ! "$CONFIG_DHCP" = "y" ]; then
|
|
|
|
|
echo -n "Welcher DNS Server soll verwendet werden (IP Adresse): "
|
|
|
|
|
read DNSSERVER
|
|
|
|
|
echo -n "Bitte Domainnamen f<>r die searchliste eingeben: "
|
|
|
|
|
read SEARCH
|
|
|
|
|
echo "nameserver $DNSSERVER" >$ROOTDIR/etc/resolv.conf
|
|
|
|
|
echo "search $SEARCH" >>$ROOTDIR/etc/resolv.conf
|
|
|
|
|
fi
|
|
|
|
|
cp $ROOTDIR/etc/nsswitch.dns $ROOTDIR/etc/nsswitch.conf
|
|
|
|
|
break
|
|
|
|
|
;;
|
|
|
|
|
"NIS")
|
|
|
|
|
echo -n "An welche NIS Domaine soll das System angeschlossen werden?: "
|
|
|
|
|
read DOMAIN
|
|
|
|
|
if [ ! -d $ROOTDIR/etc/sysconfig/nis ]; then
|
|
|
|
|
mkdir $ROOTDIR/etc/sysconfig/nis
|
|
|
|
|
fi
|
|
|
|
|
echo $DOMAIN >$ROOTDIR/etc/sysconfig/nis/defaultdomain
|
|
|
|
|
cp $ROOTDIR/etc/nsswitch.nis $ROOTDIR/etc/nsswitch.conf
|
|
|
|
|
echo -n "Liegt der NIS Server hinter einem NIS Gateway [y/N] "
|
|
|
|
|
read ANSWER
|
|
|
|
|
if [ "$ANSWER" == "y" ]; then
|
|
|
|
|
echo -n "Bitte IP Adresse des NIS Servers eingeben: "
|
|
|
|
|
read NISSERVER
|
|
|
|
|
echo "domain $DOMAIN server $NISSERVER" >$ROOTDIR/etc/yp.conf
|
|
|
|
|
fi
|
|
|
|
|
break
|
|
|
|
|
;;
|
|
|
|
|
"DNS+NIS")
|
|
|
|
|
if [ ! "$CONFIG_DHCP" = "y" ]; then
|
|
|
|
|
echo -n "Welcher DNS Server soll verwendet werden (IP Adresse): "
|
|
|
|
|
read DNSSERVER
|
|
|
|
|
echo -n "Bitte Domainnamen f<>r die searchliste eingeben: "
|
|
|
|
|
read SEARCH
|
|
|
|
|
echo "nameserver $DNSSERVER" >$ROOTDIR/etc/resolv.conf
|
|
|
|
|
echo "search $SEARCH" >>$ROOTDIR/etc/resolv.conf
|
|
|
|
|
fi
|
|
|
|
|
echo -n "An welche NIS Domaine soll das System angeschlossen werden?: "
|
|
|
|
|
read DOMAIN
|
|
|
|
|
if [ ! -d /etc/sysconfig/nis ]; then
|
|
|
|
|
mkdir $ROOTDIR/etc/sysconfig/nis
|
|
|
|
|
fi
|
|
|
|
|
echo $DOMAIN >$ROOTDIR/etc/sysconfig/nis/defaultdomain
|
|
|
|
|
cp $ROOTDIR/etc/nsswitch.nis $ROOTDIR/etc/nsswitch.conf
|
|
|
|
|
echo -n "Liegt der NIS Server hinter einem NIS Gateway [y/N] "
|
|
|
|
|
read ANSWER
|
|
|
|
|
if [ "$ANSWER" == "y" ]; then
|
|
|
|
|
echo -n "Bitte IP Adresse des NIS Servers eingeben: "
|
|
|
|
|
read NISSERVER
|
|
|
|
|
echo "domain $DOMAIN server $NISSERVER" >$ROOTDIR/etc/yp.conf
|
|
|
|
|
fi
|
|
|
|
|
break
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
done
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
WDIR=`pwd`
|
|
|
|
|
cd $ROOTDIR/etc
|
|
|
|
|
ln -sf /usr/share/zoneinfo/Europe/Berlin localtime
|
|
|
|
|
cd $WDIR
|
|
|
|
|
SWAP=`awk '{if ( $2 == "partition" ) print $1}' /proc/swaps`
|
|
|
|
|
if [ -n "$SWAP" ]; then
|
|
|
|
|
for i in $SWAP; do
|
|
|
|
|
echo "$i swap swap defaults 0 0" >$ROOTDIR/tmp/fstab
|
|
|
|
|
done
|
|
|
|
|
fi
|
|
|
|
|
if [ ! "$INSTROOT" ]; then
|
|
|
|
|
INSTROOT=$ROOTDIR
|
|
|
|
|
fi
|
|
|
|
|
if [ -f /tmp/mounts ]; then
|
|
|
|
|
FSTABENTRY=`grep "$INSTROOT" /tmp/mounts`
|
|
|
|
|
MOUNTS=/tmp/mounts
|
|
|
|
|
else
|
|
|
|
|
FSTABENTRY=`grep "$INSTROOT" /proc/mounts`
|
|
|
|
|
MOUNTS=/proc/mounts
|
|
|
|
|
fi
|
|
|
|
|
if [ ! -z "$FSTABENTRY" ]; then
|
|
|
|
|
cat $MOUNTS|grep $INSTROOT >>$ROOTDIR/tmp/fstab
|
|
|
|
|
fi
|
|
|
|
|
echo "none /proc proc" >>$ROOTDIR/tmp/fstab
|
|
|
|
|
echo "none /proc/bus/usb usbfs" >>$ROOTDIR/tmp/fstab
|
|
|
|
|
echo "none /dev/pts devpts gid=4,mode=620" >>$ROOTDIR/tmp/fstab
|
2010-04-07 16:24:08 +00:00
|
|
|
|
echo "none /tmp tmpfs" >>$ROOTDIR/tmp/fstab
|
2008-05-03 17:00:46 +00:00
|
|
|
|
if [ ! -z "$FSTABENTRY" ]; then
|
|
|
|
|
sed "s/\\$INSTROOT /\/ /" $ROOTDIR/tmp/fstab \
|
|
|
|
|
|sed "s/\\$INSTROOT//" >$ROOTDIR/etc/fstab
|
|
|
|
|
fi
|
2009-06-03 17:22:14 +00:00
|
|
|
|
rm $ROOTDIR/tmp/fstab
|
2010-12-01 10:15:38 +00:00
|
|
|
|
mkdir /var/db/nscd
|
|
|
|
|
mkdir /var/run/nscd
|
|
|
|
|
chown nscd:sys /var/db/nscd
|
|
|
|
|
chown nscd:sys /var/run/nscd
|