Testen der Trennung des Basisystems FreeBSD in Pakete

Projekt TrueOS gab bekannt über das Testen experimenteller Builds FreeBSD 12-STABLE und FreeBSD 13-CURRENT, in denen das monolithische Basissystem in eine Reihe miteinander verbundener Pakete umgewandelt wurde. Die Builds entwickeln sich im Rahmen des Projekts pkgbase, das Werkzeuge zur Nutzung des Standard-Paketmanagers pkg für die Verwaltung der Pakete bereitstellt, die das Basissystem bilden.

Die Bereitstellung in Form separater Pakete ermöglicht eine deutliche Vereinfachung des Aktualisierungsprozesses des Basissystems und die Verwendung eines einzigen Tools pkg sowohl zur Aktualisierung zusätzlicher Anwendungen (Ports) als auch zur Aktualisierung des Basissystems, einschließlich der Komponenten des Benutzeraum und des Kernels. Das Projekt bietet auch die Möglichkeit, die früher klar abgegrenzten Grenzen zwischen dem Basissystem und den Ports/Paket-Repositorys zu glätten und dabei bei der Aktualisierung die Kompatibilität von Drittanbietersoftware mit den Komponenten der Hauptumgebung und dem Kernel zu berücksichtigen.

Pkgbase teilt das Basissystem in folgende Pakete auf:

  • userland (Meta-Paket, das alle Pakete mit Komponenten des Benutzeraums des Basissystems umfasst)
  • userland-base (wichtige ausführbare Dateien und Bibliotheken)
  • userland-docs (Systemdokumentationen)
  • userland-debug (Debugging-Dateien, die in /usr/lib/debug abgelegt werden)
  • userland-lib32 (Bibliotheken zur Unterstützung von 32-Bit-Anwendungen);
  • userland-tests (Test-Frameworks)
  • kernel (das Hauptkernel in der GENERIC-Konfiguration)
  • kernel-debug (Kernel, der im Debug-Modus erstellt wurde Witness)
  • kernel-symbols (Debugging-Symbole für das Kernel, die in /use/lib/debug abgelegt werden)
  • kernel-debug-symbols (Debugging-Symbole, wenn das Kernel im Witness-Modus kompiliert wird)

Zusätzlich werden mehrere Pakete für den Build aus dem Quellcode bereitgestellt: src (Code des Basissystems, der in /usr/src installiert wird), 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-Builds).

Die Pakete für den Branch 13-CURRENT werden wöchentlich aktualisiert, während für den Branch 12-STABLE alle 48 Stunden. Bei Änderungen der standardmäßigen Konfigurationsdateien erfolgt beim Update die Zusammenführung mit lokalen Änderungen im Verzeichnis /etc. Bei einem Konflikt, 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 die Liste der konfliktbehafteten Dateien mit den Einstellungen anzuzeigen, kann der Befehl „find /etc | grep ‘.pkgnew$'“ verwendet werden).

Quelle: opennet.ru

60GB SSD 8Gb DDR4