Gentoo ist eine Linux-Distribution, bei der es oft nur zwei Stimmungen gibt:

  • Die einen lieben es für die Freiheit, alles individuell und auf das eigene System abgestimmt, einrichten zu können.
  • Die anderen verziehen das Gesicht, aufgrund des Zeitaufwandes und der Komplexität die es mit sich bringt.

Warum es, meiner Meinung nach, sinnvoll ist, dass sich jeder vom Fach einmal damit auseinandergesetzt haben sollte, will ich in diesem Artikel näher erläutern.

Im Übrigen: auch wenn sich Gentoo auf unterschiedlichen Architekturen installieren oder als reines Serversystem nutzen lässt (aber auch in diversen anderen Bereichen), will ich mich hier auf die Anwendung eines klassischen Desktop-Systems konzentrieren. Für die meisten Privatpersonen ist das ein greifbarer Ansatz und motiviert eher dazu, sich aktiv damit zu beschäftigen (und Zeit braucht ihr, so viel ist klar!).

Gentoo Logo © Gentoo Foundation & Lennart Andre Rolland | CC-BY-SA/2.5

Was ist Gentoo überhaupt?

Ich werde hier nicht darauf eingehen, was Linux per se überhaupt bedeutet. Dafür gibt es andere Artikel. Ich möchte mich auf das Konzept von Gentoo als Betriebssystem konzentrieren – Vorkenntnisse sind zum Verstehen jedoch nicht notwendig.

Wenn mich jemand fragt, vergleiche ich Gentoo gerne anhand des Beispiels eines Neuwagen, vor allem bei Menschen die sich mit der IT-Welt nicht sonderlich auskennen, ist das meist recht hilfreich:

  • Windows-Systeme stellen dir einen Flyer zur Verfügung, bei dem du zwischen ein paar Modellen wählst, die Farbe bestimmst und anschließend damit davon fährst.
  • Unter auch als Laien eher „bekannteren“ Linuxsystemen, wie zum Beispiel Ubuntu, stelle dir einen Katalog vor – aus diesem wählst du ein Modell und zusätzlich diverse Modifikationen wie Felgen, Motor, Innenausstattung…
  • Bei Gentoo… nun, wirst du mit Schrauben, Werkzeug und Einzelstücken überschüttet und du baust dir deinen Wagen selbst zusammen.

Das mag nun etwas dramatisch klingen, sollte aber ausreichen um sich ein erstes, symbolisches Bild davon zu machen.

Aber was unterscheidet Gentoo nun gegenüber den meisten anderen Distributionen?

Quelltexte und USE-Flags

Gentoo ist eine quellbasierte Distribution. Pakete stehen (üblicherweise) nicht als Binärversion zur Verfügung und müssen aus dem Quelltext heraus kompiliert werden (ein Umstand, der viel Wartezeit in Anspruch nimmt). Unterstützt wird der Anwender dabei durch die Gentoo-eigene, leistungsstarke Paketverwaltung Portage.

Dabei kommt eine besondere Eigenheit von Gentoo zum tragen: die USE-Flags.
Mit diesen Angaben, die für jedes Paket einzeln (aber auch global) gesetzt werden, teilt man dem zu installierenden Paket mit, mit welcher Unterstützung oder Abhängigkeit es gebaut werden soll.

Beispiele?

  • Entwickeln wir ein PHP-Projekt in Verbindung mit einer PostgreSQL-Datenbank, dann brauchen wir in der Sprache keine Unterstützung von MySQL/MariaDB, SQLite, usw. – also lassen wir diesen Teil einfach weg und verschlanken sowohl das Paket, als auch die Abhängigkeiten, die diese Unterstützung mit sich führt.
  • Brauchen wir keine grafische Oberfläche, zum Beispiel im Serverbetrieb, entfernen wir die Unterstützung für Window Manager.
  • Wird Gentoo für ein Clustersystem genutzt, fügen wir das entsprechende Flag für den notwendigen Support mit hinzu.

Warum das sinnvoll ist?

Wir lernen viel über Abhängigkeiten und welche Pakete wie (und warum) zusammenhängen. Vor allem wenn sich Pakete gegenseitig blockieren (block oder slot conflicts wird jeder Gentoo-Benutzer kennen oder kennenlernen…).

Und: Wie recherchiert man richtig um diese Probleme zu beheben.
Klingt komisch, ist aber so.
Später dazu mehr.

Installation und Kernel

Installation
Gentoo besitzt keinen Installer. Um ein solches System zu installieren, bootet man von einer Live-CD (Gentoo bietet auch eine eigene Variante dafür an) und installiert notwendige Basics über die Shell – ja, das heißt, es gibt keine grafische Oberfläche und kein zusammenklicken. Die erwähnten Basics bestehen hier aus jenen Werkzeugen, die man braucht, um Pakete überhaupt kompilieren zu können. Danach geht es in einer chroot-Umgebung weiter.

Bis zu dem ersten Reboot in ein laufendes Minimalsystem dauert es eine Weile – und viele Befehle warten darauf, angewendet zu werden (das Handbuch bietet jedoch einen sehr hilfreichen roten Faden).

