Forum Astuces.divers [Terminal] Choisir son profil reseau au démarrage (Redhat)

Posté par  (site web personnel) .
Étiquettes : aucune
0
19
mar.
2004
Redhat permet de créer des profiles de connection via son interface graphique redhat-config-network mais n'offre pas la possibilité de choisir au démarrage le profile désiré.

Pour remédier à cela, éditez un fichier /etc/init.d/netprofile comme suit :

#!/bin/sh
#
# netprofile: Active the good profile for the current session
#
# chkconfig: 345 06 94
# description: This is a script that activate the network \
# profile of your choice
#

# Sanity checks.
[ -x /usr/sbin/redhat-config-network-cmd ] || exit 0
[ -d /etc/sysconfig/networking/profiles/default ] || exit 0

# Source function library.
. /etc/rc.d/init.d/functions

RETVAL=0

# See how we were called.
case "$1" in
start)
cpt=0
arg=""
netprofile_before="default"

grep CURRENT_PROFILE= /etc/sysconfig/network 2>&1 >/dev/null
if test $? -eq 0
then
netprofile_before=`grep CURRENT_PROFILE= /etc/sysconfig/network | awk -F"CURRENT_PROFILE=" '{print $2}'`
fi

for profiles in `ls /etc/sysconfig/networking/profiles`
do
cpt=`expr $cpt + 1`
if test $profiles != $netprofile_before
then
arg="$arg $profiles - off"
else
arg="$arg $profiles - on"
fi
done

netprofile_after=`dialog --timeout 5 --radiolist "Quelle profile reseaux veux tu utiliser ?" 10 60 $cpt $arg 2>&1`
netprofile_after=`echo $netprofile_after | sed 's/"//g' `

if test "$netprofile_after" != "timeout"
then
if test $netprofile_after != $netprofile_before
then
/usr/sbin/redhat-config-network-cmd --profile ${netprofile_after}
RETVAL=$?
fi
fi
;;
*)
echo $"Usage: $0 {start}"
;;
esac
exit $RETVAL

puis faite un chkconfig --add netprofile

Vous aurez ainsi un beau menu graphique au démarrage de votre linux vous proposant les profils de connections puis au bout de 5 sec continuera normalement le démarrage de la machine si aucun choix n'est fait.
  • # Re: Choisir son profil reseau au démarrage (Redhat)

    Posté par  . Évalué à 1.

    Un grand merci!!!
    L'idée le démangeait mais je ne savais pas encore comment je devais m'y prendre...

    Donc encore merci!

    Romain
  • # Re: Choisir son profil reseau au démarrage (Redhat)

    Posté par  . Évalué à 1.

    Ça semble déjà fait (j'utilise pas cette fonctionnalité) :
    /etc/rc.d/rc.sysinit

    # Boot time profiles. Yes, this should be somewhere else.
    if [ -x /usr/sbin/system-config-network-cmd ]; then
    if strstr "$cmdline" netprofile= ; then
    for arg in $cmdline ; do
    if [ "${arg##netprofile=}" != "${arg}" ]; then
    /usr/sbin/system-config-network-cmd --profile ${arg##netprofile=}
    fi
    done
    fi
    fi


    Il faut utiliser "netprofile=<profile>" dans les parablèmes de boot.
  • # pas satisfasant :-)

    Posté par  . Évalué à 1.

    Et moi cela ne me satisfait pas puisque nous devons rebooter nos OSpour changer de profile alors que *rien* ne nous y oblige (cela se configure a chaud).

    Je me suis bien fait un script a moi qui reconfigure une redhat a la volee mais je n'utilise pas les profile reseau a-la-redhat, qui ne couvent pas tout (proxy web ...) et qui sont compliqués.
    [ pourquoi ompliqué ? -> utilise des tas de soffts binaires alors que de simples liens symboliques pourraient faire l'affaire, est limite a redhat alors que lma technique ci-dessous pourrait tres bien marcher sur n'importe quel unix (pas AIX), ... ]

    Mon systeme est simple:
    un repertoire /etc/PROFILES
    une copie de /etc/sysconfig, /etc/host, /etc/resolv.conf ... dans chaque sous repertoire de PROFILE par exemple:
    /etc/PROFILES/maison/hosts
    /etc/PROFILES/maison/sysconfig/...
    /etc/PROFILES/maison/rsolv.conf

    ensuite un lien symbolique dans /etc/PROFILES pointe sur le profile en cours d'utilisation:
    /etc/PROFILES/courant -> /etc/PROFILES/maison

    reste a remplacer les fichiers de /etc par des liens symboliques adequat:
    /etc/hosts -> /etc/PROFILES/courant/hosts

    ma commande "hostprofile" (un shell script) permet de lister les profiles disponibles et d'en changer a la volée. on peut aussi lui demander quel est le profile en cours.
    ainsi, je change en une commande le serveur ntp,dns, le nom de domaine, les config reseau, le proxy pour mozilla, le serveur de mail pour mozilla, la passerelle dans mon licq ... et sans rebooter.

    j'ai le projet (vieux) de RPMiser cela et d'automatiser un peur plus le procede ... faut que je trouve le temps.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.