Manual Debian Live

Sobre aquest manual

1. Sobre aquest manual

1.1 Per als impacients
1.2 Termes
1.3 Autors
1.4 Contribuir a aquest document
1.4.1 Aplicar canvis
1.4.2 Traducció

2. Sobre el Projecte Debian Live

2.1 Motivació
2.1.1 Què passa amb els sistemes vius actuals
2.1.2 Per què crear el nostre pròpi sistema viu?
2.2 Filosofia
2.2.1 Només paquets Debian sense modificacions de la secció "main"
2.2.2 Paquets del sistema viu sense cap configuració
2.3 Contacte

Usuari

3. Instaŀlació

3.1 Requisits
3.2 Instaŀlació de live-build
3.2.1 Des del repositori de Debian
3.2.2 A partir del codi font
3.2.3 A partir d'instantànies
3.3 Instal.lació de live-boot i live-config
3.3.1 Des del repositori de Debian
3.3.2 A partir del codi font
3.3.3 A partir d'instantànies

4. Conceptes bàsics

4.1 Què és un sistema viu?
4.2 Descàrrega d'imatges prefabricades
4.3 Ús del servei de construcció d'imatges en viu web
4.3.1 Ús i advertències sobre el servei web
4.4 Primers passos: construcció d'una imatge ISO híbrida
4.5 Usar una imatge ISO híbrida en viu
4.5.1 Gravar una imatge ISO en un medi físic
4.5.2 Còpiar una imatge ISO híbrida en un dispositiu USB
4.5.3 Utilitzar l'espai lliure en una memòria USB
4.5.4 Arrencar el medi en viu
4.6 Utilitzar una màquina virtual per fer proves
4.6.1 Provar una imatge ISO amb QEMU
4.6.2 Provar una imatge ISO amb virtualbox
4.7 Construir i utilitzar una imatge HDD
4.8 Construir una imatge netboot
4.8.1 Servidor DHCP
4.8.2 Servidor TFTP
4.8.3 Servidor NFS
4.8.4 Com provar l'arrencada en xarxa
4.8.5 Qemu

5. Descripció general de les eines

5.1 El paquet live-build
5.1.1 L'ordre lb config
5.1.2 L'ordre lb build
5.1.3 L'ordre lb clean
5.2 El paquet live-boot
5.3 El paquet live-config

6. Gestió d'una configuració

6.1 Gestionar canvis en la configuració
6.1.1 Per què utilitzar scripts auto? Què fan?
6.1.2 Utilitzar scripts auto d'exemple
6.2 Clonar una configuració publicada via Git

7. Visió general de la personalització

7.1 Configuració durant la construcció vs. durant l'arrencada
7.2 Etapes de la construcció
7.3 Suplementar lb config amb fitxers
7.4 Tasques de personalització

8. Personalització de la instaŀlació de paquets

8.1 Fonts dels paquets
8.1.1 Distribució, àrees d'arxiu i mode
8.1.2 Miralls de distribució
8.1.3 Miralls de distribució utilitzats en temps de construcció
8.1.4 Miralls de distribució utilitzats en temps d'execució
8.1.5 Repositoris addicionals
8.2 Selecció dels paquets a instaŀlar
8.2.1 Llistes de paquets
8.2.2 Ús dels metapaquets
8.2.3 Llistes locals de paquets
8.2.4 Llistes locals de paquets per l'etapa binary
8.2.5 Generar llistes de paquets
8.2.6 Ús de condicionals dins de les llistes de paquets
8.2.7 Tasques d'escriptori i llenguatge
8.2.8 Tipus i versió del nucli
8.2.9 Nuclis personalitzats
8.3 Instaŀlació de paquets modificats o de tercers
8.3.1 Fer servir packages.chroot per instaŀar paquets personalitzats
8.3.2 Fer servir un repositori APT per instaŀlar paquets personalitzats
8.3.3 Paquets personalitzats i APT
8.4 Configurar APT en temps de construcció
8.4.1 Elegir apt o aptitude
8.4.2 L'ús d'un proxy amb APT
8.4.3 Afinar APT per estalviar espai
8.4.4 Passar opcions per a apt o aptitude
8.4.5 APT pinning

9. Personalització dels continguts

9.1 Includes
9.1.1 Live/chroot local includes
9.1.2 Binary local includes
9.2 Scripts ganxo (Hooks)
9.2.1 Live/chroot local hooks
9.2.2 Scripts ganxo durant l'arrencada
9.2.3 Binary local hooks
9.3 Preconfiguració de les preguntes de Debconf

10. Personalització dels comportaments en temps d'execució

10.1 Personalitzar l'usuari en viu
10.2 Personalització de l'entorn local i el llenguatge
10.3 Persistència
10.3.1 El fitxer persistence.conf
10.3.2 Utilitzar diversos medis persistents

11. Personalització de la imatge binària

11.1 Carregador d'arrencada
11.2 metadades ISO