Im Übrigen gibt uns Gentoo nicht vor, welche Software wir nutzen sollen. Während der Installation werden im Handbuch auch oft verschiedene Alternativen erwähnt. Weiterführende Hintergründe, was für einen am ehesten geeignet ist, muss man sich natürlich erst noch anlesen.

Kernel
Einer der Schritte auf dem Weg zum lauffähigen System, ist die Konfiguration des Kernels. Hierbei stellt man nicht nur die Treiber für die Hardware zusammen, sondern gibt auch an, welche ergänzende Unterstützung gewünscht oder notwendig ist (Dateisysteme, Sound, Virtualisierung, kryptographische Verfahren, …).

Warum das sinnvoll ist?

Zum einen lernen wir SEHR viel über die Benutzung der typischen Linuxbefehle und die Nutzung der Shell im Allgemeinen.

Darüber hinaus erfahren wir einiges über die Funktionsweise von Linuxsystemen, aber auch allgemein nützliche Vorgehensweisen, die sonst nur knapp abgehandelt werden (Vor-/Nachteile von Dateisystemen, Mounten, Runlevels, Konfiguration eines Bootloaders, Nutzer- und Gruppenverwaltung, Netzwerkkonfigurationen, uvm.).

Des Weiteren lernen wir durch den Kernel unsere Hardware besser kennen.
Wie oft schon musste ich nach dem Reboot feststellen, dass ich den falschen Chipsatz der Netzwerkkarte angegeben hatte…

Problemlösung und Sprache

Okay, das klingt vielleicht ein wenig merkwürdig.
Fakt ist aber: Wer Gentoo benutzt, wird früher oder später auf Probleme stoßen, weil irgendetwas nicht funktioniert. Eher früh als spät. Sehr früh.

Dann gilt es: Lösungen finden – sei es durch die Anwendung von Vorkenntnissen oder indem man online recherchiert. Dabei wird einem schnell auffallen, dass viele Benutzer ähnliche Probleme haben, aber nicht genau dasselbe.
Ebenso wird man feststellen müssen, dass viele erfolgreiche Lösungsansätze bei einem selbst nicht funktionieren, weil irgendeine der unzähligen Einstellungen anders konfiguriert wurde, andere Abhängigkeiten existieren oder, oder, oder

Dann heißt es: Nachdenken und logisch vorgehen.

Warum das sinnvoll ist?

Wir lernen viele verschiedene Methoden und Ansätze kennen, um Fehlerquellen zu lokalisieren. Auch wenn wir dabei nicht erfolgreich sind, so bleiben die Ansätze anderer Benutzer im Kopf hängen und man bekommt nach und nach ein Gespür dafür, welche Ursachen welche Symptome zeigen – oder andersherum.

Oh, und was die Sprache betrifft: Foren und Anleitungen sind meist englischsprachig – bei der Menge und Komplexität an Problemen, die es zu lösen gilt, ist das ein tolles Training 😉

Ein paar Worte zum Abschluss

Gentoo ist anstrengend. Keine Frage. Aber wer die Zeit hat, sich ein wenig damit zu beschäftigen, wird eine eigenartige Freude daran erleben. Man baut sich sein System in Kleinarbeit zusammen, richtet es ein, pflegt die ständig aktualisierten Paketversionen, … wer das macht, braucht kein Haus mehr zu bauen, um etwas erschaffen zu haben.

Ich selbst benutze Gentoo seit 2006, ohne zuvor wirklich Kenntnisse in der Linuxwelt gesammelt zu haben – und seitdem ist es mein Standard-Betriebssystem zu Hause. Ein, zugegebenermaßen, eiskalter Einstieg in die Materie, aber ich habe es nie bereut. Ich habe sehr viel gelernt und nicht wenige dieser Kenntnisse konnte ich im späteren Arbeitsleben anwenden.

Natürlich gibt es auch andere Möglichkeiten, sich tiefer in die Materie einzuarbeiten: so greift ein Linux From Scratch gewiss noch tiefer ein und bietet ein ähnliches „Lernmodell“. Oder man bildet sich direkt über die LPIC-Prüfungen (Linux Professional Institute Certification) weiter.

Aber Hey, wer auf Individualität, Freiheit, eine (meist) echt nette und hilfsbereite Community sowie graue Haare steht, der findet in Gentoo seinen Seelenfrieden 😉

 


 

Wer mehr über Gentoo erfahren will:

 

Teilen
Dennys Bäz
Dennys Bäz arbeitet seit 2016 für das Beratungs- und Analystenhaus Avispador als Entwickler. Nebenbei studiert er Psychologie und Wirtschaftsinformatik. Sollte sich zwischendurch noch etwas Freizeit finden lassen, so wird diese genutzt um sich mit Themen aller Art auseinanderzusetzen und dabei so viele Facetten wie möglich kennen zu lernen, zahlreich vernachlässigten Hobbys & Interessen nachzugehen sowie eine Möglichkeit zu finden, auf Schlaf zu verzichten. Letzteres bislang ohne Erfolg.