Sie sind nicht angemeldet.

1

01.10.2008, 01:05

Was hat Gentoo, was andere nicht haben!

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 :D
(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. 8)
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

Dieser Beitrag wurde bereits 8 mal editiert, zuletzt von »bell« (06.02.2013, 21:10)


2

01.10.2008, 17:52

Nette Liste - Wie steht es eigentlich mit der World-File? Das ist für mich persönlich auch ein großer Vorteil von Gentoo, da ich Jemand bin, der gerne viel rumprobiert und die Sachen danach auch vollständig (inkl. Abhängigkeiten) wieder entfernen möchte ... Andere Linux Distributionen oder Unixe bieten den Vorteil meist nicht so (offensichtlich)? Oder habe ich das bisher nur einfach immer übersehen?

3

01.10.2008, 21:13

Nette Liste - Wie steht es eigentlich mit der World-File? Das ist für mich persönlich auch ein großer Vorteil von Gentoo, da ich Jemand bin, der gerne viel rumprobiert und die Sachen danach auch vollständig (inkl. Abhängigkeiten) wieder entfernen möchte ... Andere Linux Distributionen oder Unixe bieten den Vorteil meist nicht so (offensichtlich)? Oder habe ich das bisher nur einfach immer übersehen?
Andere Distris bieten meist die Möglichkeit, Packete und alle ihre Abhängigkeiten zu deinstallieren, falls sie nicht noch von anderen Programmen benötigt werden. Das geht bei SuSE, Fedora/RedHat und auch bei Debian's dpkg/apt. Aber wenn man einmal das Packet deinstalliert hat, fällt es meist schwer, auch noch dessen Abhängigkeiten wieder los zu werden. Mal abgesehen davon, dass ich mir mit dieser Option schonmal rpm unter SuSE mit deinstalliert hatte und entsprechend danach nichts mehr ging ^^ wobei ich nicht behaupten würde, dass mir das nicht auch unter Gentoo passieren könnte.

Aber wo wir bei dem Thema Packetmanager währen. 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, strukturiert und übersichtlich in der Handhabung und Bedienung wie Portage. Auch ist Portage wesentlich Transparenter als alle anderen. Von daher:

Vorteil 6. Flexible und Transparente Packetverwaltung

mfg pyjo

4

01.10.2008, 22:41

Ich denke ihr habt noch 2 weitere Vorteile vergessen ;)
Ich kenne zwar andere Distros noch zu wenig, trotzdem glaub ich sind das 2 weitere große Vorteile von Gentoo:

Vorteil 7: revdep-rebuild
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

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 :D

greetz
To mess up a Linux box, you need to work at it; to mess up your Windows box, you just need to work on it.

5

02.10.2008, 13:39

Ein Punkt fehlt mir noch ein:

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
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

6

02.10.2008, 13:52

Ein Punkt fehlt mir noch ein:

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


oh das ist ja auch ne nette sache, kannte ich bisher noch nicht!
Gentoo Linux / gentoo-sources 2.6.24-r4 / Gnome + Compiz Fusion + Emerald ;-)
Nexoc Osiris S602 / Pentium M 1,4GHZ / 1024 MB RAM / Intel 855GME 64 MB

7

02.10.2008, 14:34

Was ich bei Debian/Ubuntu schmerzlich vermisse is ein Tool à la equery. Solche Sachen reißen Gentoo auch ganz schön raus. Aber Anfängern empfehl ich Gentoo trotzdem mal nicht....

Ich hab da noch eine andere Frage: portage nutze ich immer aus der Konsole, aber ich habe da mal einen Screenshot mit einem Frontend gesehen (glaub das war Gnome). Ein wenig wie synaptic zu apt. Weiß hier wer wie das heißt?

8

02.10.2008, 14:56

Zitat

aber ich habe da mal einen Screenshot mit einem Frontend gesehen (glaub das war Gnome)
app-portage/portato und app-portage/porthole.
Beide sind jedoch noch testing. Verwendet habe ich diese noch nie. Wie pyjo schon geschrieben hat, ist Portage auf der Kommandozeile schon ziemlich übersichtlich und mächtig.
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

9

05.10.2008, 12:25

Zitat

Screenshot mit einem Frontend gesehen

Es gibt/gab auch mal Kuroo .. aber derzeit ist das (wieder) masked.

Zitat

Was ich bei Debian/Ubuntu schmerzlich vermisse is ein Tool à la equery.

Warum?
Welche Infos fehlen Dir denn?

Für mich ist vorallem der zweite Punkt entscheidend: Versionsvielfalt!
Man ist nicht gezwungen sein System in allen Punkten auf den neuesten Stand zu bringen. Quasi eine art gliding Release oder so :D

Andere Rolling Release Systeme bieten zwar die Möglichkeit, alte Pakete zu pinnen aber einmal aktualisiert, weg isses.
Unix wurde nicht entwickelt, um seine Benutzer daran zu hindern, dumme Dinge zu tun, denn das würde diese auch davon abhalten, schlaue Dinge zu tun.“ – Doug Gwyn

