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 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 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 Strati di persistenza completa
10.3.2 Strati personalizzati
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 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 Last Point Release of a Debian Release
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

This manual serves as a single access point to all documentation related to the Debian Live project and in particular applies to the software produced by the project for the Debian 7.0 "wheezy" release. An up-to-date version can always be found at ‹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

While we believe that everything in this manual is important to at least some of our users, we realize it is a lot of material to cover and that you may wish to experience early success using the software before delving into the details. Therefore, we suggest reading in the following order.

First, read this chapter, About this manual, from the beginning and ending with the Terms section. Next, skip to the three tutorials at the front of the Examples section designed to teach you image building and customization basics. Read Using the examples first, followed by Tutorial 1: A standard image, Tutorial 2: A web browser utility and finally Tutorial 3: A personalized image. By the end of these tutorials, you will have a taste of what can be done with Debian Live.

We encourage you to return to more in-depth study of the manual, perhaps next reading The basics, skimming or skipping Building a netboot image, and finishing by reading the Customization overview and the chapters that follow it. By this point, we hope you are thoroughly excited by what can be done with Debian Live and motivated to read the rest of the manual, cover-to-cover.

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: The stable distribution contains the latest officially released distribution of Debian. The testing distribution is the staging area for the next stable release. A major advantage of using this distribution is that it has more recent versions of software relative to the stable release. The unstable distribution is where active development of Debian occurs. Generally, this distribution is run by developers and those who like to live on the edge. Throughout the manual, we tend to use codenames for the releases, such as wheezy or sid, as that is what is supported by the tools themselves.
  • 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 FORMATS=html LANGUAGES=it

    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.
  • Do not use make commit unless you are updating translations in this commit, and in that case, do not mix changes to the English manual and translations in the same commit, but use separate commits for each. See the Translation section for more details.
  • Write commit messages that consist of complete, meaningful sentences in English, starting with a capital letter and ending with a full stop. Usually, these will start with the form 'Fixing/Adding/Removing/Correcting/Translating', e.g.
  • $ 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 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.
  • Nota: anche se make commit e make build rimuovono entrambi la directory di compilazione, se si compila il manuale per rivedere le modifiche come consigliato, si consiglia di pulire l'albero git prima del push; per fare ciò si puà usare il comando make clean. Grazie al file .gitignore, quest'ultimo passaggio non è obbligatorio ma è una buona abitudine che evita di fare involontariamente il commit di certi file.