Gentoo - Der neue Stern am Himmel
Transcription
Gentoo - Der neue Stern am Himmel
Einführung Funktionsweise Abschluss Gentoo - Der neue Stern am Himmel Johannes Bauer 3. Erlanger Linuxtage 16. Januar 2005 Johannes Bauer Gentoo - Der neue Stern am Himmel Einführung Funktionsweise Abschluss Übersicht über den Vortrag Die Installation Wie kommt es zu dem Namen? I I Gentoo-Pinguin“ (Pygoscelis papua) ” Kleine, robuste Pinguine, 150m Tauchtiefe Foto von Bill Little, CA Johannes Bauer Gentoo - Der neue Stern am Himmel 2/31 Einführung Funktionsweise Abschluss Übersicht über den Vortrag Die Installation Wer hat Gentoo erfunden? I Daniel Robbins (Debian, Stampede) I I Enoch“ erstellt, umbenannt in Gentoo ” Zwischenzeitlich FreeBSD (Arbeit am Ports System) I Rückportierung von Ports auf Gentoo I Seit April 2004 kein aktiver Entwickler mehr Johannes Bauer Gentoo - Der neue Stern am Himmel 3/31 Einführung Funktionsweise Abschluss Übersicht über den Vortrag Die Installation Wozu noch eine Distribution? I Zentraler Aspekt: Flexibilität I Einführen einer Meta-Distribution“ ” Bau der Pakete vom Sourcecode I Johannes Bauer Gentoo - Der neue Stern am Himmel 4/31 Einführung Funktionsweise Abschluss Übersicht über den Vortrag Die Installation Installation - Überblick I I Kein Installer, nur LiveCD verfügbar (minimal/universal) Drei Installationsstages: I I I I 5/31 Stage1: Bootstrappen des Systems (glibc, binutils, gcc) Stage2: Compilieren der esentiellen Systemtools (ls, tar, gzip) Stage3: Compilieren von Zusatzprogrammen (z.B. ssh, gnome) Erste Entscheidung: Welchen Stage wähle ich? Johannes Bauer Gentoo - Der neue Stern am Himmel Einführung Funktionsweise Abschluss Übersicht über den Vortrag Die Installation Installation - Verlauf I Herunterladen der entsprechenden Stage-Datei und des aktuellen Portage-Snapshot I Booten via LiveCD, Knoppix, eines bereits vorhandenen Systems... I Erstellen einer Partition (fdisk, mkfs.ext3/xfs/reiser, mkswap) I Mounten der Partition Johannes Bauer Gentoo - Der neue Stern am Himmel 6/31 Einführung Funktionsweise Abschluss Übersicht über den Vortrag Die Installation Installation - Verlauf I Entpacken des Stage-Archivs und des Portage-Snapshot in den neu erstellten Mountpoint I Konfiguration des Netzwerks (/etc/gentoo/resolv.conf) I chroot /mnt/gentoo“ ” ...und jetzt beginnt die eigentliche Installation! I Johannes Bauer Gentoo - Der neue Stern am Himmel 7/31 Einführung Funktionsweise Abschluss Übersicht über den Vortrag Die 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 Einführung Funktionsweise Abschluss Übersicht über den Vortrag Die 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 Einführung Funktionsweise Abschluss Übersicht über den Vortrag Die Installation Installation - Stage3 I Jetzt hat man ein fertiges, aber noch ziemlich blankes“ System ” I I I I I emerge ssh cups emerge gnome gdm emerge gimp mozilla-firefox mozilla-thunderbird emerge openoffice ...und man hat ein schon gut benutzbares System (nach ca. weiteren 14 Stunden) Johannes Bauer Gentoo - Der neue Stern am Himmel 10/31 Einführung Funktionsweise Abschluss Das Portage-System Das Runlevel-Control-System Wichtige Konfigurationsdateien Das Portage-System Allgemein I Rückportiert von FreeBSD I ebuilds“: Skripten, die den Installationsablauf ” regeln I Portage Tree: Baum aller ebuilds“ ” Synchronisation mittels rsync I Johannes Bauer Gentoo - Der neue Stern am Himmel 11/31 Einführung Funktionsweise Abschluss Das Portage-System Das Runlevel-Control-System Wichtige Konfigurationsdateien Das Portage-System Die USE-Flags I Angabe persönlicher Präferenzen I Benutzerspezifische Compilierung der Pakete I Einheitlicher Aufbau Johannes Bauer Gentoo - Der neue Stern am Himmel 12/31 Einführung Funktionsweise Abschluss Das Portage-System Das Runlevel-Control-System Wichtige Konfigurationsdateien Das Portage-System Beispiel mit wenigen Optionen j o e [ ˜ ] : emerge − p − v apache These are t h e packages t h a t I would merge , i n o r d e r : C a l c u l a t i n g dependencies . . . done ! [ ebuild R ] net −www/ apache −2.0.52 − r 1 +berkdb − debug − doc +gdbm − i p v 6 + l d a p + s s l − s t a t i c − t h r e a d s 0 kB T o t a l s i z e o f downloads : 0 kB Johannes Bauer Gentoo - Der neue Stern am Himmel 13/31 Einführung Funktionsweise Abschluss Das Portage-System Das Runlevel-Control-System Wichtige Konfigurationsdateien Das Portage-System 14/31 Beispiel mit mehr Optionen [ ebuild R ] dev−php / php −5.0.2 − r 1 −adabas − bcmath + berkdb − b i r d s t e p − b z l i b − c a l e n d a r − cdb − c p d f l i b + c r y p t − c t y p e − c u r l − c u r l w r a p p e r s − db2 + dba − dbase −dbm − dbmaker − dbx − debug − d i o − 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 r o n t b a s e − f t p + gd − gd−e x t e r n a l +gdbm −gmp − hyperwave−a p i − i c o n v − imap − i n f o r m i x − i n g r e s − i n i f i l e − i n t e r b a s e − i o d b c + j p e g + l d a p − l i b e d i t −mcve − memlimit −mhash −mime − ming − mnogosearch − msession − msql − mssql + mysql − m y s q l i + ncurses − n i s + n l s − o c i 8 − odbc − o r a c l e 7 − ovrimos − p c n t l − pcre − p f p r o + png − p o s i x − p o s t g r e −qdbm + r e a d l i n e − recode − sapdb − s a s l − s e s s i o n − shared −sharedmem − simplexml −snmp − soap − s o c k e t s − s o l i d + s p e l l − s p l − s q l i t e + s s l − sybase − sybase−c t − s y s v i p c − t i d y + t i f f − t o k e n i z e r + t r u e t y p e −wddx + xml2 − xmlrpc −xpm − x s l + z l i b 0 kB Johannes Bauer Gentoo - Der neue Stern am Himmel Einführung Funktionsweise Abschluss Das Portage-System Das Runlevel-Control-System Wichtige Konfigurationsdateien Das Portage-System Portage in Aktion j o e [ ˜ ] : emerge − p − v dev−games / simgear These are t h e packages t h a t I would merge , i n o r d e r : C a l c u l a t i n g dependencies . . . done ! [ ebuild N ] dev−db / m e t a k i t − 2.4.9.3 − r 2 +python + t c l t k 8 7 3 kB [ ebuild N ] media− l i b s / p l i b − 1 . 8 . 3 724 kB [ ebuild N ] dev−games / simgear − 0 . 3 . 6 927 kB T o t a l s i z e o f downloads : 2 , 5 2 5 kB Johannes Bauer Gentoo - Der neue Stern am Himmel 15/31 Einführung Funktionsweise Abschluss Das Portage-System Das Runlevel-Control-System Wichtige Konfigurationsdateien Das Portage-System 16/31 Versionsverwaltung der Pakete I I I Unterteilung in stabile“ und instabile“ Versionen ” ” Maskierung instabiler Pakete Unterscheidung: Hard- und Softmaskierung I I Softmaskierung: Neuere Paketversionen, testing“, ” teilweise instabil Hartmaskierung: Sicherheitsrelevante Bugs, für die noch kein Fix vorhanden ist Johannes Bauer Gentoo - Der neue Stern am Himmel Einführung Funktionsweise Abschluss Das Portage-System Das Runlevel-Control-System Wichtige Konfigurationsdateien Das Portage-System Softmaskierung j o e [ ˜ ] : emerge − p l a t e x −unicode ! ! ! A l l e b u i l d s t h a t c o u l d s a t i s f y ” l a t e x −unicode ” have been masked . ! ! ! One o f t h e f o l l o w i n g masked packages i s r e q u i r e d t o complete your r e q u e s t : − dev−t e x / l a t e x −unicode − 20030605 (masked by : ˜ x86 keyword ) − dev−t e x / l a t e x −unicode − 20040307 (masked by : ˜ x86 keyword ) − dev−t e x / l a t e x −unicode − 20041017 (masked by : ˜ x86 keyword ) Johannes Bauer Gentoo - Der neue Stern am Himmel 17/31 Einführung Funktionsweise Abschluss Das Portage-System Das Runlevel-Control-System Wichtige Konfigurationsdateien Das Portage-System Hartmaskierung j o e [ ˜ ] : emerge − p net − f t p / j u n k i e ! ! ! A l l e b u i l d s t h a t c o u l d s a t i s f y ” net − f t p / j u n k i e ” have been masked . ! ! ! One o f t h e f o l l o w i n g masked packages i s r e q u i r e d t o complete your r e q u e s t : − net− f t p / j u n k i e − 0 . 3 . 1 ( masked by : package . mask ) # < chriswhite@gentoo . org > ( 3 0 Dec 2 0 0 4 ) # J u n k i e being masked per s e c u r i t y bug #74696 − net− f t p / j u n k i e −0.3.1 − r 1 ( masked by : package . mask ) Johannes Bauer Gentoo - Der neue Stern am Himmel 18/31 Einführung Funktionsweise Abschluss Das Portage-System Das Runlevel-Control-System Wichtige Konfigurationsdateien Das Runlevel-Control-System I Was soll zum Bootzeitpunkt gestartet werden? I ...und in welcher Reihenfolge? Johannes Bauer Gentoo - Der neue Stern am Himmel 19/31 Einführung Funktionsweise Abschluss Das Portage-System Das Runlevel-Control-System Wichtige Konfigurationsdateien Das Runlevel-Control-System Erstellung des RC-Graphen I Informationen über Dienste benötigt: I I I I Was braucht der Dienst (need)? Was benutzt der Dienst (use)? Was stellt der Dienst zur Verfügung (provide)? Speicherung dieser Informationen in den Initskripten Johannes Bauer Gentoo - Der neue Stern am Himmel 20/31 Einführung Funktionsweise Abschluss Das Portage-System Das Runlevel-Control-System Wichtige Konfigurationsdateien Das Runlevel-Control-System Erstellung des RC-Graphen - Beispiel Auszug aus /etc/init.d/vixie-cron: depend ( ) { use l o g g e r need c l o c k l o c a l m o u n t p r o v i d e cron } Johannes Bauer Gentoo - Der neue Stern am Himmel 21/31 Einführung Funktionsweise Abschluss Das Portage-System Das Runlevel-Control-System Wichtige Konfigurationsdateien Das Runlevel-Control-System Erstellung des RC-Graphen - Benutzung Hinzufügen von apache2“ zum default“ Runlevel: ” ” j o e [ ˜ ] : rc −update add apache2 d e f a u l t ∗ apache2 added t o r u n l e v e l d e f a u l t ∗ Caching s e r v i c e dependencies . . . ∗ rc −update complete . joe [ ˜ ] : Johannes Bauer Gentoo - Der neue Stern am Himmel 22/31 Einführung Funktionsweise Abschluss Das Portage-System Das Runlevel-Control-System Wichtige Konfigurationsdateien Das Runlevel-Control-System Erstellung eines eigenen Runlevels I Anlegen eines neuen Unterverzeichnisses: I I mkdir /etc/runlevels/neuesrl Hinzufügen der Dienste mittels rc-update: I I I rc-update add net.eth0 neuesrl rc-update add apache2 neuesrl rc-update add cups neuesrl Johannes Bauer Gentoo - Der neue Stern am Himmel 23/31 Einführung Funktionsweise Abschluss Das Portage-System Das Runlevel-Control-System Wichtige Konfigurationsdateien Das Runlevel-Control-System 24/31 Erstellung eines eigenen Runlevels - Booten I Automatisch in das neu erstellte Runlevel booten I Eintrag z.B. im Grub abändern: title Kernel 2.6.10 root (hd0,0) kernel /boot/bzImage-2.6.10 root=/dev/hda1 softlevel=neuesrl Johannes Bauer Gentoo - Der neue Stern am Himmel Einführung Funktionsweise Abschluss Das Portage-System Das Runlevel-Control-System Wichtige Konfigurationsdateien Wichtige Konfigurationsdateien /etc/make.conf I Selektion systemweiter USE-Flags I Wahl des bevorzugten Paket-Mirrors I Optimierungseinstellungen für den Compiler #CFLAGS=”−O2 − march= a t h l o n −xp − f o m i t −frame−p o i n t e r ” CFLAGS=”−O2 − march= a t h l o n −xp ” CHOST=” i686 −pc−l i n u x −gnu ” USE=” g t k 2 gnome c d r dvd a c p i fbcon a v i c r y p t gpm X − q t − kde − m o z i l l a usb ” GENTOO MIRRORS=” h t t p : / / f t p . uni −e r l a n g e n . de / m i r r o r s / gentoo / ” Johannes Bauer Gentoo - Der neue Stern am Himmel 25/31 Einführung Funktionsweise Abschluss Das Portage-System Das Runlevel-Control-System Wichtige Konfigurationsdateien Wichtige Konfigurationsdateien Softmaskierung: /etc/portage/package.keywords I I Wahl der Packetversionsgruppe mit Quantoren möglich Zweites Argument schaltet jeweiligen Tree frei, u.a.: I I I x86, ia64, amd64 ppc, ppc64, ppc-macos alpha, arm, hppa, mips, s390, sh, sparc =net −news / leafnode − 2.0.0 alpha20041227 =dev−t e x / l a t e x −unicode −20041017 Johannes Bauer ˜ x86 ˜ x86 Gentoo - Der neue Stern am Himmel 26/31 Einführung Funktionsweise Abschluss Das Portage-System Das Runlevel-Control-System Wichtige Konfigurationsdateien Wichtige Konfigurationsdateien Hartmaskierung: /etc/portage/package.unmask I Hartmaskierte Pakete haben oft sicherheitsrelevante Bugs → sich der Gefahr beuwsst sein I Quantoren sind auch hier möglich, aber es ist strikt davon abzuraten, sie zu benutzen =net − f t p / j u n k i e −0.3.1 − r 1 Johannes Bauer Gentoo - Der neue Stern am Himmel 27/31 Einführung Funktionsweise Abschluss Das Portage-System Das Runlevel-Control-System Wichtige Konfigurationsdateien Wichtige Konfigurationsdateien 28/31 Eigenes Einspielen von Paketen: /etc/portage/profile/package.provided I Teilt dem Portage-System mit, dass Paket von Hand installiert wurde I Eventuelle Paketabhängigkeiten werden als aufgelöst betrachtet I Quantorenlos, impliziertes =“ ” sys−k e r n e l / development−sources − 2.6.9 Johannes Bauer Gentoo - Der neue Stern am Himmel Einführung Funktionsweise Abschluss Das Portage-System Das Runlevel-Control-System Wichtige Konfigurationsdateien Wichtige Konfigurationsdateien Packetspezifische USE-Flags: /etc/portage/package.use I Packetname und speizielle Änderungen an den USE-Flags I Wird auch bei einem systemweiten Update wieder berücksichtigt media−v i d e o / mplayer l i v e dvdread − ogg media−audio / xmms − i p v 6 oss − a l s a Johannes Bauer Gentoo - Der neue Stern am Himmel 29/31 Einführung Funktionsweise Abschluss Zusammenfassung Ende Zusammenfassung 30/31 I Sehr konfigurierbares, schnelles System I Einfache, logisch aufgebaute Paketverwaltung I Sehr gute, schrittweise, mehrsprachige Dokumentation I Lauffähig auf vielen verschiedenen Architekturen I Gefühl eines eigenen Systems, keine Retorten-Distribution Johannes Bauer Gentoo - Der neue Stern am Himmel Einführung Funktionsweise Abschluss Zusammenfassung Ende Abschluß I 31/31 Danke für die Aufmerksamkeit! Johannes Bauer Gentoo - Der neue Stern am Himmel