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

Documents pareils