12. Personalització de l'instaŀlador de debian

12.1 Tipus d'instaŀlador de Debian
12.2 Personalització de l'instaŀlador de Debian amb preconfiguració
12.3 Personalitzar el contingut de l'instaŀlador de Debian

Projecte

13. Contribuir al projecte

13.1 Fer canvis

14. Informar dels errors

14.1 Problemes coneguts
14.2 Reconstruir des de zero
14.3 Fer servir paquets actualitzats
14.4 Recopilar informació
14.5 Aïllar el cas que falla, si és possible
14.6 Utilitzar el paquet correcte per informar de l'error
14.6.1 A l'hora de construir mentre bootstrapping
14.6.2 A l'hora de construir, durant la instaŀlació de paquets
14.6.3 En el moment d'arrencar
14.6.4 En temps d'execució
14.7 Fer la recerca
14.8 On informar dels errors

15. Estil de Codi

15.1 Compatibilitat
15.2 Indentació
15.3 Ajust de línia
15.4 Variables
15.5 Misceŀlània

16. Procediments

16.1 Publicacions majors
16.2 Publicacions puntuals
16.2.1 Ùltima publicació puntual d'una versió de Debian
16.2.2 Plantilla per anunciar una publicació puntual

17. Repositoris Git

17.1 Gestió de múltiples repositoris

Exemples

18. Exemples

18.1 Ús dels exemples
18.2 Tutorial 1: Una imatge per defecte
18.3 Tutorial 2: Una utilitat de navegador web
18.4 Tutorial 3: Una imatge personalitzada
18.4.1 Primera revisió
18.4.2 Segona revisió
18.5 Un client per a un quiosc VNC
18.6 Una imatge bàsica per a un dispositiu USB de 128MB
18.7 Un escriptori GNOME localitzat i amb instaŀlador

Apèndix

18.8 Guidelines for authors
18.8.1 Linguistic features
18.8.2 Procedures
18.9 Guidelines for translators
18.9.1 Translation hints

Manual Debian Live

Projecte

15. Estil de Codi

En aquest capítol es documenta l'estil de codi utilitzat a Debian Live.

15.1 Compatibilitat

  • No utilitzar una sintaxi o semàntica que sigui exclusiva de l'intèrpret d'ordres Bash. Per exemple, l'ús dels arrays.
  • Utilitzar només el subconjunt POSIX - per exemple, utilitzar $(foo) en lloc de `foo`.
  • Es pot comprovar els scripts amb 'sh -n' i 'checkbashisms'.
  • Assegurar-se que tot el codi funciona amb 'set -e'.
  • 15.2 Indentació

  • Utilitzar sempre tabuladors en lloc d'espais.
  • 15.3 Ajust de línia

  • En general, les línies són de 80 caràcters com a màxim.
  • Utilitzar "l'estil Linux" de salts de línia:
  • Mal:

    if foo; then
             bar
    fi

    Bé:

    if foo
    then
             bar
    fi

  • El mateix val per a les funcions:
  • Mal:

    Foo () {
             bar
    }

    Bé:

    Foo ()
    {
             bar
    }

    15.4 Variables

  • Les variables van sempre en majúscules.
  • Les variables que s'utilitzen a live-build sempre comencen amb el prefix LB_
  • Les variables temporals internes de live-build comencen amb el prefix _LB_
  • Les variables locals comencen amb el prefix live-build __LB_
  • Les variables en relació a un paràmetre d'arrencada de live-config comencen amb LIVE_.
  • Totes les altres variables de live-config comencen amb el prefix _
  • Utilitzar claus al voltant de les variables, per exemple, escriure ${FOO} en lloc de $FOO.
  • Protegir sempre les variables amb cometes per respectar els espais en blanc potencials: escriure "${FOO}" no ${FOO}.
  • Per raons de coherència, utilitzar sempre cometes al assignar valors a les variables:
  • Mal:

    FOO=bar

    Bé:

    FOO="bar"

  • Si s'utilitzen múltiples variables, posar cometes a l'expressió completa:
  • Mal:

    if [ -f "${FOO}"/foo/"${BAR}"/bar ]
    then
             foobar
    fi

    Bé:

    if [ -f "${FOO}/foo/${BAR}/bar" ]
    then
             foobar
    fi

    15.5 Misceŀlània

  • Utilitzar "|" (sense les cometes) com separador en l'ús de sed, per exemple, "sed -e 's|foo|bar|'" (sense "").
  • No utilitzar l'ordre test per fer comparacions o tests, utilitzar "[" "]" (sense ""); per exemple, "if [ -x /bin/foo ]; ..." i no "if test -x /bin/foo; ...".
  • Utilitzar case sempre que sigui possible en lloc de test, ja que és més fàcil de llegir i més ràpid en l'execució.
  • Fer servir noms en majúscula per les funcions per evitar conflictes amb l'entorn dels usuaris.