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 modifiche
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 da Debian "main", 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 Installare 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 ibrida
4.3 Utilizzare un'immagine ISO live ibrida
4.3.1 Masterizzare un'immagine ISO su un supporto fisico
4.3.2 Copiare un'immagine ISO ibrida su una penna USB
4.3.3 Avviare il supporto live
4.4 Utilizzare una macchina virtuale per le prove
4.4.1 Provare un'immagine ISO con QEMU
4.4.2 Provare un'immagine ISO con virtualbox-ose
4.5 Creare un'immagine HDD
4.6 Utilizzare un'immagine HDD
4.6.1 Provare un'immagine HDD con Qemu
4.6.2 Usare lo spazio rimanente su una penna USB
4.7 Creare un'immagine netboot
4.7.1 Server DHCP
4.7.2 Server TFTP
4.7.3 Server NFS
4.7.4 Come provare una netboot
4.7.5 Qemu
4.7.6 VMWare Player

5. Panoramica degli strumenti

5.1 Il pacchetto 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 script automatici

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 Elenchi di pacchetti
8.2.2 Elenchi predefiniti di pacchetti
8.2.3 Elenchi locali dei pacchetti
8.2.4 Elenchi locali di pacchetti binari
8.2.5 Estendere un'elenco di pacchetti usando gli include
8.2.6 Usare condizioni all'interno degli elenchi di pacchetti
8.2.7 Task
8.2.8 Task per desktop e lingua
8.3 Installare pacchetti modificati o di terze parti
8.3.1 Utilizzare packages.chroot 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 The live-persistence.conf file
10.3.2 Using more than one persistence store

11. Personalizzare l'immagine binaria

11.1 Bootloader
11.2 Metadati ISO

12. Personalizzare l'Installatore Debian

12.1 Tipologie dell'Installatore Debian
12.2 Personalizzare il Debian Installer con la preconfigurazione
12.3 Personalizzare il contenuto dell'Installatore Debian

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 Ultimo rilascio minore di un rilascio di Debian.
15.3.2 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

Appendix

17. Style guide

17.1 Guidelines for authors
17.1.1 Linguistic features
17.1.2 Procedures
17.2 Guidelines for translators
17.2.1 Translation hints

Manuale di Debian Live

A proposito

1. A proposito di questo manuale

Questo manuale funge da unico punto d'accesso a tutta la documentazione relativa al progetto Debian Live e si applica in particolare al software prodotto per il rilascio di Debian 7.0 "wheezy". Si può trovare una versione aggiornata all'indirizzo ‹http://live.debian.net/

Sebbene sia principalmente focalizzato nell'aiutare a costruire un sistema live e non su argomenti per l'utente finale, è comunque possibile trovare alcune informazioni utili in queste sezioni: le Nozioni di base coprono la preparazione delle immagini da avviare da un supporto o dalla rete, mentre Personalizzare i comportamenti durante l'esecuzione descrive alcune opzioni specificabili al prompt d'avvio, come la scelta di un layout di tastiera e una lingua, e l'utilizzo della persistenza.

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 suggeriamo di leggerlo nel seguente ordine.

Per iniziare leggere questo capitolo, A proposito di questo manuale, da cima a fondo insieme alla sezione Glossario, quindi passare ai tre tutorial all'inizio della sezione Esempi progettati per insegnare 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 le 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 stimolato da ciò che si può fare con Debian Live e motivato a leggere il resto del manuale per intero.

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.
  • stable/testing/unstable: 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. In tutto il manuale tendiamo a usare i nomi in codice dei rilasci, ad esempio wheezy o sid, in quanto è quanto supportato dagli strumenti stessi.
  • 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

    È inoltre possibile compilare in base al tipo di documento, esempio:

    $ make build FORMATS=pdf

    O entrambi:

    $ make build LANGUAGES=it FORMATS=html

    1.4.1 Applicare le modifiche

    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/git@live.debian.net \
         -O ~/.ssh/identity.d/git@live.debian.net
    $ wget http://live.debian.net/other/keys/git@live.debian.net.pub \
         -O ~/.ssh/identity.d/git@live.debian.net.pub
    $ chmod 0600 ~/.ssh/identity.d/git@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 git
         IdentityFile ~/.ssh/identity.d/git@live.debian.net
    EOF

  • Scaricare tramite ssh un clone del manuale:
  • $ git clone git@live.debian.net:/live-manual.git
    $ cd live-manual && git checkout debian-next

  • Si noti che tutte le modifiche vanno eseguite sul ramo debian-next e non su quello debian.
  • Non usare make commit a meno che nel commit non si stiano aggiornando delle traduzioni, in tal caso non mescolare nello stesso le modifiche al manuale inglese e le traduzioni ma eseguire un commit per ognuna. Per maggiori dettagli vedere la sezione Traduzione.
  • Si scrivano messaggi costituiti da frasi in inglese esaurienti e 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

    To start a translation for a new language, follow these steps:

  • Translate the about_manual.ssi.pot, about_project.ssi.pot and index.html.in.pot files to your language with your favourite editor (such as poedit) . Send the translated .po files to the mailing list so that the translation team can check their integrity.
  • To enable a new language in the autobuild it is enough to add the initial translated files to manual/po/${LANGUAGE}/ and run make commit. And then edit manual/_sisu/home/index.html.
  • Once the new language is added, you can randomly continue translating the remaining po files in manual/po/.
  • Non dimenticare che è necessario usare make commit per assicurarsi che i manuali tradotti siano aggiornati partendo dai file po, quindi si possono verificare le modifiche con make build prima di git add ., git commit -a -m "Translating..." e git push.
  • Note: You can use make clean to clean your git tree before pushing. This step is not compulsory thanks to the .gitignore file but it is a good practice to avoid committing files involuntarily.