=F6 über Debian ...

Tja. Was erwarte ich von einer Distribution? Und warum benutze ich ausgerechnet Debian - und das schon seit Jahren? Vermutlich sind es unterschiedliche Erwartungshaltungen, warum ich mit Debian so gut zufrieden bin.

Eine Distribution muss für mich das Basis-System realisieren - dieses muss stabil sein (aus dem Grund setze ich fast immer Debian Stable ein), sollte aber leicht erweiterbar sein (aus diesem Grund benutze ich an ausgewählten Stellen Rückportierungen aus Unstable oder Testing).

Die Distribution muss die Aktualisierung des Basis-Systems einfach machen - ein Basis-System besteht aus einem Haufen von Komponenten, die alle irgendwelche Löcher haben können. Ich hab keine Lust mich mit diesen potentiellen Löchern rumschlagen - das ist der Job der Distribution. Debian macht das durch apt nahezu trivial. Ich will sehen können was ein Upgrade bedeutet - damit ich entscheiden kann, ob ich ihn machen will oder nicht. Debian bietet dazu die Werkzeuge (z.B. die automatische Anzeige von Changelogs und kritischen Bugs vor der Installation eines Paketes). Die Distribution muss mir an definierten Stellen und mit einfachen Mitteln das Ausbrechen aus der normalen Distribution ermöglichen. Jede Binärdistribution hat das gleiche Problem: Paketmaintainer suchen aus, wie Programme konfiguriert sein sollen. Das geht oft gut - gelegentlich geht es aber auch extrem schief. Daher muss eine Binärdistribution es ermöglichen die Pakete notfalls selber zusammenzustellen. Bei Debian ist die Buildstruktur für Pakete sehr einfach aufgebaut. Die Anpassung von Paketen, die Rückportierung von Paketen aus Unstable oder Testing (um neuere Versionen als in der Stable zu bekommen) und die Erstellung eigener Pakete ist einfach. Ich bin nicht in das Korsett der Stable gezwungen - kann aber trotzdem in der Stable für das Grundsystem bleiben, um die gute Security-Infrastruktur von Debian zu nutzen. Das es zusätzlich trivial ist die eigenen Pakete auf viele Maschinen zu verteilen in dem man ein eigenes Paketrepository aufbaut und dieses neben den Standardrepositories einbindet ist nicht nur nice to have - es ist bei genügend grosser Anzahl von Maschinen essentiell.Eine Distribution muss funktionierende Paketabhängigkeiten haben und diese verdammt noch mal auch benutzen. Und zwar durchgängig. Ich habe keine Lust ein Programm zu starten und dann komische Meldungen zu kriegen, nur weil irgendwelche Libraries oder andere Tools fehlen. Klar, andere Distributionen haben auch Abhängigkeiten - aber manchmal sind sie optional oder nur sehr flach im Einsatz. Debian ist durchgängig und geht sehr in die Tiefe - alles baut auf den Dependencies auf. Dadurch kann man sich relativ sicher sein, das Abhängigkeiten erfüllt sind, wenn man ein Paket normal installiert. Wenn nicht, ist das ein klarer Bug und kann über das Bugreporting gemeldet werden - und wird auch behoben. Abhängigkeiten sind nicht nice to have, sondern essential. Punkt. Natürlich muss eine Distribution auch bei den Abhängigkeiten Ausbrüche aus dem Korsett erlauben. Debian hat dazu mehrere nette Utilities, mit denen man Abhängigkeiten lösen kann - z.B. Pseudopakete, die einfach nur sagen das ein bestimmtes Paket installiert sei. Dieses Paket kann dann durchaus handinstalliert sein. Eine Distribution muss wissen was Config-Files sind. Das heisst das sie unter keinen Umständen auf meinen Config-Files rumzutrampeln hat. Wenn eine Distribution bei einem Update meine Configs überschreibt und ich Kommentare ala mach vorher Backups davon kriege, fliegt die Distribution raus. Sorry, aber da habe ich absolut keine Toleranz. Eine Distribution hat eine Konfiguration nur unter klar definierten Umständen zu ändern. Und nein, ich habe da auch mit Debians debconf nicht viel Mitleid - wenn der Paketupgrade meine Configs schreddert, hagelt es Bugreports. Configfiles gehören mir, nicht der Distribution. Basta. Eine Distribution soll verdammt noch mal nicht versuchen alle Probleme der Welt zu lösen. Und vor allem soll sie möglichst nicht versuchen schlauer zu sein als die ursprünglichen Programmierer eines Paketes. Wenn ein Programm eine Struktur an Configfiles hat, dann soll die mindestens optional ohne Probleme mit der Distribution genutzt werden können. Und das heisst auch, das die Distribution nicht drauf rumtrampelt, nur weil sie meint das sie ein besseres Tool dafür hat. Abgesehen davon stinken alle Konfigurationswerkzeuge aus dem Mund.

