www.fabiankeil.de/blog-surrogat/2006/07/27/netbsd-kurz-test.html

Oberflächiger NetBSD-Test

Die Installation der kleineren Privoxy-Erweiterungen ist deutlich bequemer, wenn man die Erfüllung der Abhängigkeiten dem Ports-System des genutzten Betriebsystems überlassen kann.

Für FreeBSD-Nutzer waren die benötigten Schritte bereits seit Anfang an beschrieben, die für OpenBSD-Nutzer wurden letzte Woche ergänzt, Benutzer anderer Betriebssysteme auf die Privoxy-Dokumentation verwiesen, die auf die benötigten Abhängigkeiten nicht näher eingeht.

Da NetBSD ebenfalls über ein ausgereiftes Port-System verfügt, von dem ich bislang nur Gutes gehört hatte und das zudem von einigen andren Projekten aufgegriffen wurde, habe ich mir letzte Woche NetBSD 3.0 unter Qemu installiert, um die Installations-Anleitung für die Privoxy-Erweiterungen ergänzen zu zu können.

Außerdem interessierte mich, wie sich die Installation im Vergleich zu FreeBSD und OpenBSD macht.

Installation

[Screenshot: Verworrene sysinst-Meldung zur Festplatten-Geometrie.] NetBSD nutzt sysinst, das von der Funktion her FreeBSDs sysinstall ähnelt und Partitionierung, Installation sowie die Basis-Konfiguration des Systems unter einer Oberfläche gliedert.

Während sysinstall und das bei OpenBSD zur Installation genutzte Skript nur in Englisch verfügbar sind, bietet sysinst die Menüs mehrsprachig an. Ich habe den Eindruck, dass man auch mit NetBSD ohne Englisch-Kenntnisse keine Freude hat, die Sprachwahl wird die Einstiegs-Hürde vielleicht etwas senken, aber ansonsten eher falsche Erwartungen wecken, als wirklich zu nutzen.

Gewählt habe ich Deutsch, beim nächsten Mal würde ich beim Original bleiben, das wahrscheinlich besser gepflegt wird. Bei der Partitionierung fehlt ein Teil des letzten Satzes, bei der Geometrie-Meldung muss man den Sinn erraten und Koppelstriche werden generell nur in Ausnahmefällen gesetzt. Zwischen Slice und Partition wird nicht unterschieden, möglicherweise ist das bei NetBSD aber grundsätzlich so.

Immerhin: der abgeschnittene Satz und eine unbedeutende Abweichung zwischen Menüpunkt und Beschreibung wurden bereits wenige Stunden nach PR-Eingang beseitigt, die Deppenleerzeichen werden aber vermutlich noch eine Weile für Verwirrung sorgen: auf der deutschen NetBSD-Website fehlen die Koppelstriche fast durchgehend; die autonome Rechtschreibung geht so weit, dass das NetBSD-Projekt den eigenen Namen falsch schreibt und ein Patch dazu mehr als ein Jahr liegen bleibt.

[Screenshot: Partitionierung mit sysinst. Weiße Schrift auf blauem Grund, überlappende Fenster.] Von der Sprach-Barriere abgesehen überzeugte sysinst mit konsistenter Tastenbelegung. Bei sysinstall weiß ich nie, ob der Druck auf Enter sich auf einen Menü-Punkt bezieht oder bereits die aktuelle Auswahl als ganzes bestätigt und zum nächsten Menü führt.

Die Partitionierung ist ebenfalls gut gelöst und ohne Vorkenntnisse zu meistern, bei FreeBSD halte ich sie für grenzwertig, das OpenBSD-Team liefert das Booklet mit der Beispiels-Installation sicher nicht umsonst mit.

Ebenfalls praktisch: bei sysinst können die Dateisystems-Größen die ganze Zeit über verändert werden; eine mit einem Plus markierte Partition bekommt automatisch den verbliebenen Speicherplatz zugeordnet. Wenn nach dem Erstellen der letzten Partition noch Platz für eine der vorher erstellten Partitionen frei ist, müssen also nicht erstmal die dazwischen liegenden Dateisysteme wieder gelöscht werden.

