Gentoo Linux
Gentoo Linux ist eine portbasierte High-Speed Distribution für den erfahreren Linux-Benutzer. Diese Distribution hat ihren Namen von einer besonders schnellen, wenn auch kleineren Pinguin-Art. Der Erfinder und derzeitige Chef des Gentoo Projekts ist Daniel Robbins. Die aktuelle Version 1.4 wurde am 5. August 2003 freigegeben.
Die Distribution benutzt nicht wie die meisten anderen Distributionen vorkompilierte Programmpakete, sondern fast nur Quelltexte, die man selbst kompilieren muss. Nur ein Basissystem ist bereits fertig kompiliert. Sie eignet sich hervorragend für alle Personen, die möglichst viel Kontrolle über ihr System erhalten möchten.
Gentoo hat ein ports-ähnliches Paketverwaltungssystem namens Portage. Das Tool um Portage zu benutzen heißt emerge. Ein emerge sync aktualisiert zum Beispiel über das Internet den lokalen Portage tree auf der Festplatte. Er enthält eine komplette Sammlung von so gennanten ebuild-Scripten. Darin werden Abhängigkeiten, Downloadort der Sourcen und der Ablauf der Kompilierung festgelegt. Anhand dieser Informationen ist es Portage möglich Abhängigkeiten selbstständig aufzulösen, Updates durchzuführen und vieles mehr.
Grundsätzlich läuft eine Softwareinstallation mit Portage wie folgt ab:
Der Benutzer muss nur als root auf der Kommandozeile emerge paketname (z.B. emerge apache) eintippen. Portage sucht daraufhin das entsprechende ebuild im Portage tree und überprüft, ob die Software andere Pakete braucht, um zu funktionieren. Sollte eine solche Abhängigkeit bestehen, wird sie aufgelöst, indem die benötigen Pakete installiert werden. Ist das erledigt lädt Portage den Quelltext des Programms als komprimierte Datei vom Server und überprüft per MD5-Prüfsumme, dass die Datei nicht kaputt ist. Anschließend wird sie temporär entpackt und das Makefile erstellt, das zur Kompilierung unbedingt notwendig ist. Der Quelltext wird nun in einer Sandbox kompiliert. Der Compiler ist dabei in der Lage, das Paket auf die benutzte Hardware zu optimieren. War die Kompilation erfolgreich, werden Dokumentation (Manpages etc.), Konfigurationsdateien und natürlich die entstandenen Binärdateien in die entsprechenden Verzeichnisse auf dem System kopiert. Die Software ist nun installiert.