Crea il tuo Ubuntu Live CD personalizzato

Qui su Ghacks ho menzionato alcuni strumenti che ti permettono di creare vari tipi di CD Linux. La maggior parte di questi strumenti ti consente di creare Live CD che sono immagini della tua distribuzione corrente o strumenti per creare un Live CD con pacchetti speciali. Ma nessuno di questi strumenti, finora, ti ha permesso di personalizzare davvero il tuo Live CD. Non è possibile specificare sfondi del desktop o altre opzioni di configurazione. Queste sono attività che possono davvero rendere la creazione di un Live CD personalizzato degno dello sforzo.

In questo articolo ti mostrerò come prendere un'immagine ISO di Ubuntu 9.10 scaricata, montarla, personalizzarla e ricostruire il Live CD dalla tua immagine appena personalizzata. Questo processo può richiedere molto tempo, ma ne vale la pena. L'intero processo verrà eseguito dalla riga di comando, quindi prepara le dita per digitare.

La prima cosa di cui avrai bisogno è un'immagine ISO di una versione recente. Quindi salta su Sito web di Ubuntu e scarica una nuova copia della 9.10. Fatto ciò, sei pronto per metterti al lavoro.

Prima di continuare con la personalizzazione, è necessario installare alcuni strumenti che saranno necessari. Dalla riga di comando emettere questo comando:

sudo aptitude install squashfs-tools genisoimage

Ora crea una directory vuota che verrà utilizzata per lavorare con l'immagine ISO. Creiamolo nella directory home dei tuoi utenti, quindi esegui il comando:

mkdir ~ / LIVECD

Ora sposta l'immagine ISO appena scaricata nella nuova directory e preparati a lavorare.

La prima cosa da fare è montare l'immagine ISO con il comando. Dovrai creare una sottodirectory in cui montare l'immagine, quindi esegui il comando:

mkdir ~ / LIVECD / mount

Adesso monta gli iso con il comando:

sudo mount -o loop ubuntu-9.10-desktop-i386.iso ~ / LIVECD / mount /

Ora dovrai creare un'altra directory in cui estrarre il contenuto di ~ / LIVECD / mount. Emetti il ​​comando:

mkdir ~ / LIVECD / extract-cd

E poi estrai con il comando:

rsync --exclude = / casper / filesystem.squashfs -a mnt / extract-cd

Ora estrai il file system squashfs con il comando:

sudo unsquashfs mount / casper / filesystem.squashfs

sudo mv squashfs-root edit

Il primo dei due comandi precedenti richiederà del tempo. È normale.
Se avrai bisogno dell'accesso alla rete con questo sistema (e probabilmente lo farai) dovrai modificare il file /etc/resolv.conf file in modo che abbia gli indirizzi DNS corretti. Per fare questo basta copiare il tuo lavoro attuale resolve.conf file nel ~ / Livecd / modificare / etc directory con il comando:

sudo cp /etc/resolve.conf ~ / LIVECD / edit / etc /

Ora per montare alcune directory importanti sul tuo sistema:

sudo mount --bind / dev / edit / dev
sudo chroot edit
mount -t proc nessuno / proc
mount -t sysfs nessuno / sys
mount -t devpts nessuno / dev / pts

In seguito sarà molto importante smontare queste directory.

Successivamente lo facciamo in modo da evitare eventuali problemi di locale e permettendoci di importare le chiavi GPG (se necessario) emettiamo i comandi:

esporta HOME = / root

esporta LC_ALL = C

Ora puoi visualizzare tutti i pacchetti installati sulla ISO montata con il comando:

dpkg-query -W --showformat = '$ {Pacchetto} n' | sort -nr | Di meno

Puoi scorrere l'elenco ed eliminare qualsiasi pacchetto che non desideri sul Live CD con il comando:

aptitude purge PACKAGE_NAME

Dove NOME DEL PACCHETTO è il nome del pacchetto che desideri rimuovere. È quindi possibile installare nuovi pacchetti sul Live CD immettendo il comando:

aptitude installa PACKAGE_NAME

Dove NOME DEL PACCHETTO è il nome del pacchetto da installare.

E le immagini di sfondo del desktop? Sì, puoi personalizzare anche questo. Se guardi il file /usr/share/gnome-background-properties/ubuntu-wallpapers.xml vedrai dove è configurato lo sfondo predefinito. Puoi modificare quel file, ma dovrai assicurarti che il file .png che desideri utilizzare si trovi in / Usr / share / gconf / defaults / 16_ubuntu-wallpapers .

Puoi anche modificare il file /etc/gconf/gconf.xml.defaults/%gconf-tree.xml file per apportare eventuali modifiche di personalizzazione aggiuntive (caratteri, colori, opzioni del pannello, ecc.) all'interno di quel file. Comprendi che ciò che questo file è un file vuoto a cui aggiungere nuovi valori predefiniti. Se preferisci usare gconftool per modificare questi valori, puoi farlo con un comando come:

gconftool-2 --direct --config-source xml: readwrite: /etc/gconf/gconf.xml.defaults --type string --set KEY 'VALUE'

Dove KEY è la chiave che desideri modificare e VALUE è il valore da impostare per la chiave.

Ci sono un sacco di altre possibili configurazioni che puoi intraprendere qui. Ma per lo scopo di questo articolo, lo lasceremo con quello che abbiamo.

È ora di assicurarsi di rimuovere tutti i file temporanei che potrebbero essere rimasti indietro dall'installazione di qualsiasi pacchetto con il comando:

attitudine pulita

Puoi anche rimuovere il file /etc/resolv.conf che hai aggiunto con il comando:

rm /etc/resolv.conf

È ora di smontare le directory:

umount / proc
umount / sys
umount / dev / pts
Uscita
sudo umount modifica / dev

Rimetti tutto insieme

Ora è il momento di rimettere insieme tutto. Per prima cosa devi rigenerare il manifest:

chmod + w estratto-cd / casper / filesystem.manifest
sudo chroot edit dpkg-query -W --showformat = '$ {Package} $ {Version} n'> extract-cd / casper / filesystem.manifest
sudo cp estratto-cd / casper / filesystem.manifest estratto-cd / casper / filesystem.manifest-desktop
sudo sed -i '/ ubiquity / d' extract-cd / casper / filesystem.manifest-desktop
sudo sed -i '/ casper / d' extract-cd / casper / filesystem.manifest-desktop

Ora per comprimere il file system:

sudo rm extract-cd / casper / filesystem.squashfs
sudo mksquashfs modifica extract-cd / casper / filesystem.squashfs

Il comando precedente richiederà del tempo.

Ora apri il file ~ / LIVECD / extract-cd / README.diskdefines e apporta le modifiche necessarie.

Il passaggio successivo richiede di rimuovere le vecchie somme md5 e calcolare nuove somme. Fallo con i seguenti comandi:

cd estratto-cd
sudo rm md5sum.txt
trova -type f -print0 | xargs -0 md5sum | grep -v isolinux / boot.cat | sudo tee md5sum.txt

Ora è il momento di creare l'immagine ISO. Fallo con i seguenti comandi:

sudo mkisofs -D -r -V '$ IMAGE_NAME' -cache-inodes -J -l -b isolinux / isolinux.bin -c isolinux / boot.cat -no-emul-boot -boot-load-size 4 -boot- info-table -o ../ubuntu-9.04.1-desktop-i386-custom.iso.

Ora, nella directory ~ / LIVECD avrai la tua nuova ISO da masterizzare su disco e utilizzare.

Congratulazioni, hai appena creato il tuo Live CD di Ubuntu personalizzato!