## Prerequisiti

Questa guida assume che il lettore abbia una conoscenza ragionevole della compilazione e installazione del software a partire dal codice sorgente su distribuzioni Linux. Questa guida utilizza anche la riga di comando (CLI), quindi dovresti essere a tuo agio nell'uso di un terminale. Dovresti essere almeno in grado di usare i seguenti programmi:

- make: GNU Make è un importantissimo strumento per la compilazione di software. E' usato per trasformare un complesso processo di compilazione in uno banale. E' importante che tu conosca come usarlo dato che immetteremo la maggior parte delle informazioni del processo di creazione del pacchetto in un Makefile. La documentazione è disponibile sul sito di GNU.

- ./configure: Questo script è incluso in quasi tutti i sorgenti per Linux, specialmente per i software scritti in linguaggi compilati come C e C++. E' usato per generare un Makefile (file usato da make) specificamente configurato per il tuo sistema. Gli strumenti di creazione di pacchetti di Debian tradizionali ne fanno uso, quindi è importante che tu sappia cosa faccia lo script `configure`. Informazioni su `./configure` possono essere reperite nella documentazione di make.

- Apt/Dpkg: Al di là dell'uso basilare dell'installazione dei programmi, apt e dpkg hanno tante funzionalità utili per la creazione di pacchetti.

  - apt-cache dump - elenca tutti i pacchetti in cache. Questo comando è specialmente utile in combinazione con grep, ad esempio apt-cache dump | grep foo ricerca i pacchetti il cui nome o la dipendenza include “foo”.

  - apt-cache policy - elenca i repository (main/restricted/universe/multiverse) in cui un pacchetto esiste.

  - apt-cache show - mostra informazioni sui pacchetti binari.

  - apt-cache showsrc - mostra informazioni sui pacchetti sorgente.

  - apt-cache rdepends - mostra le dipendenze inverse di un pacchetto (quali pacchetti richiedono il pacchetto scelto).

  - dpkg -S - elenca i pacchetti binari a cui appartiene un particolare file.

  - dpkg -l - elenca i pacchetti installati. E' simile a apt-cache dump ma per i pacchetti installati.

  - dpkg -c - elenca il contenuto dei pacchetti binari. E' utile per assicurarsi che un file è installato nel posto giusto.

  - dpkg -f - visualizza il file di controllo per un pacchetto binario. E' utile per assicurarsi che le dipendenze siano corrette.

  - grep-dctrl - cerca per informazioni specifiche nei pacchetti. E' un uso particolare del pacchetto grep (ma non è installato di default).

- diff and patch: Il programma diff può essere usato per confrontare due file e per creare patch. Un tipico esempio può essere diff -ruN file.old file.new > file.diff. Questo comando creerà un file di differenze (ricorsivamente se sono presenti directory) che indicano i cambiamenti, o “delta”, tra i due file.

  Il programma patch è usato per applicare una patch (solitamente creata da diff o altri programmi simili) ad un file o una directory. Per applicare la patch, si esegue patch -p0 < file.diff. L'opzione -p indica a patch quanto omettere dai percorsi dei file definiti dalla patch. -p0 significa non omettere nulla, o lasciare la patch intatta.

Come cominciare |  | Capitolo 2. Per iniziare