Worauf ich nicht unbedingt scharf bin: immer die allerneuesten Pakete zu haben. Sorry Leute, aber das ist die blöde Updateritis die im Windows-Land um sich greift. Immer das neueste haben müssen. So ein Blödsinn. Apache 1.3 macht seinen Dienst gut, nicht mal die neueste 1.3 muss man haben - wenn die Security-Patches rückportiert wurden. Und das macht Debian. Security-Pastches für die Stable aktualisieren nicht einfach kommentarlos auf eine neue Version mit neuen, unbekannten Problemen. Statt dessen wird - wenn möglich - der Patch in die alte Version rückportiert und darüber verfügbar gemacht. Security-Updates sollten nur unter absoluten Ausnahmezuständen Konfigurationsänderungen des Admins erfordern oder Systemkomponenten abändern, was zu potentiellen Problemen führt. Ich will vor und nach dem Update ein glatt laufendes System haben!

Auch bin ich nicht besonders scharf auf tolle grafische oder textorientierte Konfigurations- oder Administrationswerkzeuge. Sorry, aber das ideale Werkzeug für diese Zwecke heisst vim und das perfekte Datenformat sind Textdateien. Und ja, ich kann debconf nicht sonderlich gut leiden - zum Glück kann man es an den Stellen wo es nervig wäre schlicht umgehen - und Debian lässt die Pfoten von den vorhandenen Standardkonfigurationen, auch wenn ein Paket normalerweise debconf benutzt. Wenn nicht, ist das ein Bug.

Ich erwarte aber von einer Distribution eine gewisse Transparenz in dem was sie treibt. Ich halte nichts von Ein-Mann-Shows in die man nicht reingucken kann - wo einer selbstherrlich entscheided was gut oder richtig ist. Oder vielleicht auch wenige. Ich will in alles reingucken können - denn auch der Prozess der Distributionserstellung kann Bugs haben, die für mich wesentlich sind. Daher bin ich auch garnicht scharf darauf das eine Firma eine Distribution aufbaut. Sorry, aber früher oder später kommen dann die tollen Gewinnmaximierungsstrategien ala RedHat Enterprise oder den vergleichbaren Suse-Ansätzen. Wenn eine Distribution den Standardmailer wechselt, will ich die Diskussion dazu sehen, warum er gewechselt wird - mit den Pro- und Contra-Argumenten. Ich will nachvollziehen können, warum sich etwas wie entwickelt. Ich will vorgewarnt sein. Natürlich interessiert mich das nicht bei jedem Paket - aber bei den wesentlichen, die mich interessieren, will ich diese Informationen. Transparenz ist wichtig - das fängt bei einem transparenten Bugtracking an und endet bei einer transparenten Projektstruktur. Hätte ich kein Interesse an Transparenz könnte ich genausogut Solaris installieren. Oder Windows. Womit ich keine Probleme habe: eine Lernkurve beim Einsatz des Systems. Systemadministration ist ein Job. Ein Job erfordert Lernen. Wer nicht bereit ist zu lernen sollte die Finger von dem Job lassen. Argumente ala da muss ich ja erst verstehen wie das System arbeitet zählen nicht. Es gibt Haufenweise Dokumentationen und gute Bücher zur Debian als Startpunkt. Lesen. Lernen. Das gehört nunmal dazu. Dagegen helfen auch keine bunten Werkzeuge und keine vollmundigen Versprechungen von Herstellern über die einfachste zu installierende Linux Distribution - alles Bullshit. Wenn es hart auf hart geht, muss man das System vom Kernel bis zum Dotfile beherrschen können. Und dazu muss man sowieso lernen, egal wie die das System heisst. Das Erlernen einer Distribution und deren Funktionieren ist eine Investition für Jahre. Daher will ich auch nicht meine Investition den Bach runter gehen sehen, nur weil mal eben das System wild umgebaut wurde, weil es dem Hersteller so gefällt oder weil es cooler ist oder weil es sich so besser verkauft, weil ein weiteres Buzzwort erfüllt ist. Distributionen benötigen Evolution, nicht Revolution.

Debian ist nicht die perfekte Linux Distribution - die gibt es nicht. Aber Debian ist verdammt nah dran.

Bei Die wunderbare Welt von Isotopp gibts den Originalartikel.

tags: Sysadmin