Dies ist eine AlteSeite aus unserem UseModWiki bei Sourceforge.
Bitte überarbeite die Seite, passe die Formatierung für das JSPWiki an und entferne diesen Text.
Vielen Dank!
= Pakete im Vergleich = == divine == Divine scheint (laut ''man divine'' und ''man divine.conf'') die gestellte Aufgabe recht gut zu lösen. Leider wird dafür natürlich eine neue Konfigurationsdatei ''/etc/divine.conf'' eingefügt. Divine wird in ''/etc/pcmcia/network.opts'' als ''start_fn'' eingetragen. Das heisst, die Konfiguration findet zuerst ganz normal statt, wie dort angegeben, so dass eine Default-Konfiguration besteht. Danach startet dann divine und prüft, ob eines der Netze, die es kennt, gefunden werden. Dann wird ggf. die Konfiguration geändert. Seltsamerweise wird in der Konfiguration kein Nameserver gesetzt, sondern ein Link auf eine resolv.conf-Kopie. Also hat man diese Dateien auch noch herumfliegen. Ein Betrieb mit einer nicht-PCMCIA-Karte sollte kein Problem sein, da man auch dort einen Befehl aufrufen kann, der nach erfolgter Standard-Konfiguration gestartet wird. == intuitively == Das Programm soll (lt. manpage) ein kompletter Rewrite von divine sein. Ansonsten sind die manpages sehr knapp und erklären alleine nicht, wie man das Programm einsetzen soll. Ich empfehle, vorher die manpage von divine zu lesen. Die Konfigurationsdatei hat ein anderes, etwas übersichtlicheres Format, was aber keinen grossen Unterschied macht. Ein Nameserver kann auch nicht in der Konfigurationsdatei gesetzt werden. Dafür wird nicht nur eine resolv.conf verlinkt, sondern der Inhalt eines ganzen Verzeichnisses, das alle möglichen Dateien für /etc enthalten kann. Eigentlich eine gute Idee, um z.B. die printcap, etc. anzupassen. == laptop-netconf == Dieses Programm erkennt das Netzwerk anhand einer einfachen Konfigurationsdatei und startet dann ein entsprechendes Skript. In diesen Skripten wird dann ''resolv.conf'' und ''interfaces'' durch einen Link auf eine spezielle Version vertauscht, danach ein '''ifdown; ifup''' gemacht. Diese Methode sieht mir etwas nach Brechstange aus und führt zu einer Vervielfachung von Konfigurationsdateien. == guessnet == guessnet ist eigentlich nicht für PCMCIA geeignet. Es ist auf das ''mapping''-Feature in ''/etc/interfaces'' abgestimmt. Auch hier wird kein DNS eingestellt, allerdings kann man auch hier up-Skripte angeben, die eine spezielle resolv.conf verlinken (oder erzeugen) können. Prinzipiell erscheint mir diese Lösung als sehr gut, weil für die eigentlichen Netzwerkeinstellungen eine vorhandene Konfigurationsdatei benutzt wird. Es muss lediglich ''start_fn'' in den Konfigurationsskripten einmalig geändert werden, damit das normale ''ifup'' von Debian aufgerufen wird. Dann hat man alle Netzwerk-Einstellungen in einer Datei zusammengefasst. == laptop-net == Hierbei handelt es sich um ein Paket mit einer sehr umfangreichen Dokumentation, die aussieht, als ob alle möglichen Eventualitäten erschlagen werden sollen. Es scheint der Mercedes unter den Kandidaten zu sein. So kann z.B. nicht nur ein /etc-Verzeichnis kopiert werden, sondern es gibt auch ein rc.d-Verzeichnis, so daß Dienste automatisch gestartet oder gestoppt werden können. Als einziges Programm unterstützt es Karten, die den Link-Beat angeben, d.h. es merkt auch ohne PCMCIA, wenn das Netzwerkkabel herausgezogen wird. Natürlich bedarf die ganze Geschichte völlig eigener Konfigurationsdateien. :-( Dennoch scheint es möglich zu sein, eine Grundfunktionalität in nur zwei Konfiguratiosdateien unterzubringen (eine, um Netzwerke zu erkennen und eine, um die Konfiguration des entsprechenden Netzwerks vorzunehmen). Und auch der DNS kann hier ganz einfach angegeben werden. Normale Karten werden sofort unterstützt, die Anbindung an PCMCIA-Karten findet auch über ''start_fn'' statt. == whereami == Im Sourcecode der PCMCIA-Skripte findet sich ein Verweis auf '''whereami''', also habe ich das auch noch untersucht. Es muss irgendwo aufgerufen werden und bietet eine Konfigurationsdatei, mit der man recht komfortabel verschiedenste Tests durchführen kann, um den Rechnerstatus festzustellen. So kann z.B. auch auf bestimmte PCI-Karten (sprich: Docking-Station) oder auch ganz einfach auf einen DHCP-Server etc. getestet werden. Dann kann ein bestimmter Befehl ausgeführt werden. Hier wäre z.B. ein '''cardctl''' angebracht. Leider wird das Programm im momentanen PCMCIA-Skript so aufgerufen, dass es erst läuft, wenn das PCMCIA-Schema bereits feststeht. :-( Natürlich kann man das auch ändern... = Fazit = Das beste Konzept ist IMHO '''guessnet''', da es ohne zusätzliche Konfigurationsdateien auskommt. Allerdings läuft es ohne weiteres nicht mit dem normalen PCMCIA-Konfigurationssystem. Falls man sich damit abfindet, ein neues Konfigurationssystem einzufügen, scheint '''laptop-net''' alle Eventualitäten abzudecken. Andererseits ist '''intuitively''' einfach und unkompliziert aufzusetzen. '''laptop-netconf''' und '''divine''' scheinen beide nicht aktuell genug zu sein und sind von Nachfolgeprojekten abgelöst. '''whereami''' bietet eine Erkennung nicht nur mit ARP-Paketen, aber praktisch brauche ich nur diese (höchstens DHCP als Fallback). Alle Pakete, die über die start_fn-Funktion ansetzen, könnten viel besser in die PCMCIA-Skripte integriert werden, wenn sie vor der Ausführung von ''network.opts'' laufen würden und dann das Schema mit '''cardctl''' setzen würden, so daß ''network.opts'' darauf reagieren könnte. Leider macht das keines von Ihnen. Da also sowieso eine Modifikation der PCMCIA-Skripte nötig ist, kann man auch auf guessnet setzen, das Interfaces normal über ''/etc/network/interfaces'' konfiguriert und damit die PCMCIA-Konfiguration ganz abschaffen. -- ThomasBayen