EinfuhrungFunktionsweise
Abschluss
Gentoo - Der neue Stern amHimmel
Johannes Bauer
3. Erlanger Linuxtage
16. Januar 2005
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Ubersicht uber den VortragDie Installation
Wie kommt es zu dem Namen? 2/31
I”Gentoo-Pinguin“ (Pygoscelis papua)
I Kleine, robuste Pinguine, 150m Tauchtiefe
Foto von Bill Little, CAJohannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Ubersicht uber den VortragDie Installation
Wer hat Gentoo erfunden? 3/31
I Daniel Robbins (Debian, Stampede)
I”Enoch“ erstellt, umbenannt in Gentoo
I Zwischenzeitlich FreeBSD (Arbeit am PortsSystem)
I Ruckportierung von Ports auf Gentoo
I Seit April 2004 kein aktiver Entwickler mehr
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Ubersicht uber den VortragDie Installation
Wozu noch eine Distribution? 4/31
I Zentraler Aspekt: Flexibilitat
I Einfuhren einer”Meta-Distribution“
I Bau der Pakete vom Sourcecode
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Ubersicht uber den VortragDie Installation
Installation - Uberblick 5/31
I Kein Installer, nur LiveCD verfugbar(minimal/universal)
I Drei Installationsstages:I Stage1: Bootstrappen des Systems (glibc, binutils,
gcc)I Stage2: Compilieren der esentiellen Systemtools (ls,
tar, gzip)I Stage3: Compilieren von Zusatzprogrammen (z.B.
ssh, gnome)
I Erste Entscheidung: Welchen Stage wahle ich?
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Ubersicht uber den VortragDie Installation
Installation - Verlauf 6/31
I Herunterladen der entsprechenden Stage-Dateiund des aktuellen Portage-Snapshot
I Booten via LiveCD, Knoppix, eines bereitsvorhandenen Systems...
I Erstellen einer Partition (fdisk,mkfs.ext3/xfs/reiser, mkswap)
I Mounten der Partition
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Ubersicht uber den VortragDie Installation
Installation - Verlauf 7/31
I Entpacken des Stage-Archivs und desPortage-Snapshot in den neu erstelltenMountpoint
I Konfiguration des Netzwerks(/etc/gentoo/resolv.conf)
I”chroot /mnt/gentoo“
I ...und jetzt beginnt die eigentliche Installation!
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Ubersicht uber den VortragDie Installation
Installation - Stage1 8/31
I cd /usr/portage
I scripts/bootstrap.sh
I ...und dann aufgeregtes Warten (ca. 4 Stunden)
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Ubersicht uber den VortragDie Installation
Installation - Stage2 9/31
I emerge system
I ...und dann immernoch aufgeregtes Warten (ca.6 Stunden)
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Ubersicht uber den VortragDie Installation
Installation - Stage3 10/31
I Jetzt hat man ein fertiges, aber noch ziemlich
”blankes“ System
I emerge ssh cupsI emerge gnome gdmI emerge gimp mozilla-firefox mozilla-thunderbirdI emerge openoffice
I ...und man hat ein schon gut benutzbaresSystem (nach ca. weiteren 14 Stunden)
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Das Portage-SystemDas Runlevel-Control-SystemWichtige Konfigurationsdateien
Das Portage-System 11/31Allgemein
I Ruckportiert von FreeBSD
I”ebuilds“: Skripten, die den Installationsablauf
regeln
I Portage Tree: Baum aller”ebuilds“
I Synchronisation mittels rsync
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Das Portage-SystemDas Runlevel-Control-SystemWichtige Konfigurationsdateien
Das Portage-System 12/31Die USE-Flags
I Angabe personlicher Praferenzen
I Benutzerspezifische Compilierung der Pakete
I Einheitlicher Aufbau
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Das Portage-SystemDas Runlevel-Control-SystemWichtige Konfigurationsdateien
Das Portage-System 13/31Beispiel mit wenigen Optionen
j oe [ ˜ ] : emerge −p −v apache
These are the packages t h a t I would merge , i n order :
Ca l cu l a t i ng dependencies . . . done ![ ebu i l d R ] net−www/ apache−2.0.52− r1 +berkdb −debug
−doc +gdbm − ipv6 + ldap + s s l − s t a t i c − threads 0 kB
To ta l s i ze o f downloads : 0 kB
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Das Portage-SystemDas Runlevel-Control-SystemWichtige Konfigurationsdateien
Das Portage-System 14/31Beispiel mit mehr Optionen
[ ebu i l d R ] dev−php / php−5.0.2− r1 −adabas −bcmath + berkdb−b i r d s tep − b z l i b −calendar −cdb − c p d f l i b + c r y p t −ctype− c u r l −cur lwrappers −db2 + dba −dbase −dbm −dbmaker −dbx−debug −d io −empress −empress−bcs −esoob − e x i f + fam −f d f t k − f i l e p r o − f l a t f i l e − f ron tbase − f t p + gd −gd−ex te rna l+gdbm −gmp −hyperwave−ap i − i conv −imap − i n f o r m i x − i ng res− i n i f i l e − i n te rbase − iodbc + jpeg + ldap − l i b e d i t −mcve−memlimit −mhash −mime −ming −mnogosearch −msession −msql −mssql + mysql −mysql i + ncurses −n is + n ls −oc i8 −odbc−orac le7 −ovrimos −p c n t l −pcre −pfpro + png −posix −postgres−qdbm + read l i ne −recode −sapdb −sas l −session −shared−sharedmem −simplexml −snmp −soap −sockets − s o l i d + s p e l l−sp l − s q l i t e + s s l −sybase −sybase−c t −sysv ipc − t i d y +t i f f − t oken i ze r + t rue type −wddx + xml2 −xmlrpc −xpm − x s l+ z l i b 0 kB Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Das Portage-SystemDas Runlevel-Control-SystemWichtige Konfigurationsdateien
Das Portage-System 15/31Portage in Aktion
j oe [ ˜ ] : emerge −p −v dev−games / simgear
These are the packages t h a t I would merge , i n order :
Ca l cu l a t i ng dependencies . . . done ![ ebu i l d N ] dev−db / metak i t −2.4.9.3− r2 +python +
t c l t k 873 kB[ ebu i l d N ] media−l i b s / p l i b −1.8.3 724 kB[ ebu i l d N ] dev−games / simgear−0.3.6 927 kB
To ta l s i ze o f downloads : 2 , 5 2 5 kB
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Das Portage-SystemDas Runlevel-Control-SystemWichtige Konfigurationsdateien
Das Portage-System 16/31Versionsverwaltung der Pakete
I Unterteilung in”stabile“ und
”instabile“ Versionen
I Maskierung instabiler PaketeI Unterscheidung: Hard- und Softmaskierung
I Softmaskierung: Neuere Paketversionen,”testing“,
teilweise instabilI Hartmaskierung: Sicherheitsrelevante Bugs, fur die
noch kein Fix vorhanden ist
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Das Portage-SystemDas Runlevel-Control-SystemWichtige Konfigurationsdateien
Das Portage-System 17/31Softmaskierung
j oe [ ˜ ] : emerge −p la tex−unicode
! ! ! A l l ebu i l ds t h a t could s a t i s f y ” la tex−unicode ” havebeen masked .
! ! ! One of the f o l l o w i n g masked packages i s requ i red tocomplete your request :
− dev−tex / la tex−unicode−20030605 (masked by : ˜ x86keyword )
− dev−tex / la tex−unicode−20040307 (masked by : ˜ x86keyword )
− dev−tex / la tex−unicode−20041017 (masked by : ˜ x86keyword )
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Das Portage-SystemDas Runlevel-Control-SystemWichtige Konfigurationsdateien
Das Portage-System 18/31Hartmaskierung
j oe [ ˜ ] : emerge −p net−f t p / j u n k i e
! ! ! A l l ebu i l ds t h a t could s a t i s f y ” net−f t p / j u n k i e ” havebeen masked .
! ! ! One of the f o l l o w i n g masked packages i s requ i red tocomplete your request :
− net−f t p / junk ie −0.3 .1 (masked by : package . mask )# <chriswhite@gentoo . org > (30 Dec 2004)# Junkie being masked per s e c u r i t y bug #74696
− net−f t p / junk ie −0.3.1− r1 ( masked by : package . mask )
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Das Portage-SystemDas Runlevel-Control-SystemWichtige Konfigurationsdateien
Das Runlevel-Control-System 19/31
I Was soll zum Bootzeitpunkt gestartet werden?
I ...und in welcher Reihenfolge?
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Das Portage-SystemDas Runlevel-Control-SystemWichtige Konfigurationsdateien
Das Runlevel-Control-System 20/31Erstellung des RC-Graphen
I Informationen uber Dienste benotigt:I Was braucht der Dienst (need)?I Was benutzt der Dienst (use)?I Was stellt der Dienst zur Verfugung (provide)?
I Speicherung dieser Informationen in denInitskripten
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Das Portage-SystemDas Runlevel-Control-SystemWichtige Konfigurationsdateien
Das Runlevel-Control-System 21/31Erstellung des RC-Graphen - Beispiel
Auszug aus /etc/init.d/vixie-cron:depend ( ) {
use loggerneed c lock localmountprov ide cron
}
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Das Portage-SystemDas Runlevel-Control-SystemWichtige Konfigurationsdateien
Das Runlevel-Control-System 22/31Erstellung des RC-Graphen - Benutzung
Hinzufugen von”apache2“ zum
”default“ Runlevel:
j oe [ ˜ ] : rc−update add apache2 d e f a u l t∗ apache2 added to r u n l e v e l d e f a u l t∗ Caching serv i ce dependencies . . .∗ rc−update complete .
joe [ ˜ ] :
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Das Portage-SystemDas Runlevel-Control-SystemWichtige Konfigurationsdateien
Das Runlevel-Control-System 23/31Erstellung eines eigenen Runlevels
I Anlegen eines neuen Unterverzeichnisses:I mkdir /etc/runlevels/neuesrl
I Hinzufugen der Dienste mittels rc-update:I rc-update add net.eth0 neuesrlI rc-update add apache2 neuesrlI rc-update add cups neuesrl
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Das Portage-SystemDas Runlevel-Control-SystemWichtige Konfigurationsdateien
Das Runlevel-Control-System 24/31Erstellung eines eigenen Runlevels - Booten
I Automatisch in das neu erstellte Runlevel booten
I Eintrag z.B. im Grub abandern:title Kernel 2.6.10root (hd0,0)kernel /boot/bzImage-2.6.10 root=/dev/hda1 softlevel=neuesrl
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Das Portage-SystemDas Runlevel-Control-SystemWichtige Konfigurationsdateien
Wichtige Konfigurationsdateien 25/31/etc/make.conf
I Selektion systemweiter USE-Flags
I Wahl des bevorzugten Paket-Mirrors
I Optimierungseinstellungen fur den Compiler
#CFLAGS=”−O2 −march=ath lon−xp − fomi t−frame−p o i n t e r ”CFLAGS=”−O2 −march=ath lon−xp ”CHOST=” i686−pc−l i nux−gnu ”USE=” gtk2 gnome cdr dvd acpi fbcon av i c r y p t gpm X −qt −
kde −moz i l l a usb ”GENTOO MIRRORS=” h t t p : / / f t p . uni−er langen . de / m i r r o r s /
gentoo / ”
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Das Portage-SystemDas Runlevel-Control-SystemWichtige Konfigurationsdateien
Wichtige Konfigurationsdateien 26/31Softmaskierung: /etc/portage/package.keywords
I Wahl der Packetversionsgruppe mit Quantorenmoglich
I Zweites Argument schaltet jeweiligen Tree frei,u.a.:
I x86, ia64, amd64I ppc, ppc64, ppc-macosI alpha, arm, hppa, mips, s390, sh, sparc
=net−news / leafnode −2.0.0 alpha20041227 ˜ x86=dev−tex / la tex−unicode−20041017 ˜ x86
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Das Portage-SystemDas Runlevel-Control-SystemWichtige Konfigurationsdateien
Wichtige Konfigurationsdateien 27/31Hartmaskierung: /etc/portage/package.unmask
I Hartmaskierte Pakete haben oftsicherheitsrelevante Bugs→ sich der Gefahr beuwsst sein
I Quantoren sind auch hier moglich, aber es iststrikt davon abzuraten, sie zu benutzen
=net−f t p / junk ie −0.3.1− r1
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Das Portage-SystemDas Runlevel-Control-SystemWichtige Konfigurationsdateien
Wichtige Konfigurationsdateien 28/31Eigenes Einspielen von Paketen: /etc/portage/profile/packa-ge.provided
I Teilt dem Portage-System mit, dass Paket vonHand installiert wurde
I Eventuelle Paketabhangigkeiten werden alsaufgelost betrachtet
I Quantorenlos, impliziertes”=“
sys−kerne l / development−sources−2.6.9
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
Das Portage-SystemDas Runlevel-Control-SystemWichtige Konfigurationsdateien
Wichtige Konfigurationsdateien 29/31Packetspezifische USE-Flags: /etc/portage/package.use
I Packetname und speizielle Anderungen an denUSE-Flags
I Wird auch bei einem systemweiten Updatewieder berucksichtigt
media−video / mplayer l i v e dvdread −oggmedia−audio /xmms − ipv6 oss −alsa
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
ZusammenfassungEnde
Zusammenfassung 30/31
I Sehr konfigurierbares, schnelles System
I Einfache, logisch aufgebaute Paketverwaltung
I Sehr gute, schrittweise, mehrsprachigeDokumentation
I Lauffahig auf vielen verschiedenen Architekturen
I Gefuhl eines eigenen Systems, keineRetorten-Distribution
Johannes Bauer Gentoo - Der neue Stern am Himmel
EinfuhrungFunktionsweise
Abschluss
ZusammenfassungEnde
Abschluß 31/31
I Danke fur die Aufmerksamkeit!
Johannes Bauer Gentoo - Der neue Stern am Himmel