10

15.10.2008, 18:46

Was ich noch reinehmen würde, obwohl das wohl auch Ansichtssache ist, wäre die Übersichtliche init Verwaltung.
Gentoo startet beim booten erstmal nix, was neu installiert wurde, wenn man es nicht ausdrücklich will. Und mit:
rc-update
ist das auch noch ziemlich einfach zu konfigurieren.

11

08.12.2008, 19:54

ähh mal ne andere frage.

was haben andere was gentoo nicht hat ?! ;-)



und "grafische installationsoberfläche" zählt nicht :-)
<>
wer denkt zu wissen, weiss weniger als er denkt.

Ein Kumpel der zu allem eine Link hat.

12

08.12.2008, 20:10

und "grafische installationsoberfläche" zählt nicht :-)
natürlich nicht, die gibt es bei Gentoo auch :P

mfg pyjo

13

08.12.2008, 22:18

Was es bei Gentoo nicht gibt. Drei Sachen fallen mir da spontan ein.

1. Desktop-Integration. Da macht es Ubuntu vor. Fehlt dem Firefox Java, oder dem Totem das MP3 gstreamer-Plugin wird automatisch die Installation des richtigen Paketes vorgeschlagen und nach der Eingabe des Passwortes auch durchgeführt.

2. Anwenderbezogene Metadaten. Jede Distribution besteht aus vielen Paketen. Den Anwender interessieren jedoch die wenigsten davon. Im Prinzip ist alles, was im Worldfile drin steht, das für den Anwender interessante, alles andere auf dem System installierte sind Abhängigkeiten. Hier gibt es was wieder bei Ubuntu: "Anwendungen hinzufügen/entfernen". Es ist eine Gui zum Paketmanager, das nicht alle Pakete beinhaltet, sondern nur die für den End-Anwender interessanten, sprich die im Menü einen Eintrag erzeugen werden. Bei Gentoo könnte man diesen Gedanken weiter spinnen und die Use-Flags auch durch "Funktionalitäten"-Metadaten erweitern. Ich habe zB. bis Heute immer die Schwierigkeit rauszufinden, was ein Use-Flag genau in der Anwendung aktiviert.

3. Voll-Automatisches Erstellen eines Systems. Da denke ich an Buildroot-basierende Distris und an Rock-Linux. Man wählt Einstellungen und Pakete in einer Gui aus (bei og. Distris ncurses basiert wie kernels "make menuconfig") startet den Vorgang, und am Ende hat man ein Image (z.B. ext3) oder Tar-Paket, was ein funktionsfähiges System beinhaltet. Bei Gentoo gibt es nur "dev-util/catalyst", das funktionsfähige Live-CDs erzeugen kann. Die Konfiguration ist jedoch viel komplizierter als "make menuconfig"

Ich denke aber der Grund dafür, dass diese Dinge noch fehlen, ist dass es noch niemand vermisst hatte :)
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

14

16.01.2013, 21:29

Ich habe das Thema mal etwas aktualisiert. Gentoo ist gewachsen, meine Erfahrung auch. Daher habe ich die von anderen genannten Vorteile oben eingearbeitet und noch ein Paar hinzugefügt. Jetzt sind es 13. Unschöne Zahl, aber den 21. Dezember haben wir ja auch gut überstanden. :)
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

15

16.01.2013, 21:55

Also zu app-portage/porthole. Hab mal vor ca. 1,5 Jahren nen Freund der auch Ubuntu einsetzt. Gentoo als Server installiert. Also Fileserver, NFS, DHCP, DNS, RAdvd für IPV6, Samba.... usw. Der Server ist grafisch. Er wars halt so gewohnt, und es spricht ja auch nix dagegen. Configs bearbeitet er mit Webmin und Paketmanagement mit Porthole. Und das bis heute ohne Probleme. Der war noch nie auf der CMD unten. Portage Alpha natürlich.

Das finde ich wirklich gute qualitativ hochwertige Software.

Übrigens echt gute Aufstellung der Features von Gentoo. Danke. :thumbsup:
Gentoo Can Do!
>>>> boospy@jabber.ccc.de <<<<
Wiki auf: http://deepdoc.at

16

28.01.2013, 10:27

RE: Was hat Gentoo, was andere nicht haben!

Ja, da kann ich nur zustimmen wirklich schoene Aufstellung. Du solltest noch den letzten Satz anpassen.

Ich hoffe diese fünf Punkte helfen Gentoo richtig einzuordnen. 8)

17

28.01.2013, 10:40

Danke für den Hinweis. :whistling:
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

18

28.01.2013, 11:10

Was ich hier vermisse, will ich auch vorstellen:

eix

Was ist das?

Immer, wenn ich emerge --sync ausgeführt habe,
folgt bei mir eix-update.

Grund:
Das Programm eix kann mir zu jedem Paket Auskunft geben, zB welche Version gerade zur Verfügung steht,
welche USE-Flags de-/aktiviert sind, welche Pakete nstalliert/nicht installiert sind.

Ein Beispiel:

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
eix vmware
[I] app-emulation/vmware-modules
     Available versions:  (~)238.6 (~)264.4 (~)264.5 (~)271.1 (~)271.1-r1 {pax_kernel KERNEL="linux"}
     Installed versions:  271.1-r1(18:16:18 18.01.2013)(-pax_kernel KERNEL="linux")
     Homepage:            http://www.vmware.com/
     Description:         VMware kernel modules

[I] app-emulation/vmware-player
     Available versions:  (~)3.1.6.744570^fs (~)4.0.4.744019-r1^s (~)4.0.5.893925^s (~)5.0.1.894247^s {cups doc +vmware-tools}
     Installed versions:  5.0.1.894247^s(08:27:43 19.01.2013)(cups vmware-tools -doc)
     Homepage:            http://www.vmware.com/products/player/
     Description:         Emulate a complete PC on your PC without the usual performance overhead of most emulators

[I] app-emulation/vmware-tools
     Available versions:  (~)8.4.9.744570^m (~)8.8.4.744019^m (~)8.8.5.893925^m (~)9.2.2.894247^m {vmware_guest_freebsd vmware_guest_linux vmware_guest_netware vmware_guest_solaris vmware_guest_winPre2k vmware_guest_windows}
     Installed versions:  9.2.2.894247^m(17:40:07 18.01.2013)(-vmware_guest_freebsd -vmware_guest_linux -vmware_guest_netware -vmware_guest_solaris -vmware_guest_winPre2k -vmware_guest_windows)
     Homepage:            http://www.vmware.com/products/player/
     Description:         VMware Tools for guest operating systems

* app-emulation/vmware-view-open-client
     Available versions:  (~)4.5.0.297975-r1
     Homepage:            http://code.google.com/p/vmware-view-open-client/
     Description:         Open Source VMware View Client

* app-emulation/vmware-vix
     Available versions:  (~)1.11.4.744019^fms {doc}
     Homepage:            http://www.vmware.com/support/developer/vix-api/
     Description:         VMware VIX API for Linux

* app-emulation/vmware-workstation
     Available versions:  (~)7.1.6.744570^fms (~)8.0.4.744019-r1^ms (~)8.0.5.893925^ms (~)9.0.1.894247^ms {cups doc ovftool server vix (+)vmware-tools}
     Homepage:            http://www.vmware.com/products/workstation/
     Description:         Emulate a complete PC on your PC without the usual performance overhead of most emulators

* sec-policy/selinux-vmware
     Available versions:  [M]2.20120725-r5 [M](~)2.20120725-r7 [M]2.20120725-r8 [M]2.20120725-r9 [M](~)2.20120725-r11 [M]**9999
     Homepage:            [url]http://www.gentoo.org/proj/en/hardened/selinux/[/url]
     Description:         SELinux policy for vmware
                                                                                                                                                                                                                                     
* x11-drivers/xf86-video-vmware                                                                                                                                                                                                      
     Available versions:  12.0.2-r1 (~)13.0.0                                                                                                                                                                                        
     Homepage:            [url]http://xorg.freedesktop.org/[/url]                                                                                                                                                                               
     Description:         VMware SVGA video driver


Ich zeige dieses Beispiel nur deshalb, weil ich bisher bei den neuesten Kerneln bei anderen Distributionen
VMware-player nicht installieren konnte.
Doch hier, mit kernel 3.7.3-gentoo funktioniert der Player ohne Probleme.

Vor allem kann ich vor der Installation schon sehen, ob ich eine Version meines Programmes
mag oder nicht mag. Die kann ich dann maskieren.
Oder ich kann in /etc/portage/packag.use USE-Flags nachtragen, die ich brauche.
Andernfalls auch USE-Flags ausschließen per -Zeichen.

Ich nutze schon - so lange ich mit Gentoo arbeite, eix und bin sehr zufrieden damit.

Gruss
Manfred

19

28.01.2013, 11:17

Ja, eix ist ein feines Such-Tool. Vor allem schnell! Ich habe es nicht explizit vorgestellt, jedoch bei den Beispielen verwendet. Sozusagen zwischen den Zeilen.
Ein Tipp: Statt "emerge --sync && eix-update" kannst Du auch

Quellcode

1
eix-sync
nutzen. Das macht beides in einem Schritt und zeigt Dir auch eine schöne Änderungs-Liste.
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

20

28.01.2013, 13:06

Ja, eix ist ein feines Such-Tool.


Super Tipp, super Tool, danke! :thumbup:

Rüdiger

Verwendete Tags

gentoo, Neuling, vergleich