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

Re: [Debian] RFC: Laptop-Konfiguration



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 debian-user-de-request@lehmanns.de die im Subject
"unsubscribe <deine_email_adresse>" enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@Lehmanns.de
-----------------------------------------------------------

691 eingetragene Mitglieder in dieser Liste.


Reply to: