Piccolo tutorial che spiega come utilizzare simple-ccd, un tool che consente la creazione di un DVD/CD di installazione personalizzato.
Ultimamente ho dovuto creare un CD di installazione automatico da poter distribuire agli utenti e contentente dei programmi proprietari con licenza shareware.
Ho quindi scelto Debian come distribuzione, sopratutto perché ha a disposizione un tool molto potente e personalizzabile: simple-cdd.
Simple-cdd è un set di script che permette la creazione di CD/DVD di installazione personalizzati ed automatici. Vediamo un po’ come funziona.
Per prima cosa installiamo il programma:
apt-get install build-simple-cdd
dopodiché creiamo una nuova directory nella nostra home:
mkdir $HOME/ccd
ci entriamo:
cd $HOME/ccd
e lanciamo subito il nostro nuovo tool:
build-simple-ccd
lanciato così senza paramentri, lo script creerà un installer di base, che installerà un sistema operativo privo di qualsivoglia pacchetto. Durante l’esecuzione, build-simple-cdd creerà un mirror parziale nella directory tmp/ e, se tutto è andato bene, troverete la nuova immagine nella directory images/
Le opzioni principali di Simple-cdd
Proviamo ora ad utilizzare qualche opzione:
in caso vogliate utilizzare un mirror specifico per il download dei pacchetti, potete speficarlo con l’opzione –debian-mirror:
build-simple-cdd --debian-mirror http://debian.fastweb.it/debian
di default, lo script creerà un installer della stessa release della macchina host, in caso vogliate utilizzare un’altra release (ad esempio Lenny) potete utilizzare l’opzione –dist:
build-simple-cdd --debian-mirror http://debian.fastweb.it/debian --dist lenny
Utilizzare i profili con Simple-cdd
Il grande pregio di simple-cdd è la possibilità di creare delle installazioni altamente personalizzabili grazie all’utilizzo di profili caricabili in fase di setup. Vediamo un po’ come funzionano:
creiamo una directory chiamata “profiles” e ci entriamo:
mkdir ./profiles cd ./profiles
creiamo poi un file chiamato default.packages e lo editiamo inserendoci tutti i pacchetti che vogliamo installare automaticamente:
vi default.packages
# inserisco i pacchetti che mi servono, ma non le dipendenze! openssh less openssl apache2 mysql-server freeradius
ricreiamo poi l’immagine con il profilo selezionato:
build-simple-cdd --profiles default --debian-mirror http://debian.fastweb.it/debian --dist lenny
Questo comando ricostruirà la vostra immagine includendo il profilo che avete appena creato.
in caso vogliate provare l’immagine con qemu, c’è l’opzione –qemu apposita per costruire un immagine già pronta per l’emulatore:
build-simple-cdd --profiles default --debian-mirror http://debian.fastweb.it/debian --dist lenny --qemu
L’utilizzo di Preseed
Con simple-cdd è possibile utilizzare i file di preseed.
I file di preseed sono dei file di testo contenenti le risposte alle domande che vengono poste in fase di installazione. Grazie a questi sarà possibile non inserire i dati manualmente mentre l’installazione è in esecuzione.
Vediamo un po’ come implementarle nella nostra immagine personalizzata:
creiamo un file chiamato “default.preseed” e lo editiamo:
vim default.preseed
dentro ci inseriremo alcune info utili alla nostra installazione:
# informazioni sulla rete # la rete viene configurata secondo i parametri qui esposti e viene disabilitato il DHCP d-i netcfg/disable_dhcp boolean true d-i netcfg/get_nameservers string 10.0.69.254 d-i netcfg/get_ipaddress string 10.0.69.234 d-i netcfg/get_netmask string 255.255.255.0 d-i netcfg/get_gateway string 10.0.69.254 d-i netcfg/confirm_static boolean true d-i netcfg/get_hostname string astTron d-i netcfg/get_domain string localdomain d-i netcfg/wireless_wep string # timezone, package mirror e locale d-i mirror/country string manual d-i mirror/http/hostname string http.debian.fastweb.it d-i mirror/http/directory string /debian d-i mirror/http/proxy string d-i clock-setup/utc boolean true d-i time/zone string Europe/Rome tzsetup-udeb time/zone select Europe/Rome d-i clock-setup/ntp boolean true d-i clock-setup/ntp-server string time.ien.it # informazioni sulla partizione d-i partman-auto/method string regular d-i partman-auto/choose_recipe select atomic d-i partman/confirm_write_new_label boolean true d-i partman/choose_partition select finish d-i partman/confirm boolean true # password di root d-i passwd/root-password password test d-i passwd/root-password-again password test user-setup-udeb passwd/root-password password test user-setup-udeb passwd/root-password-again password test # configurazione di un nuovo utente d-i passwd/user-fullname string Utente di Amministrazione d-i passwd/username string adminuser d-i passwd/user-password password test d-i passwd/user-password-again password test user-setup-udeb passwd/user-fullname string Utente di Amministrazione user-setup-udeb passwd/username string adminuser user-setup-udeb passwd/user-password password test user-setup-udeb passwd/user-password-again password test # configurazione di apt d-i apt-setup/non-free boolean true d-i apt-setup/contrib boolean true d-i apt-setup/services-select multiselect security, volatile d-i apt-setup/security_host string security.debian.org d-i apt-setup/volatile_host string volatile.debian.org # configurazione mysql mysql-server-5.0 mysql-server/root_password string mysql-server-5.0 mysql-server/root_password seen true mysql-server-5.0 mysql-server/root_password_again string mysql-server-5.0 mysql-server/root_password_again seen true mysql-server-5.0 mysql-server/root_password password test mysql-server-5.0 mysql-server/root_password_again password test # popularity contest popularity-contest popularity-contest/participate boolean false # installazione del boot loader d-i grub-installer/only_debian boolean true d-i finish-install/reboot_in_progress note
ricostruiamo infine l’immagine con:
build-simple-cdd --profiles default --debian-mirror http://debian.fastweb.it/debian --dist lenny
In questa maniera, gran parte delle informazioni richieste in fase di installazione saranno già incluse nella vostra ISO.
In caso abbiate dei pacchetti costruiti da voi e vogliate includerli nella vostra ISO, dovete creare la directory package in $HOME/cdd
mkdir $HOME/cdd/packages
dove dentro metterete i vostri pacchetti. Aggiungerete poi i il nome dei pacchetti anche nel file default.packages. Infine ricostruirete la vistra ISO con l’opzione –local-packages $HOME/cdd/packages:
build-simple-cdd –profiles default –debian-mirror http://debian.fastweb.it/debian –dist lenny –local-packages $HOME/cdd/packages
Un po’ di info
Potete trovare molte altre informazioni sull’utilizzo di simple-cdd nel sito debian:
http://wiki.debian.org/Simple-CDD/Howto
http://wiki.debian.org/DebianInstaller/Preseed
e nelle directory
/usr/share/doc/simple-cdd/
/usr/share/simple-cdd/