Hallo Leute,
die letzten Tage habe ich etwas über den Gentoo-Tellerrand geschaut und mir in einer VirtualBox ein Paar andere Distributionen angeschaut. Mich hatte speziell interessiert, ob andere Sourcen-basierende Distributionen mit Gentoo mithalten können. Fazit: das können sie nicht. Während des Ausfluges sind mir die Besonderheiten von Gentoo etwas klarer geworden, da ich gewisse für mich inzwischen selbstverständliche Dinge bei anderen Distris vermisst habe. Daher schreibe ich mal die Besonderheiten von Gentoo hier auf. Ich denke gerade für Anfänger/Umsteiger kann dies auch eine gute Orientierungshilfe ins Gentoo sein. Daher plaziere ich es unter "Neulinge".
Da für mich das wichtigste an einer Distribution die Paketverwaltung ist (alles andere ist ja im Prinzip immer das selbe), beziehen sich die meisten meiner Punkte entsprechend drauf.
Vorteil 1. Optimierung der Anwendungen an den Prozessor.
Dies ist der am meisten bekannte und angepriesene Vorteil. Die Anwendungen werden für den vorhandenen Prozessor optimiert erstellt. Alle anderen Source-basierenden Distris bieten diesen Vorteil auch an:
|
Quellcode
|
1
2
3
|
# fgrep CFLAGS /etc/portage/make.conf
CFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
|
Vorteil 2. Versionsvielfalt.
Die meisten Distributionen bieten drei Repositorys für Pakete an: ein stabile, ein testing und eine unstable. Dort entscheidet man sich für ein Repository und muss dabei bleiben, für jedes Paket steht also im Prinzip immer nur eine Version zur Verfügung.
Gentoo hat nur ein Repository wo alles drin ist. Dabei können auch mehrere stabile, mehrere testing und mehrere unstable Versionen vorhanden sein. Im Prinzip wird bei einer neuen Version eines Programms die alte nicht aus dem Repository gelöscht. Diese kommt erst dann weg, wenn gute Gründe vorliegen (z.B. Sicherheitslücke). Standardmäßig wird die neueste stabile installiert. Wenn man jedoch bei einem bestimmten Programm eine neuere testing oder eine ältere stable Version installieren will, ist es ohne Probleme möglich. Am Beispiel dhcpcd kann man festlegen, dass Versionen 4.* bei den Updates nicht berücksichtigt werden (Maskieren). Dann wird dhcpcd erst dann zum Aktualisieren vorgeschlagen, wenn eine Version 5.* stabil ist. Man kann auch sagen, dass die 4.99.* (unstable) installiert werden soll (Demaskieren). Dann wird die 4.99.3 vorgeschlagen zum Upgrade, falls diese mal in das Repository kommt. Dies sind zwei Beispiele, Im Prinzip sind alle möglichen Festlegungen möglich.
|
Quellcode
|
1
2
3
4
5
6
|
# eix -e net-misc/dhcpcd
[U] net-misc/dhcpcd
Available versions: 2.0.5-r1 3.0.16-r1 3.1.5-r1 ~3.2.2 3.2.3 ~4.0.0_rc5 ~4.0.0 ~4.0.1 4.0.1-r1 [M]~4.99.2 {build compat debug static vram zeroconf}
Installed versions: 3.1.5-r1(20:45:11 08.03.2008)(-vram)
Homepage: http://roy.marples.name/dhcpcd
Description: A DHCP client
|
VERSION = stabil
~VERSION = testing
[M] VERSION = unstable
Vorteil 3. Slots
Die Unterschiedlichen Versionen eines Paketes können unterschiedlichen Slots zugeordnet sein. Unterschiedliche Slots können parallel zu einander installiert sein. Andere Distris bilden sowas per unterschiedliche Pakete ab. Die Gentoo-Slots haben jedoch den Vorteil, dass die Zusammengehörigkeit definiert ist. Beide Slots werden ganz normal aktualisiert, falls neue Version ins Slot hinzu kommt. Kommt ein weiterer neuer Slot hinzu, wird das Paket ebenfalls als Aktualisierung installiert. Die alten Versionen bleiben jedoch erhalten, solange diese benötigt oder manuell gelöscht werden.
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
|
eix -e python
[U] dev-lang/python
Available versions:
(2.4) 2.4.4-r5 2.4.4-r6 2.4.4-r14 ~2.4.4-r15
(2.5) 2.5.2-r6 2.5.2-r7 ~2.5.2-r8
{berkdb bootstrap build cxx doc elibc_uclibc examples gdbm ipv6 ncurses nocxx nothreads readline sqlite ssl threads tk ucs2 wininst}
Installed versions: 2.4.4-r14(2.4)(11:38:54 02.08.2008)(berkdb cxx ncurses readline ssl threads tk -bootstrap -build -doc -elibc_uclibc -examples -gdbm -ipv6 -ucs2 -wininst)
2.5.2-r6(2.5)(18:40:09 01.08.2008)(berkdb ncurses readline ssl threads tk -bootstrap -build -doc -elibc_uclibc -examples -gdbm -ipv6 -sqlite -ucs2 -wininst)
Homepage: http://www.python.org/
Description: Python is an interpreted, interactive, object-oriented programming language.
|
Vorteil 4. Use-Flags
Viele Pakete können vor dem Kompilieren konfiguriert werden, damit das Ergebnis bestimmten Funktionsumfang hat. Beim manuellen kompilieren sind es die "--enable-xyz --disable-abc" Parameter des configure Befehls. Die meisten, auch binäre Distributionen bieten rudimentäre Möglichkeiten eigene Pakete mit geänderten Parametern zu erzeugen und anschließend zu installieren. Jedoch muss diese manuelle Aktion beim jeden Update wiederholt werden. Bei Gentoo ist es per Parameter eingeschaltet beim jeden Update automatisch berücksichtigt.
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
equery u mplayer
[ Searching for packages matching mplayer... ]
[ Colour Code : set unset ]
[ Legend : Left column (U) - USE flags from make.conf ]
[ : Right column (I) - USE flags packages was installed with ]
[ Found these USE variables for media-video/mplayer-1.0_rc2_p26753-r1 ]
U I
+ + 3dnow : Adds support for 3dnow multimedia processor instructions
+ + 3dnowext : Enable 3dnowext cpu instructions
+ + X : Adds support for X11
+ + a52 : Enables support for decoding ATSC A/52 streams used in DVD
+ + aac : Enables support for MPEG-4 AAC Audio
- - aalib : Adds support for media-libs/aalib (ASCII-Graphics Library)
+ + alsa : Adds support for media-libs/alsa-lib (Advanced Linux Sound Architecture)
- - altivec : Adds support for optimizations for G4 and G5/ppc970 processors
- - amrnb : Enables Adaptive Multi-Rate Audio support (Narrow Band)
- - amrwb : Enables Adaptive Multi-Rate Audio support (Wide Band)
- - arts : Adds support for aRts: the KDE sound daemon
- - bidi : Enables bidirectional language support
- - bindist : Flag to enable or disable options for prebuilt (GRP) packages (eg. due to licensing issues)
- - bl : Enables Blinkenlights support in mplayer
- - cddb : Access cddb servers to retrieve and submit information about compact disks
- - cdio : Use libcdio for CD support (instead of cdparanoia)
- - cdparanoia : Enables cdparanoia (audio CD ripper) support
- - cpudetection : Enables runtime cpudetection (useful for bindist, compatability on other CPUs)
- - custom-cflags : Enables custom CFLAGS (UNSUPPORTED)
- - debug : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see http://www.gentoo.org/proj/en/qa/backtraces.xml
- - dga : Adds DGA (Direct Graphic Access) support for X
- - directfb : Adds support for DirectFB layer (library for FB devices)
- - doc : Adds extra documentation (API, Javadoc, etc)
- - dts : Enables DTS Coherent Acoustics decoder support
- - dv : Enables support for a codec used by many camcorders
- - dvb : Adds support for DVB (Digital Video Broadcasting)
+ + dvd : Adds support for DVDs
- - enca : Enables support for charset discovery and conversion
+ + encode : Adds support for encoding of audio or video files
- - esd : Adds support for media-sound/esound (Enlightened Sound Daemon)
- - fbcon : Adds framebuffer support for the console, via the kernel
- - ftp : Adds FTP (File Transfer Protocol) support
- - ggi : Adds support for media-libs/libggi (non-X video api/drivers)
+ + gif : Adds GIF image support
+ + gtk : Adds support for x11-libs/gtk+ (The GIMP Toolkit)
+ + iconv : Enable support for the iconv character set conversion library
- - ipv6 : Adds support for IP version 6
+ + jack : Adds support for the JACK Audio Connection Kit
+ + joystick : Add support for joysticks in all packages
+ + jpeg : Adds JPEG image support
+ + kernel_linux : <unknown>
+ + ladspa : Enables the ability to support ladspa plugins
- - libcaca : Add support for colored ASCII-art graphics
- - lirc : Adds support for lirc (Linux's Infra-Red Remote Control)
- - live : Enables live.com streaming media support
- - lzo : Enables support for lzo compression
+ + mad : Adds support for mad (high-quality mp3 decoder library and cli frontend)
- - md5sum : Enables md5sum video output
+ + mmx : Adds support for optimizations for Pentium MMX and Athlon class processors
+ + mmxext : Enables mmx2 support
- - mp2 : Enables support for twolame, an MP2 audio library
+ + mp3 : Add support for reading mp3 files
- - musepack : Enable support for the musepack audio codec
- - nas : Adds support for network audio sound
- - nemesi : Enable Nemesi Streaming Media support
+ + openal : Adds support for the Open Audio Library
+ + opengl : Adds support for OpenGL (3D graphics)
- - oss : Adds support for OSS (Open Sound System)
+ + png : Adds support for libpng (PNG images)
- - pnm : Add PNM video output option, to create PPM/PGM/PGMYUV images
+ + pulseaudio : Adds support for PulseAudio sound server
+ + quicktime : Adds support for OpenQuickTime
- - radio : Enable V4L2 radio interface and support
- - rar : Enable Unique RAR File Library
- - real : Adds real video support
- - rtc : Enables usage of the linux real time clock. The alternative is software emulation of rtc
+ + samba : Adds support for SAMBA (Windows File and Printer sharing)
+ + sdl : Adds support for Simple Direct Layer (media library)
- - speex : Adds support for the speex audio codec (used for speech)
- - srt : Internal SRT/SSA/ASS (SubRip / SubStation Alpha) subtitle support
+ + sse : fast floating point optimization for PentiumIII+ class chips
- - sse2 : faster floating point optimization for SSE2 capable chips
- - ssse3 : faster floating point optimization for SSSE3 capable chips (Intel Core 2 and later chips)
- - svga : Adds support for SVGAlib (graphics library)
- - teletext : Support for TV teletext interface
- - tga : Enables Targa video output
- + theora : Adds support for the Theora Video Compression Codec
+ + truetype : Adds support for FreeType and/or FreeType2 fonts
+ + unicode : Adds support for Unicode
- - v4l : Enables video4linux support
- - v4l2 : Enable video4linux2 support
- - video_cards_mga : <unknown>
- - video_cards_s3virge : <unknown>
- - video_cards_tdfx : <unknown>
+ + video_cards_vesa : <unknown>
- - vidix : Support for vidix video output
+ + vorbis : Adds support for the OggVorbis audio codec
+ + win32codecs : use win32codecs package for dll avi decoding support (wmv and what not)
+ + x264 : Enable h264 encoding using x264
- - xanim : Enables support for xanim based codecs
- - xinerama : Add support for the xinerama X11 extension, which allows you to stretch your display across multiple monitors
- + xscreensaver : Adds support for XScreenSaver extension
+ + xv : Adds in optional support for the Xvideo extension (an X API for video playback)
+ + xvid : Adds support for xvid.org's open-source mpeg-4 codec
- - xvmc : Enables X-Video Motion Compensation support
- - zoran : Enables ZR360[56]7/ZR36060 video output
|
Vorteil 5. Globale Use-Flags
Die Use-Flags spielen ihre Stärke erst im paketübergreifenden Zusammenhang voll aus. Setzt man z.B. Use-Flags "gnome -kde", so wird bei allen Paketen, die optionale Gnome-unterstützung haben, diese mit einkompeliert, sowie überall die optionale KDE Unterstützung deaktiviert. Diese Funktionalität habe ich bei den anderen Quellcode-basierten Distris vergeblich gesucht. Dort muss man jedes Paket einzeln und zwar beim jeden Update anfassen. Deshalb wird dort eine solche Konfiguration ziemlich aufwendig.
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
equery h gnome
[ Searching for USE flag gnome in all categories among: ]
* installed packages
[I--] [ ] x11-libs/wxGTK-2.6.4.0-r3 (2.6)
[I--] [ ] x11-libs/gksu-2.0.0 (0)
[I--] [ ] x11-libs/goffice-0.4.3 (0.4)
[I--] [ ] www-client/mozilla-firefox-2.0.0.17 (0)
[I--] [ ] gnome-base/nautilus-2.22.5.1 (0)
[I--] [ ] gnome-base/gnome-mount-0.6 (0)
[I--] [ ] gnome-base/gnome-applets-2.22.3 (2)
[I--] [ ] gnome-base/gvfs-0.2.5 (0)
[I--] [ ] app-text/evince-2.22.2-r1 (0)
[I--] [ ] app-portage/cfg-update-1.8.2-r1 (0)
[I--] [ ] sys-block/gparted-0.3.8 (0)
[I--] [ ] sys-devel/distcc-2.18.3-r10 (0)
[I--] [ ] media-gfx/gimp-2.4.2 (2)
[I--] [ ] net-im/ekiga-2.0.12 (0)
[I--] [ ] app-office/openoffice-2.4.1 (0)
[I--] [ ] app-office/abiword-2.6.4 (2)
[I--] [ ~] x11-wm/compiz-0.6.2-r1 (0)
[I--] [ ~] x11-wm/compiz-fusion-0.6.0 (0)
[I--] [ ] dev-libs/libmcs-0.6.0 (0)
[I--] [ ] dev-libs/gdl-0.7.6 (0)
[I--] [ ] dev-util/meld-1.1.5.1 (0)
[I--] [ ] app-editors/bluefish-1.0.7 (0)
[I--] [ ] sys-fs/ntfsprogs-2.0.0 (0)
[I--] [ ] media-sound/pulseaudio-0.9.9 (0)
[I--] [ ] media-video/vlc-0.8.6i-r2 (0)
[I--] [ ] media-video/totem-2.22.2-r1 (0)
[I--] [ ] media-video/dvdstyler-1.5-r1 (0)
[I--] [ ] gnome-extra/libgsf-1.14.7 (0)
[I--] [ ] gnome-extra/gucharmap-2.22.3 (0)
[I--] [ ~] app-pda/synce-0.9.1 (0)
[I--] [ ] media-plugins/audacious-plugins-1.4.5 (0)
|
Vorteil 6. Flexible und Transparente Packetverwaltung
(pyjo) Obwohl Portage ein reines Konsolenprogramm ist, kenne ich kein anderes, dass so übersichtlich ist, wie portage. Weder Yast, YUM, RPM, DPKG, APT(itude) noch ein anderes das ich bisher kennengelernt habe, ist in allen Punkten so übersichtlich und strukturiert in der Handhabung und Bedienung wie Portage. Auch ist Portage wesentlich Transparenter als alle anderen.
Vorteil 7: revdep-rebuild
(devion) Von anderen Distro's hab ich noch nie von einem Tool gehört das Abhänigkeiten überprüfen und bei bedarf wieder reparieren kann.
Vorteil 8: Versionierung / Rolling Release
(devion) Ich find es einfach geil das bei einem update auf die aktuellste Verson von gentoo einfach ein "eselect profile set [latest]" und "emerge -avuDN world" genügt
(bell) Bei Gentoo gibt es keinen Unterschied zwischen "Update" und "Upgrade". Es gibt also kein Ugrade X wo das gesamte System aktualisiert wird. Die Upgrades kommen immer "häpchenweise" so dass man diese gut managen kann. Man muss nicht auf das nächste Release warten, bis man eine aktuellste Version eines Programms bekommt. Sobald das Ebuild dazu gut getestet wurde, wird es stable freigeschaltet und wandert auf den Rechner.
Vorteil 9: Gentoo Linux Security Advisories (GLSA)
Wenn man sein System nicht ständig auf dem neuesten Stand halten kann (z.B. Never change a runnung system - Prinzip), hat man die Möglichkeit sich die Programme anzeigen zu lassen, die durch eine Sicherheitslücke betroffen sind und diese selektiv aktualisieren:
|
Quellcode
|
1
|
glsa-check -p affected
|
Vorteil 10: Virtuals
Es gibt auch konkurrierende Projekte (Forks), die vom Inhalt ähnlich sind. Die meisten Distributionen definieren eines davon fest vor. Bei Gentoo gibt es Virtuals und damit die Freie Auswahl beim User. Beispiel:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
$ eix app-cdr/cdrtools
* app-cdr/cdrtools
Available versions: 3.00 ~3.01_alpha10 ~3.01_alpha11 {{acl nls unicode}}
Homepage: http://cdrecord.berlios.de/private/cdrecord.html
Description: A set of tools for CD/DVD reading and recording, including cdrecord
$ eix app-cdr/cdrkit
* app-cdr/cdrkit
Available versions: 1.1.11 ~1.1.11-r1 {{debug hfs unicode}}
Homepage: http://cdrkit.org
Description: A set of tools for CD/DVD reading and recording, including cdrecord
$ eix virtual/cdrtools
* virtual/cdrtools
Available versions: 0
Description: Virtual for command-line recorders cdrtools and cdrkit
|
Der User hat also die Wahl zwischen dem Original "cdrtools" mit einer umstrittenen Lizens oder dem voll-freien vom Debian ins leben gerufenen Fork "cdrkit" (mit ggf. weniger Funktionalität). Es gibt Anwendungen die "cdrecord" benötigen. Diese haben keines der beiden Pakete, sondern das Virtual als Abhängigkeit. Das Virtual sorgt dafür, dass eines der beiden Pakete installiert ist.
Vorteil 11: Einfaches Patchen
Das kennt glaube ich jeder, man stößt auf ein Bug und findet im Netz ein "Patch" als Lösung. Bei anderen Distris beginnt ab hier die Bastelei. Jedoch nicht bei Gentoo. Patch in ein Verzeichnis legen, das Paket neu emergen und fertig.
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
|
$ head /etc/portage/patches/mail-client/thunderbird/bugzilla-791966.patch
# HG changeset patch
# Parent 2d4a1f0d87e90da545055caf10cfdf499d2ceea5
bug 815042 - Mail messages corrupt after running filters
diff --git a/mailnews/local/src/nsLocalMailFolder.cpp b/mailnews/local/src/nsLocalMailFolder.cpp
--- a/mailnews/local/src/nsLocalMailFolder.cpp
+++ b/mailnews/local/src/nsLocalMailFolder.cpp
@@ -2626,17 +2626,22 @@ NS_IMETHODIMP nsMsgLocalMailFolder::EndM
}
mCopyState->m_parseMsgState->Clear();
|
Vorteil 12: Einfache Integration von Zusatzfunktionen beim Bauen von Paketen
Dieser Vorteil ist zwar nicht an Anfänger gerichtet, aber mit der Zeit ist man soweit und lernt es zu schätzen. Das Portage unterstützt die sogenannten Hook-Erweiterungen. Dh. während des Bauens kann zu definierten Zeitpunkten zusätzlicher (eigener) Code gerufen werden. Dadurch lassen sich Zusatzfunktionen realisieren. Bei mir sieht es so aus:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
|
$ cat /etc/portage/bashrc
# This hook is neccesary for automatic updating of the cfg-update index, please do not modify it!
pre_pkg_setup() {
[[ $ROOT = / ]] && cfg-update --index
}
post_src_prepare() {
epatch_user
}
|
Der erste Block wurde von app-portage/cfg-update (alternative zu etc-update) hinzugefügt. Damit kann das Tool die Verarbeitung von Konfigurationsdateien überwachen und diese anschließend besser automatisiert verarbeiten. Der zweite Block: Der Vorteil 11 gilt nicht für alle Pakete, sondern nur wo es vorgesehen ist. Mit dem zweiten Block wird epatch_user für alle Pakete ausgeführt.
Vorteil 13: Alternative Paketmanager
Wenn man zB. das U* nimmt, gibt es dort mehrere Tools zum installieren von Software. Jedoch haben diese eines gemeinsam: die rufen das Low-level Tool "dpkg" auf. Es ist also im Prinzip nur eine Paketverwaltung da.
Bei Gentoo hat man Alternativen, wenn man mit Portage unzufrieden ist:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
$ eix sys-apps/portage
[I] sys-apps/portage
Available versions: [M]2.1.6.7_p1 2.1.11.31 ~2.1.11.40 ~2.1.11.42 (~*)2.2.0_alpha142 (~*)2.2.0_alpha151 (~*)2.2.0_alpha153 **9999 {{build doc epydoc +ipc less linguas_pl linguas_ru pypy2_0 python2 python3 selinux xattr}}
Installed versions: 2.2.0_alpha153(09:28:51 16.01.2013)(ipc linguas_ru -build -doc -epydoc -linguas_pl -pypy2_0 -python2 -python3 -selinux -xattr)
Homepage: http://www.gentoo.org/proj/en/portage/index.xml
Description: Portage is the package management and distribution system for Gentoo
$ eix sys-apps/paludis
* sys-apps/paludis
Available versions: ~0.66.0 ~0.68.0 ~0.70.2 ~0.72.2 ~0.74.1 ~0.76.0 ~0.78.2 ~0.80.2 ~0.82.0 {{bash-completion doc pbins pink portage prebuilt-documentation python-bindings ruby-bindings search-index test vim-syntax visibility xml zsh-completion}}
Homepage: http://paludis.exherbo.org/
Description: paludis, the other package mangler
$ eix sys-apps/pkgcore
* sys-apps/pkgcore
Available versions: ~0.8 ~0.8.4 ~0.8.5-r1 ~0.8.6 **9999 {{build +-doc}}
Homepage: http://pkgcore.googlecode.com/
Description: pkgcore package manager
|
Selbstverständlich gibt es dafür auch ein Virtual
|
Quellcode
|
1
2
3
4
5
|
$ eix virtual/package-manager
[I] virtual/package-manager
Available versions: 0
Installed versions: 0(11:45:24 09.01.2013)
Description: Virtual for the package manager
|
Diese Paketmanager können alle mit den selben Gentoo-Ebuilds arbeiten, sind jedoch unter einander nicht kompatibel und nutzen auch unterschiedliche Konfigurationsdateien. So gilt die "make.conf" nur für portage. Daher muss man sich für eine davon entscheiden. Ich fahre "Mainstream" Portage.
Vorteil 14: Vernünftiger Umgang mit Lizenzen
(doxfill) Ich sehe es als Vorteil, dass bei Gentoo alles in den offiziellen Repositories vorhanden ist, egal ob nun frei oder proprietär und man durch das Akzeptieren einer Lizenz diese Software oder Treiber ganz einfach installieren kann. Bei anderen Distributionen musste man teilweise umständlich irgendwelche Fremdquellen einbinden, was ja auch nicht unbedingt zur Sicherheit beiträgt. Auch bei den Treibern muss man sich nicht lange rumärgern, sondern kann sie ganz gemütlich finden und installieren. Als normaler Anwender ist es für mich persönlich nämlich ziemlich egal, ob ein Treiber nun frei oder proprietär ist, solange er funktioniert. Da erfüllt Gentoo genau das, was ich mir wünsche.
(bell) Ja, dadurch dass Gentoo keine Pakete ausliefert sondern Ebuilds, welche automatisierte Bau- und Installationsanleitungen sind, sind auch Dinge im Portage, die als Binärpakete nicht ausgeliefert werden dürfen. Lizens akzeptieren kann man per Einstellung in der make.conf.
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# emerge -q doom3-data
>>> Sending package output to stdio due to interactive package(s):
games-fps/doom3-data-1.1.1282-r1
>>> Verifying ebuild manifests
>>> Emerging (1 of 1) games-fps/doom3-data-1.1.1282-r1
>>> cfg-update-1.8.2-r1: Checksum index is up-to-date ...
* This package will need access to 3 cds.
* If you do not have the CDs, but have the data files
* mounted somewhere on your filesystem, just export
* the following variables so they point to the right place:
* CD_ROOT_1 CD_ROOT_2 CD_ROOT_3
* Or, if you have all the files in the same place, or
* you only have one cdrom, you can export CD_ROOT
* and that place will be used as the same data source
* for all the CDs.
* For example:
* export CD_ROOT_1=/mnt/cdrom
* Please insert+mount cd #1 for doom3-data now !
* Press return to scan for the cd again
* or hit CTRL+C to abort the emerge.
|
Vorteil 15: Open Source Gedanke
(mnt_gentoo) Gentoo ist dem "OpenSource"-Gedanken am nächsten... [..] Wenn ich so die Config-Files von gentoo sehe, eine Config für jeden Zweck. [..]
(bell) Gentoo baut aus Sources. Da jedes System auf dem Gentoo gebaut wird anders ist und die Kombination der USE-Flags ins unendliche reicht, ist Gentoo konzeptionell sehr gut duchdacht. Frei nach dem Open-Source Gedanken kannst Du alles beeinflussen. Bei Interesse kannst Du sogar das ganze System mit Debug-Symbolen kompilieren, so dass Du Zeile für Zeile im Debugger verfolgen kannst was das System da tut.
Vorteil 16: Eigentlich das wichtigste: die Community
(mnt_gentoo)Gentoo ist zwar nicht so populär [..] doch hast Du eine vernünftige Community dahinter, die Dich nicht steinigt, wenn Du gefrustet mit ein paar Ungereimtheiten kommst...
(bell)Die Community besteht nicht aus "Coolen Jungs" sondern aus Linux-Erfahrenen Personen, die bereits die Hürde einer Gentoo-Installation und auch der systematischen Pflege des Systems bestanden haben. Daher gibt es keinen "Schwanzvergleich" in den Foren, sondern es wird wirklich geholfen. Wir haben es nicht nötig. Dazu kommt der Punkt: Zu Gentoo kommen Leute die die volle Kontrolle, aber auch Herausforderungen mögen. Aber sobald man die Hürden überwunden hat, wird es langweilig, denn das System läuft ja. Also löst man die Probleme anderer Leute
Ich hoffe diese Austellung hilft Euch Gentoo richtig einzuordnen.