Switchconf: Ein kleines, feines aber geniales Tool um die Konfiguration umzuschalten

Das Tool

Laptops sind (meistens) (mehr oder weniger) portabel. Sie müssen sich also viele verschiedene Dinge in ihren Netzwerkanschlüssen gefallen lassen; Andere Konfigurationen, Netze die mit PEAP gesichert sind, Luftnetze, wechselnde Drucker und Windowsshares, etcetc.

Auch zu Hause gibt es unter Umständen Konfigurationen mit und ohne externem Monitor, in verschiedenen Netzwerkzonen (jaa, das gibts wirklich auch zu Hause …) etcetc pipapo.

Natürlich kann man sich das automagisch erledigen lassen. Unter Debian mit ifupdown, etc… Ich mags aber unter meiner Kontrolle auf mein Kommando. Switchconf ist ein kleines, feines Tool, dass die Aufgabe elegant und einfach löst. Es kann für sich angewendet oder von einem, anderen Skript getriggert werden.

Funktionsweise

In einem konfigurierbaren Verzeichnis (normalerweise /etc/switchconf) werden Verzeichnisse für die Konfigurationen angelegt. Beispielsweise home und work. Dort kann nun ein kompletter Verzeichnisbaum mit den Dateien die zu dieser Konfiguration gehören aufgebaut werden; beispielsweise ein /etc/switchconf/home/etc/network/interfaces und ein /etc/switchconf/work/etc/network/interfaces. Das Kommando

switchconf home

grast nun das Ganze /etc/switchconf/home ab und erstellt symbolische Links (konfigurierbar, es kann auch hardlinken und kopieren) vom System auf diese Konfiguration. Also:
/etc/network/interfaces/etc/switchconf/home/etc/network/interfaces

Auf die Arbeitskonfiguration schaltet es um mittels:

switchconf work

Und der Link sieht so aus:
/etc/network/interfaces/etc/switchconf/work/etc/network/interfaces

Weiter gibt es noch die Verzeichnisse /etc/switchconf/before.d und /etc/switchconf/after.d. Alle Skripts in before.d werden vor, alle in after.d nach der Umstellung ausgeführt, damit können Daemons (Cups, PCMCIA, XSupplicant, …) neu gestartet werden damit sie die neue Konfiguration einlesen.

Mögliche Lösungen

Netzwerk
Die Datei /etc/network/interfaces für jede Konfiguration anpassen. Bei statischem DNS eventuell noch /etc/resolv.conf.
Windows Shares
Die Datei /etc/fstab und eventuell die Credentials für jede Konfiguration anpassen.
Zweitmonitor, X-Auflösung, etc…
Die Datei /etc/X11/xorg.conf für jede Konfiguration anpassen.
Drucker
Die Datei /etc/cups/printers.conf für jede Konfiguration anpassen.
XSupplicant, WPA_Supplicant
Die Datei /etc/default/xsupplicant für jede Konfiguration anpassen. ENABLED auf 0 oder 1 setzen, je nachdem ob man ihn will oder nicht…

Es wäre noch mehr denkbar wie SMTP-Host, Hintergrundbild, …

Switchconf kann auch von Netzwerkdetektoren wie laptop-netconf oder Guessnet angestossen werden. Ich finde sein Konzept etwas transparenter wie die eingebauten Monster dieser Produkte… Und vorallem kann man immernoch von Hand umschalten…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.