Progetto TrueOS sullo testing di versioni sperimentali e , in cui il sistema base monolitico è stato trasformato in un insieme di pacchetti interconnessi. Le versioni si evolvono 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 in forma di pacchetti separati semplifica notevolmente il processo di aggiornamento del sistema base e consente di utilizzare un'unica utility pkg sia per l'aggiornamento di applicazioni aggiuntive (ports) che per l'aggiornamento del sistema base, inclusi i componenti dello spazio utente e il kernel. Il progetto permette inoltre di smussare i confini, precedentemente rigidamente definiti, tra il sistema base e i ports / repository di pacchetti, e di considerare la compatibilità di software di terze parti con i componenti dell'ambiente principale e il kernel durante il processo di aggiornamento.
Pkgbase suddivide il sistema base nei seguenti pacchetti:
- userland (meta-pacchetto che comprende tutti i pacchetti con componenti dello spazio utente del sistema base)
- userland-base (file eseguibili e librerie principali)
- userland-docs (guide di sistema)
- userland-debug (file di debug, collocati in /usr/lib/debug)
- userland-lib32 (librerie per la compatibilità con applicazioni a 32 bit);
- userland-tests (framework di testing)
- kernel (kernel principale nella configurazione GENERIC)
- kernel-debug (kernel compilato in modalità di debug )
- kernel-symbols (simboli di debug per il kernel, collocati in /usr/lib/debug)
- kernel-debug-symbols (simboli di debug quando il kernel è compilato in modalità Witness)
Inoltre, sono disponibili diversi pacchetti per la compilazione da sorgente: src (codice del sistema 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 alla settimana, mentre per il ramo 12-STABLE ogni 48 ore. In caso di modifica dei file di configurazione predefiniti, durante il processo di installazione dell'aggiornamento viene effettuata una fusione con le modifiche locali nella directory /etc. Se viene rilevato un conflitto che impedisce di unire le impostazioni, rimane la versione locale e le modifiche proposte vengono salvate in file con estensione «.pkgnew» per un'analisi manuale successiva (per visualizzare l'elenco dei file in conflitto con le impostazioni, è possibile utilizzare il comando «find /etc | grep ‘.pkgnew$'»).
Fonte: opennet.ru
