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: