Am Don, Jan 04, 2001 at 09:27:58 +0100 schrieb Jens Benecke:
> On Tue, Jan 02, 2001 at 10:19:39PM +0000, Klaus-M . Klingsporn wrote:
> > Am Dienstag,  2. Januar 2001 17:45 hat Jens Benecke geschrieben:

> Das ist ein Ansatz. Ein weiterer ist divine - gibts sogar als Debianpaket.
> Das schwappt die komplette (wenn gew�nscht) Rechner konfiguration um,
> abh�ngig von dem DHCP Server von dem man gerade seine IP bekommen hat (und
> abh�ngig von den Einstellungen, die einem der DHCP aufgedr�ckt hat).

Ich habe mir mit Hilfe der Scheme-Tauglichkeit des PCMCIA-Packages
ein Skript gebastelt, das auch anderes, was nicht unmittelbar mit
dem Netz zu tun hat, anhand der Netzkonfiguration belegt
(z.B. werden verschiedene /etc/apt/sources-list-Inkarnationen gegen
sources-list gelinkt, je nach dem, wie fett die Leitung nach drau�en
ist, die zu diesem Netz geh�rt).

Die eigentlichen Netzfunktionen werden in /etc/pcmcia/network.opts
angelegt (cases) und werden bei mir ungef�hr so angesprochen (das
ganze ist sicher extrem unelegant, aber es tut und ist durchschaubar): 

#!/bin/bash
#
# Name:         /sbin/netcfg.sh
# Version:      0.1
# Zweck:        netenv f�r Arme, Skripten �ben.
#
# Das Skript kann mit Parameter�bergabe gestartet werden, $1
# ist dann das gew�nschte Scheme.
# Die Scheme-Namen m�ssen mit denen in /etc/pcmcia/network.opts �bereinstimmen.

if [ $# -ne 1 ] ; then  # �berpr�ft, ob die Anzahl der Parameter ungleich 1 sind.

    if [ $# -lt 1 ] ; then  # Schleife, wenn �# kleiner 1 ist.
       echo ""
       echo "Benutzung: $0 [scheme]"
       echo "  Das gew�nschte Scheme kann auch direkt als Parameter �bergeben werden."
       echo "  Es gibt z.Z. die folgenden Schemes, bitte w�hlen:"
       echo "      home"
       echo "      dhcp"

# und noch weitere...

       echo "  Ihre Auswahl:"

       read eingabe

       case "$eingabe" in
         home)           echo "  Das Netzdevice wird jetzt auf $eingabe umgestellt."
                            ;;
         dhcp)           echo "  Das Netzdevice wird jetzt auf $eingabe umgestellt."
                            ;;

       esac
       # Der tats�chliche Job
       /sbin/ifconfig eth0 down
       /sbin/cardctl scheme dummy &> /dev/null # ist notwendig, falls
                                               # man zum gleichen
                                               # Device wechselt, von dem man kommt.
        /sbin/ifconfig eth0 down
        /sbin/cardctl scheme $eingabe
        /sbin/ifconfig eth0

        # �ndern der sources.list auf das jeweilige Netdevice und die
        # Anbindung.
        echo "  Setze Link von /etc/apt/sources.list.$eingabe auf 
/etc/apt/sources.list."
        /bin/ln -sf /etc/apt/sources.list.$eingabe /etc/apt/sources.list

        # Genau so wird bei mir wwwoffle mit einer anderen
        # Konfiguration gestartet usw.

    elif [ $# -gt 1 ] ; then # Schleife, wenn $# gr��er 1 ist.
        echo "  Sie k�nnen nur einen Parameter �bergeben."
        echo "  Das Programm beendet sich jetzt."
        exit 1
    fi
# Hier f�ngt der Teil an, der wirksam wird, wenn eine Variable �bergeben wurde.

else

     case "$1" in
            home)           echo "  Das Netzdevice wird jetzt auf Scheme $1 
umgestellt."
                            ;;
# Und dann Analog zu oben...

#
case "$ADDRESS" in

Und die passende /etc/pcmcia/network.opts (ohne Kommentare, die stehen
in der Defaultversion)

# Fall zuhause
home,*,*,*)
    INFO="at home"
    BOOTP="n"
    DHCP="n"
    IPADDR="192.168.2.12"
    NETMASK="255.255.255.0"
    NETWORK="192.168.2.0"
    BROADCAST="192.168.2.255"
    GATEWAY="192.168.2.10"
    DOMAIN="sailtraining.de"
    SEARCH=""
    DNS_1="192.168.2.10"
    DNS_2="160.45.8.8"
    DNS_3=""
    MOUNTS="/mnt/cs"
    ;;
# Fall dhcp
dhcp,*,*,*)
    INFO="DHCP - Test"
    # Use BOOTP (via /sbin/bootpc, or /sbin/pump)? [y/n]
    BOOTP="n"
    # Use DHCP (via /sbin/dhcpcd, /sbin/dhclient, or /sbin/pump)? [y/n]
    DHCP="y"
    # If you need to explicitly specify a hostname for DHCP requests
    DHCP_HOSTNAME="reboot"
    ;;
esac

Gr��e,
Aleks
-- 
                
                airconditioned environment - do not open windows

--
-----------------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie bitte eine
E-Mail an [EMAIL PROTECTED] die im Subject
"unsubscribe <deine_email_adresse>" enthaelt.
Bei Problemen bitte eine Mail an: [EMAIL PROTECTED]
-----------------------------------------------------------

691 eingetragene Mitglieder in dieser Liste.

Antwort per Email an