Gentoo Linux (englische Aussprache [Linux-Distribution für fortgeschrittene Linux-Benutzer, die ihr System individuell einrichten möchten. Voraussetzung dafür ist die Bereitschaft, sich mit den Abläufen eines Linux-Systems und der ausführlichen Dokumentation auseinanderzusetzen. Gentoo ist ein Warenzeichen der Gentoo Foundation, Inc., einer Non-Profit-Organisation.
]) ist eine quellbasierteGentoo Linux | |
---|---|
Gentoo Linux Livesystem | |
Entwickler | Gentoo Foundation, Inc. |
Lizenz(en) | GNU GPL und andere |
Akt. Version | 23.0 profile; ständige Rolling Releases, Installationsmedien wöchentlich (2024-03-22) |
Kernel | Monolithischer Kernel Linux (Kernel) |
Abstammung | Linux ↳ Gentoo Linux |
Architektur(en) | Alpha, AMD64, ARM, ARM64, HPPA, IA64, Loongson, m68k, MIPS, PPC/PPC64, RISC-V, S/390, SPARC, x86 |
Kompatibilität | POSIX |
www.gentoo.org |
Anfang Dezember 2010 trat die Gentoo Foundation, Inc. dem Open Invention Network bei, das sich für die freie Verfügbarkeit von Softwarepatenten einsetzt. Im europäischen Raum ist der deutsche Förderverein Gentoo e. V. der Inhaber der Markenrechte. Der Name „Gentoo“ wurde nach einer besonders schnell schwimmenden Pinguinart, dem Eselspinguin (englisch gentoo penguin), gewählt, wobei der Name auf das offizielle Maskottchen Tux des freien Betriebssystemkerns Linux, das einen Pinguin darstellt, Bezug nimmt.
Projekt
BearbeitenAllgemeines
BearbeitenGründer und langjähriger Chef des Gentoo-Projekts war der US-amerikanische Programmierer Daniel Robbins. 1999 begann er mit der Entwicklung einer eigenen Linux-Distribution, die er zunächst Enoch nannte. Der Namenswechsel fand am 4. Oktober 1999 mit der Registrierung der Domain gentoo.org statt. Dieses Datum wird heute offiziell als „Geburtstag“ Gentoos aufgefasst.[1] Im Jahr 2004 verließ Robbins das Projekt.[2] Seit seinem Weggang wird Gentoo von dem Kuratorium (Board of Trustees) der Gentoo Foundation geleitet. Entscheidungen über technische Aspekte und Richtlinien trifft ein siebenköpfiger Council. Trustees und Council werden von den Mitgliedern der „Foundation“ bzw. den aktiven Entwicklern gewählt.
Unterschiede zu anderen Distributionen
BearbeitenGentoo unterscheidet sich in mehreren Punkten entscheidend von vielen anderen Linux-Distributionen. So ist Gentoo eine quellbasierte Distribution, bei der in der Regel alle Pakete vor der Installation übersetzt werden. Der dafür nötige Zeit- und Rechenaufwand, aber auch der so mögliche tiefe Eingriff in Konfigurations- und Optimierungsmöglichkeiten ist bei auf binären Paketen basierten Distributionen nicht gegeben.[3] Gleichwohl lassen sich auch wie bei letzteren vorkompilierte Programme nutzen. Ebenso gibt es nur wenig automatisierte Abläufe, was eine hohe Kontrolle des Systems ermöglicht, die aber auch entsprechende Kenntnisse voraussetzt.
Die Tatsache, dass die Arbeitsweise des Gentoo-Projekts nicht versionsorientiert ist, führt zu einem kontinuierlichen Aktualisieren des Systems, im Gegensatz zu einer stufenartigen Aktualisierung, wie dies bei den meisten klassischen Distributionen der Fall ist. Auf diesem Weg ergeben sich Migrationsprobleme immer nur für einzelne Programmpakete, nicht aber für eine ganze Distributionsversion. Auch kann der Nutzer so über jede verwendete Version eines Programms selbst entscheiden.
Hinzu kommt, dass mit vergleichsweise einfachen Mitteln eigene Distributionen auf der Basis von Gentoo erstellt und distribuiert werden können, um zum Beispiel für Spezialanwendungen wie Cluster oder Rechnerpools zu genügen. Gentoo kann als Distributionsbaukasten eingesetzt werden. Zum Beispiel basiert ChromeOS auf Gentoo. Gentoo wurde benutzt, um Linux auf Macintosh-Rechner mit einer Intel-CPU zu portieren.[4]
Versionen
BearbeitenBei Gentoo Linux gibt es keine Versionen im eigentlichen Sinn, sondern Veröffentlichungen (engl. Release) eines Entwicklungsstandes (engl. Snapshot), sogenannte Rolling Releases, auf dessen Basis unter anderem die stage
-Archive und Live-Systeme erstellt werden. Größere Neuerungen werden in Form von profiles (engl. für „Profil“) verfügbar gemacht.
Bei einem installierten Gentoo-System gehen die einzelnen Versionen bei regelmäßigem Aktualisieren des Portage-Trees ohne größere Umstellungen ineinander über. Die Version des Basissystems (engl. base system) entspricht der des Pakets sys-apps/baselayout
und kann auch der Datei /etc/gentoo-release
entnommen werden. Es ist, neben der Auswahl des Profils, die Grundlage des Betriebssystems und als die eigentliche Version einer Gentoo-Installation anzusehen. Das Basissystem unterliegt jedoch anderen Freigabezyklen als die Gesamt-Distribution und deren Veröffentlichung als stages
beziehungsweise als Live-System, die seit 20. Dezember 2008 in etwa wöchentlich aktualisiert werden.[5] Seit 2024 bietet Gentoo Linux auch Binärpakete, u. a. um die Installation zu erleichtern.[6] Diese sind allerdings nur für die Architekturen x86-64-v1 und x86-64-v3[7] verfügbar.
Profile
BearbeitenUnter englisch profiles versteht Gentoo einen Satz vorgefertigter Konfigurationsdateien von Portage, die u. a. eine Auswahl an Paketen für das Basissystem (@system
) und die USE-Flags festlegen. Es gibt eine Reihe vom Projekt mitgelieferte Profile, die die Möglichkeit u. a. der Auswahl des Desktops (Gnome oder KDE Plasma), ob mit systemd oder einen der anderen (klassischen) init-Dienste (etwa OpenRC), oder ob merged-usr oder nicht (wobei seit Mitte 2022 split-usr mit systemd nicht mehr unterstützt wird[8]), bieten. Für das 23.0 profile z. B. gibt es auf der amd64-Architektur folgende Desktop-Profile:
# eselect profile list | grep 23.0 | grep desktop [23] default/linux/amd64/23.0/desktop (stable) [24] default/linux/amd64/23.0/desktop/systemd (stable) [25] default/linux/amd64/23.0/desktop/gnome (stable) [26] default/linux/amd64/23.0/desktop/gnome/systemd (stable) [27] default/linux/amd64/23.0/desktop/plasma (stable) [28] default/linux/amd64/23.0/desktop/plasma/systemd (stable) * [46] default/linux/amd64/23.0/split-usr/desktop (stable) [47] default/linux/amd64/23.0/split-usr/desktop/gnome (stable) [48] default/linux/amd64/23.0/split-usr/desktop/plasma (stable)
Auch gehärtete Profile (englisch hardened) sind verfügbar, allerdings nicht als Desktop-Profile. Durch deren Auswahl bei der Installation wird das Basissystem festgelegt. Profile können auch vom Benutzer selbst erstellt und verwaltet werden. Ein Wechsel des Profils ist jedoch meist nur durch Neu-Kompilierung des world set möglich (@world
), bei dem alle Pakete neu kompiliert bzw. installiert werden (müssen).
System
BearbeitenPortage
BearbeitenPortage ist die Paketverwaltung von Gentoo Linux und ermöglicht den automatischen Bau der einzelnen Pakete aus ihren Quelltexten. Dabei stützt es sich auf den sogenannten Portage tree, einen Verzeichnisbaum, der sich normalerweise unter /var/db/repos/gentoo/
befindet und Informationen zu jedem einzelnen Paket in Form von sogenannten ebuild-Skripten bereitstellt. Diese Skripte steuern den gesamten Ablauf: Herunterladen der Quelltexte, Verifikation der Unverfälschtheit der Dateien mit Hilfe von Prüfsummen, Anwendung von distributionsspezifischen Patches sowie die Berücksichtigung der sogenannten USE-Flags,[9] um letztendlich das Paket in einer Sandbox zu kompilieren und dann zu installieren. Dabei werden etwaige Abhängigkeiten von anderen Paketen beachtet und diese, falls nötig, ebenfalls aktualisiert oder neu installiert. Der Portage-Baum wird mit Hilfe von rsync auf den aktuellen Stand der Distribution gebracht.
Portage wählt die jeweils aktuelle stabile oder, je nach Konfiguration, die aktuelle instabile Version für die jeweilige Prozessorarchitektur aus. Je nach Paket gibt es noch weitere maskierte Versionen, von deren Installation aber außer zu Entwicklungs- und Testzwecken abgesehen werden sollte. Darunter fallen z. B. die sogenannten Live-Versionen von Paketen, die direkt den aktuellen Entwicklungsstand aus dem Versionsverwaltungssystem der jeweiligen Software beziehen. Mittels Konfigurationsdateien ist es möglich, einzelne Pakete oder einzelne Versionen von Paketen zu maskieren, um die Installation eines Pakets bzw. einer Version zu verbieten, oder sie zu demaskieren, um eine aktuellere Version als vorgesehen zu installieren.
Die USE-Flags bilden eine Abstraktionsschicht für die Konfiguration der Funktionalität der einzelnen Pakete für Optionen, die sich nur während des Kompiliervorgangs aktivieren lassen. So bestimmt beispielsweise das USE-Flag bluetooth den Einbau der Bluetoothunterstützung für den Fall, dass das jeweilige Paket diese Unterstützung mitbringt. Eine Funktionalität lässt sich auch mittels USE-Flag abschalten, im Beispiel durch -bluetooth. Der Vorteil einer solchen Möglichkeit liegt darin, dass die kompilierten Programme genau auf die Bedürfnisse des Anwenders angepasst sind, wodurch diese weniger Speicher benötigen und die Installation von nur wirklich notwendigen Bibliotheken voraussetzt. Die Implementierung des An- und Abschaltens von Funktionen kann dabei vom „ebuild“-Skript individuell umgesetzt werden. In der Regel geschieht dies mit Hilfe von Configure-Optionen oder Patches. Die USE-Flags lassen sich mit Hilfe von Konfigurationsdateien sowohl zentral für das gesamte System als auch speziell für einzelne Pakete konfigurieren.
Möchte man Pakete installieren, welche sich nicht im offiziellen Portage-Tree befinden, so gibt es die Möglichkeit, sogenannte Overlays zu nutzen. Diese werden von Gentoo offiziell nicht unterstützt, bieten aber oft eine größere Auswahl an Software oder aktuellere Versionen. Viele der Overlays beinhalten Pakete, die dort vom Entwickler getestet werden, bevor sie in den offiziellen Baum aufgenommen werden.
Installation
BearbeitenGentoo besitzt im Gegensatz zu anderen Linux-Distributionen keinen eigenen Installer. Stattdessen führt der Benutzer die Installation selbst mit einer Serie von Shell-Befehlen aus einem anderen laufenden System heraus durch. Zu diesem Zweck bietet das Gentoo-Projekt spezielle Live-Images an, die wöchentlich aktualisiert werden; prinzipiell können jedoch beliebige Linux-Systeme dafür verwendet werden, egal, ob fest installiert oder von Live-Medien gebootet.
Zur Installation wird ein vom Gentoo-Projekt bereitgestellter sogenannter stage3-Tarball an den Zielort entpackt. Dieser enthält ein Grundsystem, einschließlich der für den weiteren Installationsprozess benötigten Werkzeuge, wie z. B. einer Toolchain. Die weiteren Installationsarbeiten finden mittels chroot innerhalb dieses Verzeichnisbaums statt. Auf der Gentoo-Website gibt es Installationshandbücher, die Hinweise über die notwendigen Installationsschritte geben. Dem Benutzer werden dabei der Projektphilosophie entsprechend alle Freiheiten gelassen; so kann er beispielsweise selbst entscheiden, welche syslog- und cron-Implementierung und welchen Mail Transfer Agent er nutzen möchte.
Früher standen neben den stage3-Archiven auch stage1- und stage2-Archive für die Installation zur Verfügung. Diese sind Zwischenprodukte des Prozesses, mit dem stage3s erzeugt werden. Ihr Anwendungszweck bestand im Erstellen von besonders stark optimierten Systemen. Da inzwischen keine offiziellen stage1- und stage2-Archive mehr zum Herunterladen angeboten werden, verwendet man nun auch für diesen Zweck die stage3-Archive.[10]
Portierungen
BearbeitenGentoo Linux kann prinzipiell von jedermann selbst auf eine weitere Prozessorarchitektur portiert werden.[11] Als vorgefertigte stages ist Gentoo für diverse Architekturen verfügbar, dazu zählen Alpha, Arm, Itanium, Loongson, m68k, MIPS, PA-RISC, PowerPC, RISC-V, S/390, SPARC und x86 (sowohl IA-32 als auch x64).[12] Bis 2014 war auch SuperH als stage3-Build verfügbar.[13]
KEYWORD [14]
|
Architektur |
---|---|
alpha
|
Alpha-Prozessor |
amd64
|
x64 (x86 im 64-Bit-Modus) |
arm
|
Arm-Architektur (32-Bit) |
arm64
|
64-Bit-Arm-Architektur (ab ARMv8) |
hppa
|
PA-RISC |
ia64
|
Itanium-Architektur (IA-64) |
loong
|
Loongson |
m68k
|
Motorola-68000er-Familie |
mips
|
MIPS-Architektur |
ppc
|
PowerPC (32-Bit) |
ppc64
|
64-Bit-PowerPC, sowohl im Big-Endian- als auch im Little-Endian-Modus (siehe Byte-Reihenfolge) |
riscv
|
RISC-V |
sh
|
SuperH (nur mehr als Portierungsbeispiel)[11][15] |
sparc
|
SPARC-Architektur |
x86
|
IA-32 (x86 im 32-Bit-Modus) |
Damit ist Gentoo ebenfalls auf der Xbox, der Wii und auf der PlayStation 3 lauffähig.
Es gibt auch Projekte, bei denen der Linux-Kernel und einige GNU-Bibliotheken/Programme durch einen FreeBSD- (Gentoo/FreeBSD), NetBSD bzw. OpenBSD-Kernel und deren Basis-Bibliotheken/Programme ersetzt wurde. Zudem kann man Gentoo unter verschiedenen Unix-ähnlichen Betriebssystemen in ein Unterverzeichnis installieren. Diese Installationsvariante wird „Gentoo Prefix“ genannt. Unterstützt werden unter anderem macOS, Solaris und Windows mit Hilfe der Microsoft Windows Services for UNIX.[16]
Versionsgeschichte
Bearbeitenprofile | Erscheinungsdatum | amd64-stabil seit | Anmerkung |
---|---|---|---|
1.0 | 31. März 2002[17] | ||
1.1a | 4. April 2002 | ||
1.2 | 5. Juni 2002 | ||
1.4 | 5. August 2003 | ||
2004.0 | 31. März 2004 | ||
2004.1 | 28. April 2004 | ||
2004.2 | 26. Juli 2004 | ||
2004.3 | 15. November 2004 | ||
2005.0 | 28. März 2005 | ||
2005.1 | 8. August 2005 | ||
2005.1-r1 | 21. November 2005 | ||
2006.0 | 27. Februar 2006 | ||
2006.1 | 30. August 2006 | ||
2007.0 | 7. Mai 2007 | ||
2008.0 Beta 2 | 29. April 2008 | ||
2008.0 | 6. Juli 2008 | ||
10.0 | 4. Oktober 2009 | ||
11.0 | 8. März 2011 | ||
12.0 | 2. Januar 2012 | ||
12.1 | 1. April 2012 | ||
13.0 | 10. Februar 2013[18] | Die 13.0-Profile wurden am 29. Juni 2019 aus Portage entfernt.[19] | |
17.0 | 30. November 2017[20] | ||
17.1 | 18. Dezember 2017[21] | 5. Juni 2019[22] | |
23.0 | 22. März 2024[23] | Seit 23.0 ist merged-usr die Voreinstellung. | |
Legende: Ältere Version; nicht mehr unterstützt Ältere Version; noch unterstützt Aktuelle Version |
Derivate
Bearbeiten- Calculate Linux – System für Server und PCs
- ChromeOS – Betriebssystem von Google, basierend auf Gentoo
- Chromium OS – Betriebssystem von Google, basierend auf Gentoo
- Funtoo – vom Gentoo-Gründer Daniel Robbins gegründetes Projekt, das „neue innovative Wege versucht und diese gerne dem Gentoo-Ökosystem beisteuert“[24]
- Kaspersky Lab Rescue Disk – Live-CD zur Beseitigung von Schadsoftware[25]
- Nova Linux (bis 2010) – eine Linuxdistribution von der Universidad de las Ciencias Informáticas in Kuba
- PapugLinux – auf Gentoo basierende Live-DVD
- Pentoo – Distribution für Penetrationstester[26]
- Sabayon Linux (ehemals RR4/RR64) – Live-CD und direkte Installation für x86 (RR4) und x64 (RR64)
- SystemRescueCd (bis Version 5, 2018) – kleine Live-CD mit Kommandozeile und graphischer Oberfläche Xfce
- Toorox – auf Gentoo basierende Live-DVD
- Ututo – vereinfachte Version für Einsteiger, vollständig auf freier Software basierend
Siehe auch
BearbeitenLiteratur
Bearbeiten- Gunnar Wrobel: Gentoo Linux – Installation – Konfiguration – Administration. Open Source Press, München 2008, ISBN 3-937514-34-1 (seit 2. Dezember 2009 unter der Creative-Commons-Lizenz kostenlos erhältlich: FOSdoc; PDF; 2,1 MB).
- Tobias Scherbaum: Gentoo Linux – Die Metadistribution. 2. Auflage. mitp, Heidelberg 2008, ISBN 3-8266-5941-4.
- Christoph Junghans, Andreas K. Hüttel, Ulrich Müller: Maßarbeit – Gentoo Linux: Quelltexte und Rolling Releases. In: c’t – Magazin für Computertechnik. Jg. 2012, Nr. 16. Heise Zeitschriften Verlag, ISSN 0724-8679, S. 162–164.
Weblinks
Bearbeiten- gentoo.org – offizielle Website (englisch)
- gentoo.de – deutsches Portal
- Gentoo Wiki
- Linkkatalog zum Thema Gentoo bei curlie.org (ehemals DMOZ)
Einzelnachweise
Bearbeiten- ↑ Gentoo Celebrates 10 Years: 2009/10/04 In: Gentoo News. auf LWN.net (englisch)
- ↑ Gründer des Linux-Projekts Gentoo wechselt zu Microsoft. Abgerufen am 17. März 2011.
- ↑ Kay Königsmann: Gentoo-Software optimiert übersetzen. In: Linux-Magazin 06/2011. Abgerufen am 20. Dezember 2022 (deutsch).
- ↑ Gentoo Linux. In: slashdot.org. Abgerufen am 28. Juli 2011 (englisch).
- ↑ First sets of weekly stage3 tarballs and minimal CDs released. ( vom 20. August 2014 im Internet Archive) In: Gentoo News. (englisch)
- ↑ Gentoo goes Binary! In: Gentoo News. 29. Dezember 2023, abgerufen am 1. April 2024 (englisch).
- ↑ Gentoo goes Binary! In: Gentoo News. 29. Dezember 2023, abgerufen am 1. April 2024 (englisch).
- ↑ Luca Boccassi: [systemd-devel] Dropping split-usr/unmerged-usr support. 5. April 2022, abgerufen am 1. April 2024 (englisch).
- ↑ What are USE flags. Gentoo Wiki, abgerufen am 30. Mai 2016.
- ↑ Gentoo Linux Dokumentation – FAQ ( vom 29. Juli 2016 im Internet Archive)
- ↑ a b Porting. (Wiki) In: Gentoo Linux Wiki. Abgerufen am 21. Dezember 2024 (englisch).
- ↑ Liste von Gentoo unterstützter Architekturen
- ↑ Open Source Lap Mirrors – Gentoo. Oregon State University, abgerufen am 21. Dezember 2024 (englisch).
- ↑ packages.gentoo.org
- ↑ CHOST. (Wiki) In: Gentoo Linux Wiki. Abgerufen am 21. Dezember 2024 (englisch).
- ↑ Gentoo Prefix – Website des Gentoo Prefix-Projekts
- ↑ Gentoo: Linux-Distribution zum Selberbauen. In: golem.de. Abgerufen am 16. Februar 2017.
- ↑ Andreas K. Hüttel: New 13.0 profiles and deprecation of 10.0 profiles. 10. Februar 2013, abgerufen am 29. Mai 2020 (englisch).
- ↑ Sergei Trofimovich: profiles: drop hardened/linux/{amd64,x86,ia64} profiles. 29. Juni 2019, abgerufen am 1. April 2024 (englisch).
- ↑ Andreas K. Hüttel: New 17.0 profiles in the Gentoo repository. 30. November 2017, abgerufen am 1. April 2024 (englisch).
- ↑ Michał Górny: [gentoo-dev] [RFC] First (experimental) 17.1 profiles news item for review. In: Gentoo Archives. 18. Dezember 2017, abgerufen am 29. Mai 2020 (englisch).
- ↑ Michał Górny: amd64 17.1 profiles are now stable. 5. Juni 2019, abgerufen am 29. Mai 2020 (englisch).
- ↑ Michał Górny: Profile upgrade to version 23.0 available. 22. März 2024, abgerufen am 1. April 2024 (englisch).
- ↑ Funtoo Linux – Welcome to the Funtoo Wiki! ( des vom 26. Januar 2012 im Internet Archive) Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.
- ↑ Kaspersky Rescue Disk 18. Abgerufen am 26. März 2020.
- ↑ About Pentoo, abgerufen am 25. August 2015.