"Die USE-Flags bilden eine Abstraktionsschicht für die Konfiguration der Funktionalität der einzelnen Pakete für Optionen welche sich nur während des Kompilervorgangs aktivieren lassen. So bestimmt das USE-Flag bluetooth den Einbau der Bluetoothunterstützung für den Fall das dass jeweilige Paket diese Unterstützung mitbringt - die Funktionalität lässt sich jedoch auch mit dem USE-Flag -bluetooth komplett abschalten. Die Implementation des An- und Abschalten von Funktionen kann dabei vom „ebuild“-Skript individuell umgesetzt werden - in der Regel werden die Optionen mit Hilfe von Configure-Optionen oder Patches realisiert. Die USE-Flags lassen sich mit Hilfe von Konfigurationsdateien sowohl zentral für alle, als auch speziell für einzelne Pakete konfigurieren." [Wikipedia]
Und das bringt was gegenüber einzeln anwählbaren (fertigen) Paketen unter Debian & Co? Optionale Funktionen in Software sind in der Regel immer mittels dynamischer Bibliotheken realisiert (und wenn nicht, dann sind das minimale Sachen) und die werden dann halt in extra Pakete gepackt, die man ja nicht installieren muss.
Zum Beispiel möchte ich Emacs auf einem headless-Server haben. USE=-X schaltet die ganzen grafischen Komponenten ab (sie werden dem Binary gar nicht erst hinzugefügt). Die entsprechenden Bibliotheken sind auch nicht notwendig. Alles aus einem Paket und nicht emacs-X versus emacs-console. Ein besseres Beispiel ist aber Apache oder PHP, die sich mit mehreren Dutzend sich teilweise gegenseitig ausschließenden Features bauen lassen. Eine Binärdistribution muss sich jetzt entscheiden, welche Varianten sie einbaut. Bei Gentoo gibst du genau vor, was du haben möchtest, was auch vom Sicherheitsstandpunkt her Vorteile bietet.
"Die USE-Flags bilden eine Abstraktionsschicht für die Konfiguration der Funktionalität der einzelnen Pakete für Optionen welche sich nur während des Kompilervorgangs aktivieren lassen. So bestimmt das USE-Flag bluetooth den Einbau der Bluetoothunterstützung für den Fall das dass jeweilige Paket diese Unterstützung mitbringt - die Funktionalität lässt sich jedoch auch mit dem USE-Flag -bluetooth komplett abschalten. Die Implementation des An- und Abschalten von Funktionen kann dabei vom „ebuild“-Skript individuell umgesetzt werden - in der Regel werden die Optionen mit Hilfe von Configure-Optionen oder Patches realisiert. Die USE-Flags lassen sich mit Hilfe von Konfigurationsdateien sowohl zentral für alle, als auch speziell für einzelne Pakete konfigurieren." [Wikipedia]
Ein besseres Beispiel ist aber Apache oder PHP, die sich mit mehreren Dutzend sich teilweise gegenseitig ausschließenden Features bauen lassen. Eine Binärdistribution muss sich jetzt entscheiden, welche Varianten sie einbaut. Bei Gentoo gibst du genau vor, was du haben möchtest, was auch vom Sicherheitsstandpunkt her Vorteile bietet.