[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [linux-team] SuSE... tout n'est pas rose :-(



Kaixo !

On Tue, Jun 22, 1999 at 08:36:36AM +0100, Uytdenhoef, Pierre wrote:

> > Ce que j'aime avec les scripts de demarrage de Red Hat c'est qu'ils
> > ont pensé à ça; tu as, pour chaque interface, un fichiertexte, dans lequel
> > tu indiques tous les paramètres, entre autres le nom de l'interface
> > et aussi si elle doit utiliser dhcp ou non.
> Oui, c'est ce que j'ai lu un peu partout...  C'est un des points forts de
> redhat... avant je tournais sous redhat 5.0 avec une config assez simple
> (juste un petit lan)... comme je voulais réinstaller linux from scratch sur
> une nouvelle machine, je me suis dit que ca serait une bonne idée d'essayer
> une autre distribution...

Les scripts en question viennent dans le paquetage initscripts de Red Hat;
tu peux toujours essayer d'installer le initscripts de Red Hat avec
les *dhcp*.rpm de chez Red Hat.
En faisant très attention ('rpm -ql nom-paquetage' pour avoir la liste
des fichiers d'un paquetage installé; 'rpm -qpl nom-fichier.rpm' pour avoir
la liste de ce que contiens un paquetage non-isntallé. fais des sauvagardes
de tout ce que le initscripts de Red Hat va remplacer, utilise diff 
abondamment).

sinon, voici ce que font ces scripts:

* script ifup, pour configurer une interface, syntaxe: "./ifup ifcfg-XXX"
  avec XXX nom de l'interface (mais en fait peu importe; les vraies infos
  sont à l'interieur du fichier):
  - sourçage du fichier passé en $i, qui a un contenu semblable a celui-ci:

DEVICE=eth0
IPADDR=192.168.85.130
NETMASK=255.255.255.0
NETWORK=192.168.85.0
BROADCAST=192.168.85.255
ONBOOT=yes
BOOTPROTO=none

  - si BOOTPROTO=bootp appel de botpd ....
  - si BOOTPROTO=dhcp (ça t'interesse):

    echo -n "Using DHCP for ${DEVICE}... "
    IFNAME=${DEVICE} \
        /sbin/dhcpcd -c /etc/sysconfig/network-scripts/ifdhcpc-done ${DEVICE} 
    echo "echo \$$ > /var/run/dhcp-wait-${DEVICE}.pid; exec sleep 30" | sh

    if [ -f /var/run/dhcp-wait-${DEVICE}.pid ]; then
        echo "failed."
        exit 1
    else
        rm -f /var/run/dhcp-wait-${DEVICE}.pid
        echo "done."
        IPSETUP=yes
    fi

(le $IPSETUP mis a yes empêche l'appel de ifconfig eth0 ... par après;
 ne sera plus executé que ifconfig add -net ... ou add defautl eventuels
 ainsi que des appels a hostname si la machine n'a pas encore de nom
 (ou plus exactemment si le nom est "localhost.localdomain" ))

* reste donc ce fichier ifdhcpc-done, le voilà:

#!/bin/sh -x

SLEEPPIDFILE=/var/run/dhcp-wait-${IFNAME}.pid

if [ ! -f $SLEEPPIDFILE ]; then
    # the parent must have timed out already -- we can't do much about
    # it now
    echo "DHCP configured but ifup timed out"
    #exit 0
fi

# get the pid of the process which is waiting for this to complete
SLEEPPID=`cat $SLEEPPIDFILE`
rm -f $SLEEPPIDFILE
kill $SLEEPPID

if [ -f /etc/dhcpc/resolv.conf ]; then
        cp /etc/dhcpc/resolv.conf /etc
fi


* pour la desactivation de l'interface c'est le script ifdown, même
  syntaxe que ifup, et dont la partie interessante est celle-ci:

if [ "$BOOTPROTO" = dhcp -a "$ISALIAS" = no ]; then
        if [ -f /var/run/dhcpcd-${DEVICE}.pid ]; then
                kill `cat /var/run/dhcpcd-${DEVICE}.pid`
                rm -f /var/run/dhcpcd-${DEVICE}.pid
                exit 0
        fi
        exit 1
fi

ifconfig ${DEVICE} down


Bonne chance.


-- 
À bientôt,
Pablo Saratxaga

http://www.ping.be/~pin19314/		PGP Key available, key ID: 0x8F0E4975
---------
This message was sent by Majordomo 1.94.3. Please report problems to
manu@rtfm.be. If you want to be deleted from the list, send a mail to
majordomo@rtfm.be with "unsubscribe linux-team" in the body.