Manuale di Debian Live

A proposito

1. A proposito di questo manuale

1.1 Per gli impazienti
1.2 Glossario
1.3 Autori
1.4 Contribuire a questo documento
1.4.1 Applicare le patch
1.4.2 Traduzione

2. A proposito del progetto Debian Live

2.1 Motivazioni
2.1.1 Cosa c'è di sbagliato con gli attuali sistemi live
2.1.2 Perché creare il proprio sistema live?
2.2 Filosofia
2.2.1 Solamente pacchetti ufficiali inalterati
2.2.2 Nessun pacchetto di configurazione per il sistema live
2.3 Contatti

Utente

3. Installazione

3.1 Requisiti
3.2 Installare live-build
3.2.1 Dal repository Debian
3.2.2 Da sorgenti
3.2.3 Da 'istantanee'
3.3 live-boot e live-config
3.3.1 Dal repository Debian
3.3.2 Da sorgenti
3.3.3 Da 'istantanee'

4. Nozioni di base

4.1 Che cos'è un sistema live?
4.2 Primi passi: creare un'immagine ISO
4.2.1 Provare un'immagine ISO con Qemu
4.2.2 Provare un'immagine ISO con virtualbox-ose
4.2.3 Masterizzare un'immagine ISO su un supporto fisico
4.3 Creare un'immagine USB/HDD
4.3.1 Copiare un'immagine USB/HDD su una penna USB
4.3.2 Provare un'immagine USB/HDD con Qemu
4.3.3 Usare lo spazio rimanente su una penna USB
4.4 Creare un'immagine netboot
4.4.1 Server DHCP
4.4.2 Server TFTP
4.4.3 Server NFS
4.4.4 Come provare una netboot
4.4.5 Qemu
4.4.6 VMWare Player

5. Panoramica degli strumenti

5.1 live-build
5.1.1 Il comando lb config
5.1.2 Il comando lb build
5.1.3 Il comando lb clean
5.2 Il pacchetto live-boot
5.3 Il pacchetto live-config

6. Gestire una configurazione

6.1 Utilizzare auto per gestire i cambiamenti di configurazione
6.2 Esempi di auto script

7. Panoramica sulla personalizzazione

7.1 Configurazione in fase di compilazione e di avvio
7.2 Fasi della creazione
7.3 Integrare la configurazione di lb con dei file
7.4 Personalizzazione dei compiti

8. Personalizzare l'installazione dei pacchetti

8.1 Sorgenti dei pacchetti
8.1.1 Distribuzione, le aree di archivio e le modalità
8.1.2 Mirror delle distribuzioni
8.1.3 Mirror delle distribuzioni usati in fase di compilazione
8.1.4 Mirror delle distribuzioni usate durante l'esecuzione
8.1.5 Repository addizionali
8.2 Scegliere i pacchetti da installare
8.2.1 Scegliere pochi pacchetti
8.2.2 Elenchi di pacchetti
8.2.3 Elenchi predefiniti di pacchetti
8.2.4 Elenchi locali dei pacchetti
8.2.5 Elenchi locali di pacchetti binari
8.2.6 Estendere un'elenco di pacchetti usando gli include
8.2.7 Usare condizioni all'interno degli elenchi di pacchetti
8.2.8 Task
8.2.9 Task per desktop e lingua
8.3 Installare pacchetti modificati o di terze parti
8.3.1 Utilizzare chroot_local-packages per installare pacchetti personalizzati
8.3.2 Utilizzare un repository APT per installare pacchetti personalizzati
8.3.3 Pacchetti personalizzati e APT
8.4 Configurare APT in fase di costruzione
8.4.1 Scegliere apt o aptitude
8.4.2 Utilizzare un proxy con APT
8.4.3 Modificare APT per risparmiare spazio
8.4.4 Passare opzioni ad apt o aptitude
8.4.5 APT pinning

9. Personalizzazione dei contenuti

9.1 Include
9.1.1 Live/chroot include locali
9.1.2 Include locali binari
9.1.3 Include binari
9.2 Hook
9.2.1 Live/chroot hook locali
9.2.2 Hook in fase di avvio
9.2.3 Hook binari locali
9.3 Preconfigurare le domande di Debconf

10. Personalizzare i comportamenti durante l'esecuzione

10.1 Personalizzare l'utente live
10.2 Personalizzare la localizzazione e la lingua
10.3 Persistenza
10.3.1 Persistenza completa
10.3.2 Mount automatico della home
10.3.3 Istantanee
10.3.4 Sottotesto persistente
10.3.5 Rimasterizzazione parziale

11. Personalizzare l'immagine binaria

11.1 Bootloader
11.2 Metadati ISO

12. Personalizzare il Debian Installer

12.1 Tipologie del Debian Installer
12.2 Personalizzare il Debian Installer con la preconfigurazione
12.3 Personalizzare il contenuto del Debian Installer

Progetto

13. Segnalare bug

13.1 Problemi noti
13.2 Ricostruire da zero
13.3 Usare pacchetti aggiornati
13.4 Raccogliere informazioni
13.5 Se possibile isolare il caso non andato a buon fine
13.6 Segnalare il bug del pacchetto giusto
13.6.1 Durante la compilazione mentre esegue il bootstrap
13.6.2 Durante la compilazione mentre installa i pacchetti
13.6.3 In fase di avvio
13.6.4 In fase di esecuzione
13.7 Fare la ricerca
13.8 Dove segnalare i bug

14. Lo stile nello scrivere codice

14.1 Compatibilità
14.2 Rientri
14.3 Ritorno a capo
14.4 Variabili
14.5 Varie

15. Procedure

15.1 Aggiornamenti degli udeb
15.2 Rilasci importanti
15.3 Rilasci minori
15.3.1 Modello per l'annuncio di un rilascio minore.

Esempi

16. Esempi

16.1 Usare gli esempi
16.2 Tutorial 1: un'immagine standard
16.3 Tutorial 2: servizio browser web
16.4 Tutorial 3: un'immagine personalizzata
16.4.1 Prima revisione
16.4.2 Seconda revisione
16.5 Un client Kiosk VNC
16.6 Un'immagine base per una chiavetta USB da 128M
16.7 Un desktop KDE localizzato e l'installer

Manuale di Debian Live

A proposito

1. A proposito di questo manuale

L'obiettivo di questo manuale è quello di servire da punto di accesso centralizzato per tutta la documentazione relativa al progetto Debian Live; non include documentazione rivolta agli utenti finali sul come usare un sistema Debian Live, se non quella specifica per un sistema live.

Alcuni dei comandi menzionati nel testo devono essere eseguiti con i privilegi di super-utente che possono essere ottenuti diventando utente root tramite su oppure usando sudo. Per distinguere i comandi che possono essere eseguiti come utente normale da quelli che necessitano dei privilegi di super-utente, i comandi sono preceduti rispettivamente da $ o #. Questi simboli non fanno parte del comando.

1.1 Per gli impazienti

Sebbene crediamo che ogni cosa in questo manuale sia importante almeno per alcuni dei nostri utenti, ci rendiamo conto che c'è tanto materiale da trattare e che si potrebbe voler provare il software prima di entrare nei dettagli. Pertanto, abbiamo messo a disposizione nella sezione Esempi tre tutorial progettati per insegnarvi le basi della costruzione e della personalizzazione delle immagini. Si legga innanzitutto Usare gli esempi, seguito da Tutorial 1: un'immagine standard, Tutorial 2: un programma di utilità web browser e, infine, Tutorial 3: un'immagine personalizzata. Alla fine di queste esercitazioni, si avrà un assaggio di ciò che si può fare con Debian Live. Ti invitiamo ad uno studio più approfondito del manuale, magari leggendo in seguito Nozioni di base, sfogliando o saltando Creare un'immagine netboot, e finendo con la lettura di Panoramica sulla personalizzazione e dei capitoli che lo seguono. A questo punto, ci auguriamo che tu sia davvero eccitato da ciò che si può fare con Debian Live e motivato a leggere il resto del manuale, da cima a fondo.

1.2 Glossario

  • Live system: Un sistema operativo che può partire senza installazione su disco rigido. I sistemi live non alterano né il sistema operativo locale (o i sistemi operativi locali) né i file già installati sul disco rigido del computer a meno che lo si faccia volontariamente. I sistemi live vengono solitamente avviati da supporti quali CD, DVD o penne USB; alcuni possono anche avviarsi via rete.
  • Debian Live: Il sotto-progetto Debian che mantiene i pacchetti live-boot, live-build, live-config e live-manual.
  • Debian Live system: Un sistema live che usa software proveniente dal sistema operativo Debian e che può essere lanciato da CD, DVD, supporti USB, via rete (tramite immagini netboot) e via internet (tramite il parametro di boot fetch=URL).
  • Host system: L'ambiente utilizzato per creare il sistema live.
  • Target system: L'ambiente usato per eseguire il sistema live.
  • live-boot: Una raccolta di script usati per avviare sistemi live. live-boot era una parte di live-initramfs.
  • live-build: Una raccolta di script usati per creare sistemi Debian Live personalizzati. live-build era conosciuto come live-helper, ed ancora prima come live-package.
  • live-config: Una raccolta di script usati per configurare un sistema live durante il processo di inizializzazione. live-config era una parte di live-initramfs.
  • live-manual: Questo documento è inserito nel pacchetto chiamato live-manual.
  • Debian Installer (d-i): Il sistema d'installazione ufficiale per la distribuzione Debian.
  • Boot parameters: Parametri che possono essere immessi nel prompt del boot loader per modificare il comportamento del kernel o di live-config.
  • chroot: Il programma chroot, chroot(8), rende possibile eseguire diverse istanze dell'ambiente GNU/Linux su un singolo sistema simultaneamente senza riavviare.
  • Binary image: Un file che contiene il sistema live, come binary.iso o binary.img.
  • Target distribution: La distribuzione su cui sarà basato il sistema live. Può differire dalla distribuzione presente sul proprio computer.
  • Squeeze/Wheezy/Sid (stable/testing/unstable): Nomi in codice per i rilasci Debian; al momento Squeeze è l'attuale stable e Wheezy l'attuale testing. Sid sarà sempre il sinonimo della unstable. In tutto il manuale si tende ad usare i nomi in codice dei rilasci, in quanto questo è ciò che è previsto dagli strumenti stessi.
  • La distribuzione stable contiene l'ultima distribuzione ufficialmente rilasciata da Debian; la testing è il punto di raccolta per i pacchetti della prossima stable. Uno dei principali vantaggi nell'uso di questa distribuzione sta nell'avere software più recente rispetto alla stable. La distribuzione unstable è dove avviene lo sviluppo attivo di Debian; viene generalmente usata dagli sviluppatori o da coloro che amano l'azzardo.

    1.3 Autori

    Lista degli autori (in ordine alfabetico):

  • Ben Armstrong
  • Brendan Sleight
  • Chris Lamb
  • Daniel Baumann
  • Franklin Piat
  • Jonas Stein
  • Kai Hendry
  • Marco Amadori
  • Mathieu Geli
  • Matthias Kirschner
  • Richard Nelson
  • Trent W. Buck
  • 1.4 Contribuire a questo documento

    Questo manuale è pensato come un progetto comunitario e ogni suggerimento e contributo è benvenuto. Il modo migliore per apportare un contributo è di inviarlo alla mailing list. Per maggiori informazioni si veda la sezione Contatti.

    Quando si sottopone un contributo, si prega di indicare chiaramente il detentore del copyright e di includere la licenza. Si noti che, per essere accettato, il contributo deve essere distribuito con la stessa licenza del resto del documento, ovvero la GPL versione 3 o successiva.

    I sorgenti di questo manuale sono mantenuti utilizzando il sistema di controllo Git. Si può visionare la copia più recente eseguendo:

      $ git clone git://live.debian.net/git/live-manual.git

    Prima di sottoporre un contributo, si prega di visionare l'anteprima del proprio lavoro. Per ottenere l'anteprima di live-manual, assicurarsi di avere installati i pacchetti necessari per la sua compilazione eseguendo:

       # apt-get install make po4a sisu-complete libnokogiri-ruby

    Si può compilare il live-manual dalla directory superiore del checkout di Git eseguendo:

       $ make build

    Dato che occorre del tempo per compilare il manuale in tutte le lingue supportate, può risultare conveniente farlo per una sola lingua, ad esempio eseguendo:

       $ make build LANGUAGES=en

    1.4.1 Applicare le patch

    Chiunque può eseguire il commit direttamente sul repository; tuttavia chiediamo di inviare le modifiche più corpose in mailing list, per poterne prima discuterne. Per eseguire il push sul repository, si deve seguire questa procedura:

  • Prelevare la chiave pubblica:
  •    $ mkdir -p ~/.ssh/identity.d
       $ wget http://live.debian.net/other/keys/gitosis@live.debian.net \
           -O ~/.ssh/identity.d/gitosis@live.debian.net
       $ wget http://live.debian.net/other/keys/gitosis@live.debian.net.pub \
           -O ~/.ssh/identity.d/gitosis@live.debian.net.pub
       $ chmod 0600 ~/.ssh/identity.d/gitosis@live.debian.net*

  • Aggiungere la seguente sezione alla propria configurazione di openssh-client:
  •    $ cat >> ~/.ssh/config << EOF
       Host live.debian.net
           Hostname live.debian.net
           User gitosis
           IdentityFile ~/.ssh/identity.d/gitosis@live.debian.net
       EOF

  • Scaricare tramite ssh un clone del manuale:
  •    $ git clone gitosis@live.debian.net:/live-manual.git

  • Dopo aver modificato i file in manual/en/, chiamare il target 'commit' nella directory superiore per bonificare i file ed aggiornare i file di traduzione:
  •    $ make commit

  • Dopo la pulizia è possibile eseguire il commit delle modifiche. Si scrivano messaggi costituiti da frasi in inglese esaurienti ed utili, inizianti con una lettera maiuscola e terminanti con un punto. Solitamente cominceranno con la forma 'Fixing/Adding/Removing/Correcting/Translating', ad esempio.
  •    $ git commit -a -m "Adding a section on applying patches."

  • Inviare il commit al server:
  •    $ git push

    1.4.2 Traduzione

    Per inviare una traduzione per una nuova lingua, seguire questi tre passi:

  • Tradurre i file about_manual.ssi.pot, about_project.ssi.pot e index.html.in.pot nella propria lingua con il proprio editor preferito (tipo poedit). Inviare i file tradotti alla mailing list. Una volta che abbiamo ricevuto il contributo, aggiungeremo la nuova lingua al manuale (fornendo i file po) e la attiveremo per la procedura di compilazione automatica.
  • Una volta che la nuova lingua è stata aggiunta, si può iniziare a tradurre tutti i file po situati in manual/po/, nell'ordine che si preferisce.
  • Non si dimentichi che è necessario dare un make commit per assicurarsi che i manuali tradotti siano aggiornati partendo dai file po, prima di git commit -a e git push.