Live manual Debian Live

# Debian Live Manual

# Panoramica degli strumenti

286

# 5. Panoramica degli strumenti

287

This chapter contains an overview of the three main tools used in building live systems: live-build, live-boot and live-config.

288

5.1 Il pacchetto live-build

289

live-build is a collection of scripts to build live systems. These scripts are also referred to as "commands".

290

L'idea dietro live-build è di essere un'infrastruttura che utilizza una directory di configurazione per automatizzare totalmente e personalizzare tutti gli aspetti della creazione di un'immagine live.

291

Molti concetti sono simili a quelli applicati per creare pacchetti Debian con debhelper:

292

- The scripts have a central location for configuring their operation. In debhelper, this is the `debian/` subdirectory of a package tree. For example, dh_install will look, among others, for a file called `debian/install` to determine which files should exist in a particular binary package. In much the same way, live-build stores its configuration entirely under a `config/` subdirectory.

293

- Gli script sono indipendenti, vale a dire che è sempre sicuro eseguire ogni comando.

294

Unlike debhelper, live-build provides the tools to generate a skeleton configuration directory. This could be considered to be similar to tools such as dh-make. For more information about these tools, read on, since the remainder of this section discuses the four most important commands. Note that the preceding `lb` is a generic wrapper for live-build commands.

295

- lb config: Responsible for initializing a Live system configuration directory. See The lb config command for more information.

296

- lb build: responsabile di iniziare la creazione di un sistema live. Si veda Il comando lb per maggiori informazioni.

297

- lb clean: responsabile della rimozione di parti della creazione di un sistema live. Si veda Il comando lb clean per maggiori informazioni.

298

5.1.1 Il comando `lb config`

299

As discussed in live-build, the scripts that make up live-build read their configuration with the `source` command from a single directory named `config/`. As constructing this directory by hand would be time-consuming and error-prone, the `lb config` command can be used to create the initial skeleton configuration tree.

300

Issuing `lb config` without any arguments creates the `config/` subdirectory which is populated with some default settings in configuration files, and two skeleton trees named `auto/` and `local/`.

301

$ lb config
[2015-01-06 19:25:58] lb config
P: Creating config tree for a debian/stretch/i386 system
P: Symlinking hooks...

302

Using `lb config` without any arguments would be suitable for users who need a very basic image, or who intend to provide a more complete configuration via `auto/config` later (see Managing a configuration for details).

303

Normally, you will want to specify some options. For example, to specify which package manager to use while building the image:

304

$ lb config --apt aptitude

305

È possibile specificare molte opzioni, come:

306

$ lb config --binary-images netboot --bootappend-live "boot=live components hostname=live-host username=live-user" ...

307

Una lista completa delle opzioni è disponibile nel manuale di `lb_config`.

308

5.1.2 Il comando `lb build`

309

Il comando `lb build` legge la configurazione dalla directory `config/` ed esegue a un livello inferiore i comandi necessari a costruire il sistema live.

310

5.1.3 Il comando `lb clean`

311

It is the job of the `lb clean` command to remove various parts of a build so subsequent builds can start from a clean state. By default, `chroot`, `binary` and `source` stages are cleaned, but the cache is left intact. Also, individual stages can be cleaned. For example, if you have made changes that only affect the binary stage, use `lb clean --binary` prior to building a new binary. If your changes invalidate the bootstrap and/or package caches, e.g. changes to `--mode`, `--architecture`, or `--bootstrap`, you must use `lb clean --purge`. See the `lb_clean` man page for a full list of options.

312

5.2 Il pacchetto live-boot

313

live-boot is a collection of scripts providing hooks for the initramfs-tools, used to generate an initramfs capable of booting live systems, such as those created by live-build. This includes the live system ISOs, netboot tarballs, and USB stick images.

314

All'avvio cercherà supporti in sola lettura che contengano una directory `/live/` dove sia presente un filesystem root (spesso un'immagine compressa come squashfs). Se trovata, creerà un ambiente scrivibile usando aufs, per avviarsi da sistemi simili a Debian.

315

More information on initial ramfs in Debian can be found in the Debian Linux Kernel Handbook at ‹https://kernel-team.pages.debian.net/kernel-handbook/› in the chapter on initramfs.

316

5.3 Il pacchetto live-config

317

live-config è costituito da script eseguiti all'avvio dopo live-boot per configurare automaticamente il sistema live. Gestisce attività quali impostare l'hostname, localizzazione e fuso orario, creare l'utente live, inibire compiti automatizzati tramite cron ed eseguire il login automatico dell'utente live.