Progetto TrueOS sul testing delle build sperimentali e , in cui il sistema base monolitico è stato trasformato in un insieme di pacchetti interconnessi. Le build si sviluppano nell'ambito del progetto , che fornisce strumenti per utilizzare il gestore di pacchetti standard pkg per gestire i pacchetti che compongono il sistema base.
La fornitura sotto forma di pacchetti separati consente di semplificare notevolmente il processo di aggiornamento del sistema base e di utilizzare un'unica utilità pkg sia per aggiornare le applicazioni aggiuntive (ports) sia per aggiornare il sistema base, compresi i componenti dell'utente e il kernel. Il progetto offre inoltre la possibilità di attenuare i confini precedentemente rigidi tra il sistema base e i ports/repository di pacchetti, tenendo conto, durante l'aggiornamento, della compatibilità dei software di terze parti con i componenti dell'ambiente principale e del kernel.
Pkgbase separa il sistema base nei seguenti pacchetti:
- userland (meta-pacchetto che comprende tutti i pacchetti con i componenti dello spazio utente del sistema base)
- userland-base (file eseguibili e librerie principali)
- userland-docs (manuali di sistema)
- userland-debug (file di debug, posizionati in /usr/lib/debug)
- userland-lib32 (librerie per la compatibilità con applicazioni a 32 bit);
- userland-tests (framework per test)
- kernel (nucleo principale nella configurazione GENERIC)
- kernel-debug (nucleo compilato in modalità di debug )
- kernel-symbols (simboli di debug per il kernel, posizionati in /usr/lib/debug)
- kernel-debug-symbols (simboli di debug, quando il kernel è compilato in modalità Witness)
Inoltre, sono forniti diversi pacchetti per la compilazione da fonti: src (codice del sistema di base, installato in /usr/src), buildworld (file /usr/dist/world.txz con il log della compilazione buildworld), buildkernel (file /usr/dist/kernel.txz con il log della compilazione buildkernel) e buildkernel-debug (file /usr/dist/kernel-debug.txz con il log di debug della compilazione del kernel).
I pacchetti per il ramo 13-CURRENT verranno aggiornati una volta a settimana, mentre per il ramo 12-STABLE ogni 48 ore. In caso di modifica dei file di configurazione predefiniti, durante il processo di installazione degli aggiornamenti vengono uniti con le modifiche locali nella cartella /etc. Se viene rilevato un conflitto che impedisce l'unione delle impostazioni, viene mantenuta la versione locale e le modifiche suggerite vengono salvate in file con estensione «.pkgnew» per una successiva revisione manuale (per visualizzare l'elenco dei file in conflitto con le impostazioni, è possibile utilizzare il comando «find /etc | grep ‘.pkgnew$'»).
Fonte: opennet.ru
