Projekt TrueOS zur Testung experimenteller Builds und , in dem das monolithische Grundsystem in eine Sammlung miteinander verbundener Pakete umgewandelt wurde. Die Builds entwickeln sich im Rahmen des Projekts , das Möglichkeiten bietet, den standardmäßigen Paketmanager pkg zu nutzen, um die Pakete, die das Grundsystem bilden, zu verwalten.
Die Bereitstellung in Form separater Pakete vereinfacht den Aktualisierungsprozess des Grundsystems erheblich und erlaubt die Nutzung des einheitlichen Tools pkg sowohl für die Aktualisierung zusätzlicher Anwendungen (Ports) als auch für das Grundsystem, einschließlich der Komponenten des Benutzerraums und des Kernels. Das Projekt ermöglicht es zudem, die zuvor starr definierten Grenzen zwischen dem Grundsystem und den Ports/Paketen zu verwischen und die Kompatibilität von Drittanbietersoftware mit den Komponenten der Hauptumgebung und dem Kernel während des Aktualisierungsprozesses zu berücksichtigen.
Pkgbase teilt das Grundsystem in folgende Pakete auf:
- userland (Meta-Paket, das alle Pakete mit Komponenten des Benutzerraums des Grundsystems umfasst)
- userland-base (hauptsächliche ausführbare Dateien und Bibliotheken)
- userland-docs (Systemdokumentationen)
- userland-debug (Debug-Dateien, die in /usr/lib/debug abgelegt werden)
- userland-lib32 (Bibliotheken zur Kompatibilität mit 32-Bit-Anwendungen);
- userland-tests (Testframeworks)
- kernel (das Hauptkernel in der GENERIC-Konfiguration)
- kernel-debug (im Debug-Modus kompiliertes Kernel) )
- kernel-symbols (Debug-Symbole für das Kernel, abgelegt in /use/lib/debug)
- kernel-debug-symbols (Debug-Symbole, die beim Kompilieren des Kernels im Witness-Modus erstellt werden)
Zusätzlich stehen mehrere Pakete für die Kompilierung aus Quelltexten zur Verfügung: src (Quellcode des Basissystems, installiert in /usr/src), buildworld (Datei /usr/dist/world.txz mit dem Build-Log von buildworld), buildkernel (Datei /usr/dist/kernel.txz mit dem Build-Log von buildkernel) und buildkernel-debug (Datei /usr/dist/kernel-debug.txz mit dem Debug-Log des Kernel-Buils).
Die Pakete für den Branch 13-CURRENT werden wöchentlich aktualisiert, während die Pakete für den Branch 12-STABLE alle 48 Stunden aktualisiert werden. Bei Änderungen der standardmäßigen Konfigurationsdateien erfolgt während des Update-Vorgangs eine Zusammenführung mit den lokalen Änderungen im Verzeichnis /etc. Falls ein Konflikt auftritt, der eine Zusammenführung der Einstellungen verhindert, bleibt die lokale Variante bestehen, und die vorgeschlagenen Änderungen werden in Dateien mit der Endung „.pkgnew“ zur späteren manuellen Überprüfung gespeichert (um eine Liste der konfliktbehafteten Dateien anzuzeigen, kann der Befehl „find /etc | grep '.pkgnew$'“ verwendet werden).
Quelle: opennet.ru
