Manual Debian Live

Sobre aquest manual

1. Sobre aquest manual

1.1 Per als impacients
1.2 Termes
1.3 Autors
1.4 Contribuir en 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 Requeriments
3.2 Instaŀlació de live-build
3.2.1 Des del repositori de Debian
3.2.2 À 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 À 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 Primers passos: construcció d'una imatge ISO híbrida
4.3 Usar una imatge ISO híbrida en viu
4.3.1 Gravar una imatge ISO en un medi físic
4.3.2 Còpiar una imatge ISO híbrida en un dispositiu USB
4.3.3 Arrencar els medis en viu
4.4 Utilitzar una màquina virtual per fer proves
4.4.1 Provar una imatge ISO amb QEMU
4.4.2 Provar una imatge ISO amb virtualbox-ose
4.5 Construir una imatge HDD
4.6 Utilitzar una imatge HDD
4.6.1 Provar una imatge HDD amb Qemu
4.6.2 Utilitzar l'espai lliure en una memòria USB
4.7 Construir una imatge netboot
4.7.1 Servidor DHCP
4.7.2 Servidor TFTP
4.7.3 Servidor NFS
4.7.4 Com provar l'arrencada en xarxa
4.7.5 Qemu
4.7.6 VMWare Player

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 a la configuració
6.1.1 Per què utilitzar scripts auto? Què fan?
6.2 Utilitzar scripts auto d'exemple
6.3 Clonar una configuració publicada via Git

7. Personalització dels continguts

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ó, zones 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 Using metapackages
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.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 Seleccionar apt o aptitude
8.4.2 L'ús d'un proxy amb APT
8.4.3 Tweaking APT to save space
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 live-persistence.conf
10.3.2 Utilitzar més d'un magatzem de persistència

11. Customizing the binary image

11.1 Bootloader
11.2 ISO metadata

12. Customizing Debian Installer

12.1 Types of Debian Installer
12.2 Customizing Debian Installer by preseeding
12.3 Customizing Debian Installer content

Projecte

13. Reporting bugs

13.1 Known issues
13.2 Rebuild from scratch
13.3 Use up-to-date packages
13.4 Collect information
13.5 Isolate the failing case if possible
13.6 Use the correct package to report the bug against
13.6.1 At build time whilst bootstrapping
13.6.2 At build time whilst installing packages
13.6.3 At boot time
13.6.4 At run time
13.7 Do the research
13.8 Where to report bugs

14. Coding Style

14.1 Compatibility
14.2 Indenting
14.3 Wrapping
14.4 Variables
14.5 Miscellaneous

15. Procedures

15.1 Udeb Uploads
15.2 Major Releases
15.3 Point Releases
15.3.1 Last Point Release of a Debian Release
15.3.2 Point release announcement template

Exemples

16. Examples

16.1 Using the examples
16.2 Tutorial 1: A standard image
16.3 Tutorial 2: A web browser utility
16.4 Tutorial 3: A personalized image
16.4.1 First revision
16.4.2 Second revision
16.5 A VNC Kiosk Client
16.6 A base image for a 128M USB key
16.7 A localized KDE desktop and installer

Apèndix

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

Manual Debian Live

Projecte

14. Coding Style

This chapter documents the coding style used in live-boot and others.

14.1 Compatibility

  • Don't use syntax or semantics that are unique to the Bash shell. For example, the use of array constructs.
  • Only use the POSIX subset - for example, use $(foo) over `foo`.
  • You can check your scripts with 'sh -n' and 'checkbashisms'.
  • Make sure all shell code runs with 'set -e'.
  • 14.2 Indenting

  • Always use tabs over spaces.
  • 14.3 Wrapping

  • Generally, lines are 80 chars at maximum.
  • Use the "Linux style" of line breaks:
  • Bad:

    if foo; then
             bar
    fi

    Good:

    if foo
    then
             bar
    fi

  • The same holds for functions:
  • Bad:

    Foo () {
             bar
    }

    Good:

    Foo ()
    {
             bar
    }

    14.4 Variables

  • Variables are always in capital letters.
  • Variables that used in lb config always start with LB_ prefix.
  • Internal temporary variables in live-build should start with the _LB_ prefix.
  • Local variables start with live-build __LB_ prefix.
  • Variables in connection to a boot parameter in live-config start with LIVE_.
  • All other variables in live-config start with _ prefix.
  • Use braces around variables; e.g. write ${FOO} instead of $FOO.
  • Always protect variables with quotes to respect potential whitespaces: write "${FOO}" not ${FOO}.
  • For consistency reasons, always use quotes when assigning values to variables:
  • Bad:

    FOO=bar

    Good:

    FOO="bar"

  • If multiple variables are used, quote the full expression:
  • Bad:

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

    Good:

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

    14.5 Miscellaneous

  • Use "|" (without the surround quotes) as a separator in calls to sed, e.g. "sed -e 's|foo|bar|'" (without "").
  • Don't use the test command for comparisons or tests, use "[" "]" (without ""); e.g. "if [ -x /bin/foo ]; ..." and not "if test -x /bin/foo; ...".
  • Use case wherever possible over test, as it's easier to read and faster in execution.
  • Use capitalized names for functions to limit messing with the users environment.