Tutte le configurazioni durante l'esecuzione sono eseguite da live-config. Vengono qui presentate alcune delle opzioni di live-config più comuni alle quali gli utenti sono interessati; una lista completa può essere trovata nel suo manuale.
Un'importante considerazione è che l'utente live viene creato all'avvio da live-boot e non da live-build durante la compilazione. Questo non solo influenza dove viene introdotto il materiale relativo all'utente nella creazione, come discusso in Live/chroot include locali, ma anche ogni gruppo e permesso associato all'utente live.
È possibile specificare gruppi aggiuntivi ai quali l'utente live apparterrà preconfigurando il valore passwd/user-default-groups di debconf. Ad esempio, per aggiungere l'utente al gruppo fuse, inserire la seguente preconfigurazione in config/preseed/ per la fase chroot:
$ lb config
$ echo user-setup passwd/user-default-groups string audio cdrom \
dip floppy video plugdev netdev powerdev scanner bluetooth fuse \
>> config/preseed/my.preseed.chroot
È inoltre possibile modificare facilmente il nome utente "user" e la password "live" predefiniti.
Per cambiare il nome utente specificare quanto segue nella configurazione:
$ lb config --bootappend-live "username=live-user"
Un modo per cambiare la password è tramite un hook come descritto in Hook in fase di avvio. Si può usare l'hook "passwd" da /usr/share/doc/live-config/examples/hooks, anteponendolo di conseguenza (ad esempio, 200-passwd) e aggiungerlo al file config/includes.chroot/lib/live/config/
Quando il sistema live si avvia, la lingua è inserita in tre fasi:
impostazione del layout di tastiera per X
Quando si crea un sistema live la localizzazione predefinita è "locales=en_US.UTF-8". Per definire quale generare, si usi il parametro locales nell'opzione --bootappend-live di lb config:
$ lb config --bootappend-live "locales=de_CH.UTF-8"
Questo parametro può inoltre essere usato dalla riga di comando del kernel, specificando una localizzazione nella forma lingua_nazione.codifica.
Sia la configurazione della tastiera in console sia di X dipendono dal parametro keyboard-layouts dell'opzione --bootappend-live. Si possono trovare le opzioni valide per i layout di X in /usr/share/X11/xkb/rules/base.xml (piuttosto che limitate alle due lettere del codice della nazione); per trovare il valore (i due caratteri) corrispondenti alla lingua, si cerchi con il nome inglese della nazione in cui si parla tale lingua:
$ grep -i sweden -C3 /usr/share/X11/xkb/rules/base.xml | grep name
<name>se</name>
Per ottenere i file di localizzazione per il layout di tastiera tedesco e svizzero-tedesco in X:
$ lb config --bootappend-live "locales=de_CH.UTF-8 keyboard-layouts=ch"
Si può ottenere un elenco di valori validi della tastiera per la console con il seguente comando:
$ for i in $(find /usr/share/keymaps/ -iname "*kmap.gz"); \
do basename $i | head -c -9; echo; done | sort | less
In alternativa è possibile utilizzare il pacchetto console-setup, uno strumento per configurare il layout della console tramite le definizioni di X (XKB); si può dunque impostare il layout in modo più preciso con le variabili keyboard-layouts, keyboard-variant, keyboard-options e keyboard-model; live-boot userà questi parametri anche per X. Ad esempio, per impostare un layout French-Dvorak (chiamato Bepo) su un sistema francese con una tastiera TypeMatrix, sia in console sia in X11:
$ lb config --bootappend-live \
"locales=fr_FR.UTF-8 keyboard-layouts=fr keyboard-variant=bepo keyboard-model=tm2030usb"
Uno dei paradigmi di un cd live è un sistema preinstallato eseguito da un supporto in sola lettura, come un cdrom, dove le modifiche non sopravvivono ai riavvii dell'hardware della macchina ospitante.
Un sistema Debian Live è una generalizzazione di questo paradigma e di conseguenza oltre ai CD gestisce altri supporti; ma comunque, nel suo comportamento predefinito, deve essere considerato in sola lettura e tutte i cambiamenti fatti durante l'esecuzione del sistema verranno persi allo spegnimento.
Persistenza è il nome comune per differenti tipi di soluzioni per salvare alcune o tutte queste modifiche con i riavii. Per capire come funziona potrebbe essere utile sapere che sebbene il sistema venga avviato ed eseguito da un dispositivo in sola lettura, le modifiche a file e directory vengono scritte su uno scrivibile, tipicamente un ram disk (tmpfs) e i dati sui ram disk non sopravvivono ai riavvii.
I dati immagazzinati su questo ramdisk andrebbero salvati un supporto scrivibile persistente come un supporto di memorizzazione locale, una condivisione di rete o anche una sessione di un CD/DVD riscrivibile multisessione. Tutti questi supporti sono gestiti in Debian Live in modi differenti, e tutti tranne l'ultimo richiedono un parametro d'avvio speciale da specificare all'avvio: persistence.
Se il parametro di boot persistence è impostato (e non lo è nopersistence), i supporti di memorizzazione locali (hard disk, dispositivi USB) saranno rilevati come volumi persistenti durante l'avvio. È possibile selezionare quali tipi utilizzare specificando certi parametri di avvio descritti nella manpage di live-boot(7). Un volume persistente è uno dei seguenti:
The volume label for overlays must be persistence. And in order to fully customize the volume's persistence there must be a file named live-persistence.conf. See The live-persistence.conf file
Here are some examples of how to prepare a volume to be used for persistence. It can be, for instance, an ext4 partition on a hard disk or on a usb key created with, e.g.:
# mkfs.ext4 -L persistence /dev/sdb1
Vedere anche Usare lo spazio rimanente su una penna USB.
Se si possiede già una partizione sul dispositivo basta solo cambiare l'etichetta con una delle seguenti:
$ tune2fs -L persistence /dev/sdb1 # per filesystem ext2,3,4
Ecco un esempio di come creare un file immagine ext4 da utilizzare per la persistenza:
$ dd if=/dev/null of=persistence bs=1G seek=1 # per un file immagine da 1GB
$ /sbin/mkfs.ext4 -F persistence
Quindi copiare il file persistence nella directory radice di una partizione scrivibile e riavviare.
Un volume con una label persistence può essere configurato per creare directory persistenti arbitrarie. Il file live-persistence.conf, situato nella directory radice del filesystem del volume, controlla quali rendere persistenti e in che modo.
Nella manpage di live-persistence.conf(5) è descritto dettagliatamente come è configurato il mount degli strati personalizzati, ma un semplice esempio dovrebbe essere sufficiente per la maggior parte degli usi. Supponendo di voler creare la directory home e quella della cache di APT in modo persistente in un filesystem ext4 sulla partizione /dev/sdb1:
$ mkfs.ext4 -L persistence /dev/sdb1
$ mount -t ext4 /dev/sdb1 /mnt
$ echo "/home" >> /mnt/live-persistence.conf
$ echo "/var/cache/apt" >> /mnt/live-persistence.conf
Quindi riavviare. Durante il primo avvio il contenuto di /home e /var/cache/apt saranno copiati nel volume persistente e da allora tutte le modifiche a queste directory risiederanno in modo persistente sul volume. C'è da considerare che tutti i path elencati nel file live-persistence.conf non possono contenere spazi o i caratteri speciali . e ..; inoltre, né /live (o nessuna delle sue sottodirectory) né / può essere resa persistente tramite i mount personalizzati.
Possono essere utilizzati svariati volumi di stratificazione personalizzati (con i rispettivi file live-persistence.conf) allo stesso tempo ma se questi creano la stessa directory persistente, ne verrà usata solo una. Se due directory montate sono "nidificate" (una è la sottodirectory dell'altra), la superiore sarà montata per prima, per cui nessuna operazione di mount verrà sovrastata dall'altra. I mount nidificati personalizzati sono problematici se sono elencati nello stesso file #{live-persistence.conf}. Se si ha davvero la necessità (in genere non si dovrebbe averla), consultare la manpage di live-persistence.conf(5) per sapere come gestire questo caso.
Se un utente avesse bisogno di archiviazioni multiple dello stesso tipo per differenti posti o per test, come persistence-casa e persistence-lavoro, il parametro d'avvio persistence-subtext usato in congiunzione con persistent permetterà supporti persistenti multipli ma univoci. Un esempio potrebbe essere un utente che vuole usare una partizione etichettata come persistence-sottotesto, userebbe: persistence persistence-subtext=sottotesto.