SquashFS, AuFS ed i segreti delle distribuzioni live Salvatore Carotenuto, StartUp Solutions Fisciano, 22 Ottobre 2010
Live?!? Ma in che senso? una distribuzione Live è un sistema operativo progettato per essere eseguito senza dover essere installato su disco fisso; Non necessita di configurazioni all'avvio; È facilmente trasportabile, e può essere avviata quasi su ogni computer compatibile; Alcune distro live, se caricate su supporto scrivibile (USB) permettono anche di essere modificate e personalizzate; Si può avere il proprio ambiente di lavoro sempre in tasca!
Si, ma in pratica... a cosa servono? Familiarizzare con nuovi ambienti operativi senza doverli installare
Alcune tra le distribuzioni Live generiche più conosciute Knoppix Slax http://damnsmalllinux.org FeatherLinux http://www.puppylinux.com Damn Small Linux (DSL) http://www.opensuse.org/ PuppyLinux http://www.ubuntu.com OpenSuse http://www.slax.org Ubuntu/Kubuntu http://www.knopper.net/knoppix/index-en.html http://featherlinux.berlios.de/...e decine di molte altre
Si, ma in pratica... a cosa servono? Avere un sistema operativo serio, sempre a portata di mano per fare cose SERIE laddove gli altri si fermano!
Distribuzioni Live specializzate back track http://www.backtrack-linux.org È una distribuzione specializzata per le operazioni di Network Penetration Testing e Network Attack
Distribuzioni Live specializzate C.A.IN.E http://www.caine-live.net È una distribuzione specializzata per le operazioni di Computer Forensics
Distribuzioni Live specializzate Parted Magic http://partedmagic.com/ A differenza di quanto dice il sito, non è un tool, ma una distro live corredata da decine di tool per la gestione totale degli hard disk
Distribuzioni Live specializzate CAE Linux http://www.caelinux.com/ È una distribuzione specializzata per il Computer Aided Engineering e Design
Distribuzioni Live specializzate mythbuntu http://www.mythbuntu.org/ MythTV + Ubuntu: trasforma in pochi secondi il vostro PC in un mediacenter
Distribuzioni Live specializzate Musix GNU+Linux http://www.musix.org.ar/en/index.html È una distribuzione specializzata per la produzione di musica digitale, grafica e editing video
Distribuzioni Live specializzate live.linux-gamers.net http://live.linux-gamers.net/?s=home È una distribuzione live boot && play che include il meglio dei giochi linux opensource
La mia esperienza personale È una piattaforma da sala giochi basata su GNU/Linux; Gira grazie ad un ambiente GNU/Linux LIVE costruito a partire da una Slackware 12.2 normale ; Fa uso intensivo di SquashFS(+LZMA) e AuFS; Tutto il sistema operativo (compresso) occupa soltanto 80 MB; Nonostante sia memorizzato su SATA-DOM scrivibile, il sistema viene caricato in modalità real readonly. Questo permette di spegnere brutalmente la console senza eseguire lo shutdown;
le tecnologie di base: SquashFS AuFS
SquashFS (Squashed FileSystem) è un filesystem compresso, a sola lettura; permette di comprimere in un solo archivio interi filesystem o singole directory e montarle via loopback; comprime sia i dati, che le strutture del filesystem (inode e directories); utilizza di default la compressione GZIP, ma esiste una versione patchata per usare la compressione LZMA;
SquashFS (Squashed FileSystem) è integrato nel kernel Linux a partire dalla versione 2.6.29, sulla base di VFS (Virtual File System); Gli archivi SquashFS si gestiscono attraverso i comandi mksquashfs e unsquashfs (presenti nel package squashfs-tools);
SquashFS (Squashed FileSystem) Esempio di creazione di uno squashed package: mksquashfs <package_root_dir> <package_name> estrazione di uno squashed package: unsquashfs <squashed_package>
SquashFS (Squashed FileSystem) Esempio di mount di uno squashed package: mount -t squashfs <squashed_package> <mountpoint>
AuFS (Another Union FileSystem) È una reimplementazione del filesystem UnionFS; Permette di ottenere (come per UnionFS) un singolo filetree a partire da diverse branches, anche di formato e caratteristiche diverse:
AuFS (Another Union FileSystem) AuFS, inoltre, permette di ottenere lo stacked mounting delle varie branch. Questo significa che il filesystem finale sarà una fusione dei filesystem sorgenti; Nel caso di branch a sola lettura, AuFS crea un topmost layer nel quale salva le modifiche alle branches sottostanti (in questo modo il sistema ha l' illusione di trovarsi su un filesystem scrivibile);
AuFS (Another Union FileSystem) Grazie allo stacked mounting, inoltre, nel caso esistesse lo stesso file in due branches diverse, il file presente nella branch più in alto sostituirà il file presente nella lower branch
AuFS (Another Union FileSystem) + = Normal mounting di due filesystem
AuFS (Another Union FileSystem) + = Stacked mounting di due filesystem via AuFS