Netzwerk?

Nach der Installation und ein paar Konfigurations-Fragen erreichte sysinst wieder das Anfangs-Menü mit der Option den Rechner neu zu starten. Ein etwas seltsames Konzept, das aber auch bei sysinstall genutzt wird. Nach dem Neustart mussten Netzwerk-Konfiguration und der ersten Nutzer von Hand angelegt werden, sysinstall beinhaltet beides, bei der OpenBSD-Installation werden zumindest die Netzwerk-Einstellungen abgefragt.

[Screenshot: sushi-Netzwerk-Menü nach Core Dump] Das unter FreeBSD und OpenBSD verfügbare adduser(8) existiert unter NetBSD nicht, stattdessen habe ich sushi(8) genutzt, ein Menü-basiertes Programm für die System-Konfiguration, dessen Funktionsumfang sich teilweise mit dem von sysinst überschneidet.

Der Nutzer ließ sich problemlos – wenn auch vergleichsweise zeitaufwendig – anlegen, die Versuche die Netzwerkkarte einzurichten endeten jedoch reproduzierbar mit einem Segfault, soviel zum well written code.

ifconfig und route respektierten ihre Speicherbereiche dagegen, für die dauerhafte Speicherung der Werte sind /etc/rc.conf und /etc/ifconfig.ne2 zuständig, wobei ne2 der Name der Netzwerkkarte ist. Diese und andere erste Schritte können der von OpenBSD stammenden afterboot-Manpage entnommen werden.

Dort gibt es außerdem den Tipp, mit ifconfig -a die Netzwerkkonfiguration zu überprüfen; die Netzwerkkonfiguration über sysinst scheint also prinzipiell möglich zu sein.

Falls NetBSD einen Editor bietet, der mit einem Modus auskommt, habe ich ihn übersehen. Gefunden habe ich nur vi. Unter FreeBSD gibt es zusätzlich den für kleinere Dinge ausreichenden ee, unter OpenBSD die Offenbarung mg, die alle wichtigeren Emacs-Kommandos versteht.

pkgsrc-Bevormundung

Nachdem der Zugang zum Internet klappte, konnte ich endlich das hochgelobte Paket-System ausprobieren. Auf die Schnelle habe ich keine Vorteile gegenüber FreeBSDs Ports-System gefunden, allerdings auch keine größeren Nachteile.

Die Installation der Privoxy-Erweiterungen ist etwas umständlicher als unter FreeBSD: unter NetBSD enthält die für jeden Port vorhandene Datei distinfo auch Patch-Prüfsummen; Patches ohne Prüfsumme werden ignoriert. Da Prüfsumme und Patch aus der selben Quelle kommen, erschließt sich mir der Sinn nicht, für die Systemsicherheit bringt diese Maßnahme jedenfalls nichts.

In man package habe ich keinen Weg gefunden, die überflüssigen Prüfsummen-Kontrolle zu überspringen, war aber auch egal, nach manuellem Anlegen der Prüfsumme über sha1 patch-current.patch >> distinfo scheiterte das Patchen am patch-Parameter -F0, für den ich ebenfalls keine Gegenmaßnahme fand.

Der Privoxy-Patch basiert auf Privoxys Entwickler-Version; um damit ohne Anpassung den Quelltext von Privoxy 3.0.3 zu erweitern wird der fuzz factor 2 benötigt. Auch unter NetBSD der Standard-Wert, für das Paket-System aber ausdrücklich deaktiviert. Vermutlich mit guter Absicht – für mich sehr lästig.

Durch die nicht optionalen pkgsrc-Marotten erfordert die Installation der Privoxy-Erweiterungen eine Unterbrechung zum manuellen Einspielen des Patches, sicher kein Drama, aber auch nicht übermäßig elegant.