The Debian GNU/Linux FAQ - lordhack.altervista.org

Transcript

The Debian GNU/Linux FAQ - lordhack.altervista.org
The Debian GNU/Linux FAQ
Autori della FAQ Debian
versione CVS, 14 February 2003
Estratto
Questo documento risponde alle domande poste di frequente circa Debian GNU/Linux.
Avviso di Copyright
Copyright © 1996-2003 by Software in the Public Interest
Permission is granted to make and distribute verbatim copies of this document provided the
copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this document under the
conditions for verbatim copying, provided that the entire resulting derived work is distributed
under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this document into another language, under the above conditions for modified versions, except that this permission notice
may be included in translations approved by the Free Software Foundation instead of in the
original English.
Traduzione italiana a cura di Hugh Hartmann <[email protected]> e Claudio Cattazzo
<[email protected]>.
i
Indice
1
Definizioni e panoramica
1
1.1
Cos’è Debian GNU/Linux? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2
OK, ora so che cos’è Debian. . . cos’è Linux?! . . . . . . . . . . . . . . . . . . . . . .
2
1.3
Cos’è questa nuova cosa, “Hurd”? . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.4
Qual è la differenza tra Debian GNU/Linux e altre distribuzioni Linux? Perché
dovrei scegliere Debian piuttosto di qualche altra distribuzione? . . . . . . . . . .
3
Come fa il progetto Debian ad adattarsi o confrontarsi con il progetto GNU della
Free Software Foundation? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
Come si pronuncia Debian e cosa significa questa parola? . . . . . . . . . . . . . .
4
1.5
1.6
2
3
Ottenere ed installare Debian GNU/Linux
5
2.1
Qual è la versione più recente di Debian? . . . . . . . . . . . . . . . . . . . . . . .
5
2.2
Dove/come si possono trovare i dischi di installazione Debian? . . . . . . . . . .
5
2.3
Come si fa ad installare Debian dai CD-ROM? . . . . . . . . . . . . . . . . . . . .
6
2.4
Avendo un masterizzatore, ci sono delle immagini dei CD Debian disponibili da
qualche parte? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.5
Si può installare Debian da una serie di floppy disk? . . . . . . . . . . . . . . . . .
6
2.6
È possibile ottenere ed installare Debian direttamente da un sito Internet remoto?
7
Questioni di compatibilità
9
3.1
Su quali architetture e/o sistemi hardware funziona Debian GNU/Linux? . . . .
9
3.2
Com’è compatibile Debian con le altre distribuzioni Linux? . . . . . . . . . . . . . 10
3.3
In che modo Debian è compatibile con altri sistemi Unix a livello di codice
sorgente? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4
Si possono usare i pacchetti debian (file “.deb”) sul proprio sistema Linux
RedHat/Slackware/. . . ? Si possono usare i pacchetti RedHat (file “.rpm”) sul
proprio sistema Debian GNU/Linux? . . . . . . . . . . . . . . . . . . . . . . . . . 11
INDICE
ii
3.5
Debian può avviare i miei vecchi programmi “a.out”? . . . . . . . . . . . . . . . . 11
3.6
Debian è in grado di eseguire i miei vecchi programmi in libc5? . . . . . . . . . . 12
3.7
Debian può essere usata per compilare programmi in libc5? . . . . . . . . . . . . 12
3.8
Come dovrei installare un programma non-Debian? . . . . . . . . . . . . . . . . . 12
3.9
Perché ottengo l’errore “Can’t find libX11.so.6” quando tento di eseguire foo? . 13
3.10 Perché non posso compilare programmi che richiedono libtermcap? . . . . . . . . 13
3.11 Perché non posso installare AccelX? . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.12 Perché le mie vecchie applicazioni Motif per XFree 2.1 vanno in crash? . . . . . . 14
4
Software disponibile nel sistema Debian
15
4.1
Quali tipi di applicazioni e software di sviluppo sono disponibili per Debian
GNU/Linux? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.2
Chi ha scritto tutto questo software? . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.3
Come si può ottenere una lista aggiornata dei programmi che sono stati
impacchettati per Debian? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.4
Cosa manca da Debian GNU/Linux? . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.5
Perché ricevo il messaggio “ld: cannot find -lfoo” quando compilo i programmi?
Perché non ci sono i file libfoo.so nei pacchetto delle librerie Debian? . . . . . . . 16
4.6
Debian supporta Java? (E come?) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.7
Come si può verificare che si sta usando un sistema Debian e che versione è? . . 17
4.8
Come fa Debian a supportare lingue non-inglesi? . . . . . . . . . . . . . . . . . . . 17
4.9
A proposito delle regole statunitensi sulla limitazione dell’esportazione? . . . . . 18
4.10 Dov’è pine? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5
Gli archivi FTP Debian
19
5.1
Cosa sono tutte quelle directory negli archivi FTP Debian? . . . . . . . . . . . . . 19
5.2
Quante distribuzioni Debian ci sono nella directory dists? . . . . . . . . . . . . 19
5.3
Cosa sono tutti quei nomi come slink, potato, ecc.? . . . . . . . . . . . . . . . . . . 20
5.3.1
Quali altri nomi in codice sono stati usati in passato? . . . . . . . . . . . . 20
5.3.2
Da dove derivano questi nomi in codice? . . . . . . . . . . . . . . . . . . . 20
5.4
A proposito di “frozen”? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.5
A proposito di “sid”? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.5.1
Note storiche su “sid” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
INDICE
iii
5.6
Cosa contiene la directory stable? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.7
Cosa contiene la directory testing? . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.8
Cosa contiene la directory unstable? . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.9
Cosa sono tutte quelle directory dentro a dists/stable/main? . . . . . . . . . 23
5.10 Dov’è il codice sorgente? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.11 Cosa c’è nella directory pool? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.12 Cos’è “incoming”? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6
Fondamenti sul sistema di gestione dei pacchetti Debian
25
6.1
Cos’è un pacchetto Debian? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.2
Qual è il formato di un pacchetto binario Debian? . . . . . . . . . . . . . . . . . . 26
6.3
Perché i nomi dei pacchetti Debian sono così lunghi? . . . . . . . . . . . . . . . . 26
6.4
Cos’è un file di controllo Debian? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.5
Cos’è un conffile Debian? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.6
Cosa sono gli script preinst, postinst, prerm e postrm di Debian? . . . . . . . . . . 28
6.7
Cosa sono i pacchetti Required, Important, Standard, Optional, o Extra? . . . . . . . 29
6.8
Cos’è un pacchetto virtuale? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.9
Cosa significa dire che un pacchetto Dipende da, Raccomanda, Suggerisce, Va in
conflitto con, Sostituisce o Fornisce un altro pacchetto? . . . . . . . . . . . . . . . . . 30
6.10 Cosa significa Pre-Depends? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.11 Cosa significa sconosciuto, installa, rimuovi, elimina e mantieni nello stato di un
pacchetto? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.12 Come mantengo un pacchetto? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.13 Come si installa un pacchetto sorgente? . . . . . . . . . . . . . . . . . . . . . . . . 33
6.14 Come si compilano pacchetti binari da un pacchetto sorgente? . . . . . . . . . . . 33
6.15 Come ci si crea pacchetti Debian da sé? . . . . . . . . . . . . . . . . . . . . . . . . 34
7
Gli strumenti di gestione dei pacchetti Debian
7.1
35
Quali programmi fornisce Debian per gestire i suoi pacchetti? . . . . . . . . . . . 35
7.1.1
dpkg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7.1.2
dselect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
7.1.3
dpkg-deb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.1.4
apt-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
INDICE
iv
7.1.5
8
9
dpkg-split . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
7.2
Debian afferma di essere in grado di aggiornare un programma in esecuzione;
come viene effettuato? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
7.3
Come posso sapere quali pacchetti sono già installati su un sistema Debian? . . . 40
7.4
Come posso scoprire quale pacchetto ha prodotto un particolare file? . . . . . . . 40
Mantenere il proprio sistema Debian aggiornato
41
8.1
Come posso aggiornare la mia distribuzione Debian 1.3.1 (o precedente), basata
sulla libc5, alla 2.0 (o successiva), basata sulla libc6? . . . . . . . . . . . . . . . . . 41
8.2
Come posso mantenere il mio sistema Debian recente? . . . . . . . . . . . . . . . 42
8.2.1
APT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
8.2.2
dpkg-ftp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
8.2.3
mirror . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
8.2.4
dpkg-mountable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
8.3
Devo entrare in modalità singolo-utente per aggiornare un pacchetto? . . . . . . 44
8.4
Devo tenere tutti questi file di archivio .deb sul mio disco? . . . . . . . . . . . . . 44
8.5
Come posso tenere un log dei pacchetti che ho aggiunto al sistema? . . . . . . . . 45
Debian e il kernel
47
9.1
Posso installare e compilare un kernel senza alcun adattamento specifico per
Debian? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
9.2
Quali strumenti fornisce Debian per costruire kernel personalizzati? . . . . . . . 47
9.3
Come posso creare un floppy di avvio personalizzato? . . . . . . . . . . . . . . . 48
9.4
Quali strumenti speciali fornisce Debian per lavorare con i moduli? . . . . . . . . 49
9.5
Posso disinstallare con sicurezza un vecchio pacchetto kernel e, se sì, come? . . . 49
10 Personalizzare la propria installazione di Debian GNU/Linux
51
10.1 Come posso assicurarmi che tutti i programmi usino lo stesso formato carta? . . 51
10.2 Come posso fornire accesso alle periferiche hardware senza compromettere la
sicurezza? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
10.3 Come carico un font di console all’avvio nel modo Debian? . . . . . . . . . . . . . 51
10.4 Come posso configurare i default di un’applicazione del programma X11? . . . . 52
10.5 Ogni distribuzione sembra avere un metodo di avvio differente. Parlatemi di
quello di Debian. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
INDICE
v
10.6 Sembra che Debian non usi rc.local per personalizzare il processo di avvio;
che facilitazioni vengono fornite? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
10.7 Come si occupa il sistema di manutenzione dei pacchetti dei pacchetti che
contengono file di configurazione per altri pacchetti? . . . . . . . . . . . . . . . . 53
10.8 Come sovrascrivo un file installato da un pacchetto in modo che ne venga usata
una versione differente? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
10.9 Come posso avere il mio pacchetto generato localmente nella lista dei pacchetti
disponibili che il sistema di gestione dei pacchetti conosce? . . . . . . . . . . . . . 55
10.10Ad alcuni utenti piace mawk, ad altri piace gawk; ad alcuni piace vim, ad altri piace elvis; ad alcuni piace trn, ad altri piace tin; come supporta Debian le
diversità? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
11 Ottenere supporto per Debian GNU/Linux
57
11.1 Quale altra documentazione esiste su e per un sistema Debian? . . . . . . . . . . 57
11.2 Ci sono risorse on-line dove discutere su Debian? . . . . . . . . . . . . . . . . . . 58
11.2.1 Liste di messaggi (Mailing list) . . . . . . . . . . . . . . . . . . . . . . . . . 58
11.2.2 Manutentori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
11.2.3 Gruppi di discussione (newsgroup) Usenet . . . . . . . . . . . . . . . . . . 59
11.3 C’è un modo rapido per cercare informazioni su Debian GNU/Linux? . . . . . . 60
11.4 Ci sono log di bachi conosciuti? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
11.5 Come segnalo un baco in Debian? . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
12 Contribuire al Progetto Debian
63
12.1 Come posso diventare uno sviluppatore di software Debian? . . . . . . . . . . . . 63
12.2 Come posso fornire risorse al progetto Debian? . . . . . . . . . . . . . . . . . . . . 63
12.3 Come posso contribuire finanziariamente al progetto Debian? . . . . . . . . . . . 64
12.3.1 Software in the Public Interest . . . . . . . . . . . . . . . . . . . . . . . . . 64
12.3.2 Free Software Foundation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
13 Redistribuire Debian GNU/Linux come prodotto commerciale
65
13.1 Posso creare e vendere CD Debian? . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
13.2 Debian può essere impacchettata con software non-libero? . . . . . . . . . . . . . 65
13.3 Sto creando una speciale distribuzione Linux per un “mercato verticale”. Posso
usare Debian GNU/Linux come nucleo di un sistema Linux e aggiungere le mie
applicazioni su di esso? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
13.4 Posso mettere il mio programma commerciale in un “pacchetto” Debian
cosicché si possa installare senza fatica su ogni sistema Debian? . . . . . . . . . . 66
INDICE
vi
14 Cambiamenti aspettati nella prossima major release di Debian
67
14.1 Aumento della sicurezza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
14.2 Supporto esteso per gli utenti non-inglesi . . . . . . . . . . . . . . . . . . . . . . . 67
14.3 Più architetture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
14.4 Più kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
15 Informazioni generali sulla FAQ
69
15.1 Autori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
15.2 Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
15.3 Reperibilità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
15.4 Formato del documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
1
Capitolo 1
Definizioni e panoramica
1.1 Cos’è Debian GNU/Linux?
Debian GNU/Linux è una particolare distribuzione del sistema operativo Linux e di numerosi
pacchetti funzionanti su di esso.
Una volta, gli utenti potevano ottenere il kernel Linux da Internet o da qualche altra parte e lo
compilavano loro stessi. Poi, nello stesso modo, potevano ottenere il codice sorgente di molte
applicazioni, compilare i programmi e installarli nel proprio sistema. Per programmi complessi questo processo può essere non solo un dispendio di tempo, ma può anche comportare
degli errori. Per evitare questo, gli utenti spesso scelgono di ottenere il sistema operativo ed
i pacchetti delle applicazioni da uno dei distributori Linux. Quello che distingue i vari distributori Linux è il software, i protocolli ed i procedimenti usati per impacchettare, installare e
monitorare i pacchetti applicativi sui sistemi degli utenti, abbinati a strumenti di installazione
e manutenzione, documentazione ed altri servizi.
Debian GNU/Linux è il risultato di uno sforzo di volontari per creare un sistema operativo
compatibile con Unix, di alta qualità, libero, completato da un insieme di applicazioni. L’idea
di un sistema operativo Unix-like libero ha origine dal progetto GNU e molte applicazioni che
rendono Debian GNU/Linux così utile sono state sviluppate dal progetto GNU.
Per Debian, libero ha il significato dato dalla GNU (si veda Debian Free Software Guidelines
(http://www.debian.org/social_contract#guidelines)). Quando parliamo di software libero, ci riferiamo alla libertà, non al prezzo. Software libero significa che si ha la libertà
di distribuire copie di software libero, che si riceve il codice sorgente o lo si può ottenere se lo
si desidera, che si può cambiare il software o usare parte di esso in nuovi programmi liberi; e
che si sappia che si possono fare queste cose.
Il Progetto Debian è stato creato da Ian Murdock nel 1993, inizialmente sotto la sponsorizzazione del progetto GNU della Free Software Foundation. Oggi, gli sviluppatori Debian lo
vedono come un diretto discendente del progetto GNU.
Debian GNU/Linux è:
Capitolo 1. Definizioni e panoramica
2
• pienamente funzionale: Debian al momento include più di 15400 pacchetti software.
Gli utenti possono selezionare quali pacchetti installare; Debian fornisce uno strumento
per questo. Si può cercare una lista e le descrizioni dei pacchetti che sono attualmente
disponibili su Debian su ognuno dei siti mirror (http://www.debian.org/distrib/
ftplist) Debian.
• libera da usare e ridistribuire: Non c’è un’iscrizione ad un’associazione od un pagamento richiesto per partecipare alla sua distribuzione e sviluppo. Tutti i pacchetti che sono
formalmente parte di Debian GNU/Linux sono liberamente redistribuibili, di solito sotto
i termini specificati dalla GNU General Public License.
Gli archivi FTP Debian contengono anche approssimativamente 450 pacchetti software
(nelle sezioni non-free e contrib) che sono distribuibili sotto termini specifici inclusi
in ogni pacchetto.
• dinamica: Con circa 1649 volontari che contribuiscono costantemente ad un codice nuovo e migliorato, Debian si sta evolvendo rapidamente. Le nuove release sono pianificate
per essere preparate ogni qualche mese e gli archivi FTP sono aggiornati giornalmente.
Tuttavia anche se Debian GNU/Linux è software libero, rappresenta una base su cui possono
essere costruite distribuzioni di Linux dal valore aggiunto. Fornendo un sistema di base sicuro
e pienamente funzionale, Debian fornisce agli utenti Linux una compatibilità crescente e permette ai creatori di distribuzioni Linux di eliminare il raddoppiamento degli sforzi e mette in
evidenza le caratteristiche che rendono speciale la propria distribuzione. Si veda ‘Sto creando
una speciale distribuzione Linux per un “mercato verticale”. Posso usare Debian GNU/Linux
come nucleo di un sistema Linux e aggiungere le mie applicazioni su di esso?’ a pagina 66 per
maggiori informazioni.
1.2
OK, ora so che cos’è Debian. . . cos’è Linux?!
In breve, Linux è il kernel di un sistema operativo Unix-like. È stato originariamente progettato
per PC 386 (e superiori); ora è sotto sviluppo il passaggio ad altri sistemi, inclusi sistemi multiprocessore. Linux è stato scritto da Linus Torvalds e molti altri informatici di tutto il mondo.
Oltre al suo kernel, un sistema “Linux” di solito ha:
• un file system che segue la Linux Filesystem Hierarchy Standard http://www.
pathname.com/fhs/.
• un vasto campo di utilità Unix, molte delle quali sono state sviluppate dal progetto GNU
e dalla Free Software Foundation.
La combinazione del kernel Linux, del file system, delle utilità della GNU e della FSF e delle
altre utilità è stata progettata per raggiungere la compatibilità con lo standard POSIX (IEEE
1003.1); si veda ‘In che modo Debian è compatibile con altri sistemi Unix a livello di codice
sorgente?’ a pagina 10.
Capitolo 1. Definizioni e panoramica
3
Per ulteriori informazioni riguardanti Linux, si veda la Linux Information Sheet (ftp:
//ibiblio.org/pub/Linux/docs/HOWTO/INFO-SHEET) di Michael K. Johnson e la
Meta-FAQ (ftp://ibiblio.org/pub/Linux/docs/HOWTO/META-FAQ).
1.3
Cos’è questa nuova cosa, “Hurd”?
L’Hurd è un insieme di servizi che funzionano sul microkernel Mach della GNU. Insieme
costituiscono il sistema di base per il sistema operativo GNU.
Attualmente, Debian è disponibile solo per Linux, ma con Debian GNU/Hurd abbiamo iniziato ad offrire l’Hurd anche come piattaforma di sviluppo, server e desktop. Comunque, Debian
GNU/Hurd non è ancora stata rilasciata ufficialmente e non lo sarà per un po’ di tempo.
Si veda http://www.gnu.org/software/hurd/ per maggiori informazioni riguardo GNU/Hurd in generale, e http://www.debian.org/ports/hurd/ per ulteriori
informazioni su Debian GNU/Hurd.
1.4
Qual è la differenza tra Debian GNU/Linux e altre distribuzioni
Linux? Perché dovrei scegliere Debian piuttosto di qualche altra
distribuzione?
Queste caratteristiche chiave distinguono Debian dalle altre distribuzioni Linux:
Il sistema di manutenzione dei pacchetti Debian: L’intero sistema, o qualsiasi sua componente individuale, può essere aggiornata senza riformattare, senza perdere i propri file
di configurazione e (nella maggior parte dei casi) senza riavviare il sistema. La maggior
parte delle distribuzioni Linux disponibili attualmente hanno qualche tipo di sistema di
manutenzione dei pacchetti; il sistema di manutenzione dei pacchetti Debian è unico
e particolarmente robusto. (si veda ‘Fondamenti sul sistema di gestione dei pacchetti
Debian’ a pagina 25)
Sviluppo aperto: Mentre altre distribuzioni Linux sono sviluppate da singoli, gruppi piccoli,
chiusi o venditori commerciali, Debian è l’unica distribuzione Linux che fin dall’inizio
è stata sviluppata cooperativamente da molti individui attraverso Internet, nello stesso
spirito di Linux ed altro software libero.
Più di 1649 volontari che mantengono i pacchetti stanno lavorando su più di 15400 pacchetti migliorando Debian GNU/Linux. Gli sviluppatori Debian contribuiscono al progetto non solo scrivendo nuove applicazioni (nella maggior parte dei casi), ma impacchettando software già esistente in accordo con gli standard del progetto, comunicando
notizie sui bachi agli sviluppatori e fornendo supporto agli utenti. Si vedano anche le
informazioni aggiuntive su come diventare un contributore su ‘Come posso diventare
uno sviluppatore di software Debian?’ a pagina 63.
Capitolo 1. Definizioni e panoramica
4
Il Sistema di Tracciamento Bachi: La dispersione geografica degli sviluppatori Debian
richiede degli strumenti sofisticati ed una comunicazione rapida dei bachi e dei fissaggi
per accelerare lo sviluppo del sistema. Gli utenti sono incoraggiati a inviare i bachi in uno
stile formale, che sia rapidamente accessibile attraverso gli archivi WWW o via e-mail. Si
vedano le informazioni aggiuntive in questa FAQ sulla gestione dei log dei bachi su ‘Ci
sono log di bachi conosciuti?’ a pagina 60.
La Politica Debian: Debian ha un’esauriente specificazione dei propri standard di qualità,
la Debian Policy. Questo documento definisce le qualità e gli standard a cui vengono
mantenuti i pacchetti Debian.
Per ulteriori informazioni su questo si veda la nostra pagina web circa le ragioni per scegliere
Debian (http://www.debian.org/intro/why_debian).
1.5
Come fa il progetto Debian ad adattarsi o confrontarsi con il
progetto GNU della Free Software Foundation?
Il sistema Debian è costruito sugli ideali del software libero prima campionato dalla Free Software Foundation (http://www.gnu.org/) ed in particolare da Richard Stallman (http:
//www.stallman.org/). Il potente sistema di strumenti per lo sviluppo, le utilità e le
applicazioni della FSF sono anche una parte chiave del sistema Debian.
Il Progetto Debian è un’entità separata dalla FSF, comunque comunichiamo regolarmente e
cooperiamo su vari progetti. La FSF ha richiesto esplicitamente di chiamare il nostro sistema
“Debian GNU/Linux” e siamo felici di soddisfare questa richiesta.
L’obiettivo a lunga scadenza della FSF è quello di sviluppare un nuovo sistema operativo
chiamato GNU basato su Hurd (http://www.gnu.org/software/hurd/). Debian sta lavorando con la FSF su questo sistema, chiamato Debian GNU/Hurd (http://www.debian.
org/ports/hurd/).
1.6
Come si pronuncia Debian e cosa significa questa parola?
Il nome del progetto si pronuncia Deb’-ian, con una e breve in Deb e con un’enfasi sulla prima
sillaba. Questa parola è una contrazione dei nomi di Debra e Ian Murdock, che fondarono
il progetto. (I dizionari sembrano offrire alcune ambiguità sulla pronuncia di Ian (!), ma Ian
preferisce i’-an.)
5
Capitolo 2
Ottenere ed installare Debian
GNU/Linux
2.1 Qual è la versione più recente di Debian?
Attualmente ci sono tre versioni di Debian GNU/Linux:
la release 3.1, a.k.a. la distribuzione ’stable’ Questo software è stabile e ben testato, cambia se
vengono incorporati fissaggi di sicurezza e usabilità.
la distribuzione ’testing’ Qui è dove vengono messi i pacchetti che saranno rilasciati come la
prossima ’stable’; hanno subito alcuni test in unstable ma possono non essere ancora
adatti ad essere rilasciati. Questa distribuzione è aggiornata più frequentemente della
’stable’, ma non più frequentemente della ’unstable’.
la distribuzione ’unstable’ Questa è la versione attualmente sotto sviluppo; è aggiornata continuamente. Si possono recuperare i pacchetti dall’archivio ’unstable’ (instabile) su ogni
sito FTP Debian e usarli per aggiornare il proprio sistema in ogni momento, ma non
bisogna aspettarsi che il sistema sia utilizzabile e/o stabile come prima - ecco perché è
chiamata ’instabile’!
Si veda ‘Quante distribuzioni Debian ci sono nella directory dists?’ a pagina 19 per maggiori
informazioni.
2.2
Dove/come si possono trovare i dischi di installazione Debian?
Si possono ottenere i dischi d’installazione scaricando i file appropriati da uno dei mirror
Debian (http://www.debian.org/mirror/list).
I file del sistema di installazione sono separati in sottodirectory della directory dists/stable
/main ed i nomi di queste sottodirectory corrispondono alla propria architettura in questo
Capitolo 2. Ottenere ed installare Debian GNU/Linux
6
modo: disks-arch (arch è “i386”, “sparc”, ecc, si controlli il sito per una lista esatta). In
ognuna di queste sottodirectory di architetture ci possono essere diverse directory, ognuna per
una versione del sistema di installazione e quello usato attualmente è nella directory ’current’
(è un link simbolico).
Si veda il file README.txt in quella directory per maggiori informazioni.
2.3 Come si fa ad installare Debian dai CD-ROM?
Linux supporta il file system ISO 9660 (CD-ROM) con le estensioni Rock Ridge (formalmente conosciuto come “High Sierra”). Diversi distributori (http://www.debian.org/CD/
vendors/) forniscono Debian GNU/Linux in questo formato.
Attenzione: Quando si installa da CD-ROM, non è solitamente una buona idea scegliere come
metodo di accesso di dselect il cdrom. Questo metodo è generalmente molto lento. I metodi
mountable e apt, per esempio, sono molto migliori per l’installazione da CD-ROM (si veda
‘dpkg-mountable’ a pagina 44 e ‘APT’ a pagina 42).
2.4
Avendo un masterizzatore, ci sono delle immagini dei CD
Debian disponibili da qualche parte?
Sì. Per fare in modo che i fornitori forniscano dischi di alta qualità, forniamo le Immagini
ufficiali dei CD (http://cdimage.debian.org/).
2.5
Si può installare Debian da una serie di floppy disk?
Prima di tutto, un avvertimento: l’intera Debian GNU/Linux è troppo grande per essere installata da un dispositivo di memorizzazione così piccolo come un floppy disk standard da
1.44MB - si potrebbe trovare l’installazione da floppy disk un’esperienza non molto piacevole.
Si copino i pacchetti Debian in floppy disk formattati. Tutti i formati DOS, “ext2” nativo di
Linux o il formato “minix” saranno supportati; si deve solo dare il comando di montaggio
appropriato per il floppy che si sta usando.
Usare i floppy disk ha le seguenti complicazioni:
• Nomi dei file in MS-DOS corti: Se si sta tentando di mettere pacchetti Debian in dischi formattati MS-DOS, si scoprirà che i loro nomi sono generalmente troppo lunghi e
non conformi alla limitazione 8.3 del nome del file in MS-DOS. Per ovviare a questo si
dovrebbero utilizzare dischi formattati VFAT, in quanto VFAT supporta nomi di file più
lunghi.
Capitolo 2. Ottenere ed installare Debian GNU/Linux
7
• Grandi dimensioni dei file: Alcuni pacchetti sono più grandi di 1.44 MByte e non possono stare in un singolo floppy disk. Per risolvere questo problema si usi lo strumento
dpkg-split (si veda ‘dpkg-split’ a pagina 39), disponibile nella directory tools sui mirror
Debian (http://www.debian.org/mirror/list).
Per poter leggere e scrivere su floppy disk è necessario avere il supporto per i floppy disk
nel kernel; la maggior parte dei kernel vengono forniti con il supporto per il drive floppy già
incluso al loro interno.
Per montare un floppy disk sotto il punto di montaggio /floppy (una directory che dovrebbe
essere stata creata durante l’installazione), si usi:
•
mount -t msdos /dev/fd0 /floppy/
se il floppy disk è nel drive A: ed ha un file system MS-DOS,
•
mount -t msdos /dev/fd1 /floppy/
se il floppy disk è nel drive B: ed ha un file system MS-DOS,
•
mount -t ext2 /dev/fd0 /floppy/
se il floppy disk è nel drive A: ed ha un file system ext2 (ovvero un comune Linux).
2.6
È possibile ottenere ed installare Debian direttamente da un sito
Internet remoto?
Sì. Si può avviare il sistema di installazione Debian da una serie di file che si possono prelevare
dal nostro sito FTP e dai suoi mirror.
Si può scaricare una piccola immagine di CD, creare da essa un cd avviabile, installare da
esso il sistema di base ed il resto dalla rete. Per maggiori informazioni si veda http://www.
debian.org/CD/netinst/.
Si possono anche scaricare dei file immagine di floppy disk ancora più piccoli, creare da essi dei
dischetti avviabili, avviare la procedura di installazione ed ottenere il resto di Debian dalla rete.
Per maggiori informazioni si veda http://www.debian.org/distrib/floppyinst.
Capitolo 2. Ottenere ed installare Debian GNU/Linux
8
9
Capitolo 3
Questioni di compatibilità
3.1 Su quali architetture e/o sistemi hardware funziona Debian
GNU/Linux?
Debian GNU/Linux include il codice sorgente per tutti i programmi inclusi, così dovrebbe
funzionare su tutti i sistemi che sono supportati dal kernel Linux; si veda la Linux FAQ (http:
//en.tldp.org/FAQ/Linux-FAQ/intro.html#DOES-LINUX-RUN-ON-MY-COMPUTER)
per i dettagli.
L’attuale release Debian GNU/Linux 3.1 contiene una distribuzione binaria completa per le
seguenti architetture:
i386: questa comprende i PC basati su processori Intel e compatibili, inclusi gli Intel 386, 486,
Pentium, Pentium Pro, Pentium II (sia Klamath che Celeron) e Pentium III e la maggior parte
dei processori compatibili di AMD, Cyryx ed altri.
m68k: questa comprende computer Amiga e Atari con processori Motorola 680x0 (con x>=2)
con MMU.
alpha: sistemi Alpha Compaq/Digital.
sparc: questa comprende i sistemi SPARC della Sun e la maggior parte dei sistemi UltraSPARC.
powerpc: questa comprende alcune macchine PowerPC IBM/Motorola, incluse le macchine
CHRP, PoverMac e PReP.
arm: macchine ARM e StrongARM.
mips: sistemi MIPS big-endian della SGI, Indy e Indigo2; mipsel: macchine MIPS little-endian,
Digital DECstations.
hppa: macchine PA-RISC della Hewlett-Packard (712, C3000, L2000, A500).
ia64: computer Intel IA-64 (“Itanium”).
s390: sistemi mainframe IBM S/390.
Capitolo 3. Questioni di compatibilità
10
Lo sviluppo di distribuzioni binarie di Debian per architetture Sparc64 (UltraSPARC nativo) è
attualmente in corso.
Per ulteriori informazioni su come fare il boot, partizionare il proprio drive, abilitare i dispositivi PCMCIA (PC Card) e per questioni simili si seguano le istruzioni date nel manuale di installazione, che è disponibile dal nostro sito WWW su http://www.debian.org/
releases/stable/installmanual.
3.2
Com’è compatibile Debian con le altre distribuzioni Linux?
Gli sviluppatori Debian comunicano con i produttori delle altre distribuzioni Linux per fare
di tutto per mantenere la compatibilità binaria attraverso le distribuzioni. La maggior parte
dei prodotti commerciali per Linux funziona bene sotto Debian come sul sistema su cui è stata
compilati.
Debian GNU/Linux aderisce al Linux Filesystem Hierarchy Standard (http://www.
pathname.com/fhs/) (Standard per la Gerarchia del Filesystem Linux). Comunque, c’è la
possibilità di interpretare alcune regole all’interno di questo standard, così ci possono essere
differenze tra un sistema Debian e gli altri sistemi Linux.
3.3
In che modo Debian è compatibile con altri sistemi Unix a livello
di codice sorgente?
Per la maggior parte delle applicazioni il codice sorgente di Linux è compatibile con altri sistemi Unix. Supporta quasi qualsiasi cosa che sia disponibile per i sistemi Unix basati su System
V ed i sistemi liberi e commerciali derivati da BSD. Comunque nel mondo Unix una tale affermazione non ha quasi nessun valore perché non c’è modo di provarla. Nell’area di sviluppo
del software è richiesta una completa compatibilità piuttosto della compatibilità nella “quasi
maggioranza” dei casi. Così, anni fa, è sorta la necessità della presenza di standard e al giorno
d’oggi POSIX.1 (IEEE Standard 1003.1-1990) è uno dei maggiori standard per la compatibilità
del codice sorgente nei sistemi operativi Unix-like.
Linux si propone di aderire al POSIX.1, ma gli standard POSIX hanno un costo elevato e la
certificazione di POSIX.1 (e FIPS 151-2) è abbastanza costosa; questo crea molte difficoltà agli
sviluppatori Linux a lavorare per una completa conformità a POSIX. Il costo della certificazione
rende improbabile che Debian fornisca una certificazione di conformità ufficiale anche se ha
completamente superato la validation suite. (La validation suite è ora liberamente disponibile,
così è previsto che più persone lavoreranno sui problemi di POSIX.1.)
L’Unifix GmbH (Braunschweig, Germania) ha sviluppato un sistema Linux che è stato certificato come conforme al FIPS 151-2 (un superset di POSIX.1). Questa tecnologia era disponibile
nella distribuzione di Unifix chiamata Unifix Linux 2.0 e nel Linux-FT della Lasermoon.
Capitolo 3. Questioni di compatibilità
11
3.4 Si possono usare i pacchetti debian (file “.deb”) sul proprio sistema Linux RedHat/Slackware/. . . ? Si possono usare i pacchetti
RedHat (file “.rpm”) sul proprio sistema Debian GNU/Linux?
Differenti distribuzioni Linux usano differenti formati dei pacchetti e differenti programmi di
gestione dei pacchetti.
Probabilmente si può: È disponibile un programma per spacchettare un pacchetto Debian all’interno di un sistema Linux in cui è stata installata una distribuzione ’straniera’, e generalmente funzionerà, nel senso che quei file verranno spacchettati. Anche l’inverso è
probabilmente vero, cioè, un programma che apre un pacchetto RedHat o Slackware su
di un sistema basato su Debian GNU/Linux probabilmente riuscirà a spacchettare il pacchetto e a mettere la maggior parte dei file nelle directory di destinazione appropriate.
Questo è in gran parte una conseguenza dell’esistenza del (e spiccata aderenza al) Linux
Filesystem Hierarchy Standard.
Probabilmente non si vuole: La maggior parte dei gestori dei pacchetti scrive alcuni file di
amministrazione quando vengono usati per spacchettare un archivio. Questi file di amministrazione sono generalmente non standardizzati. Quindi, l’effetto di aprire un pacchetto Debian su un sistema ’straniero’ avrà risultati imprevedibili (certamente non utili)
sul gestore dei pacchetti su quel sistema. Similmente, le utilità di un’altra distribuzione
possono riuscire ad aprire i loro archivi su sistemi Debian, ma probabilmente causeranno
dei guasti al sistema di gestione dei pacchetti Debian al momento di aggiornare o rimuovere alcuni pacchetti, o anche semplicemente nel riportare esattamente che pacchetti sono
presenti sul sistema.
Un metodo migliore: Il Linux File System Standard (e quindi Debian GNU/Linux) richiede
che le sottodirectory che si trovano sotto /usr/local/ siano interamente sottoposte
alla discrezione dell’utente. Quindi, gli utenti possono spacchettare pacchetti ’stranieri’
dentro queste directory e poi possono gestire individualmente la loro configurazione,
aggiornamento e rimozione.
3.5
Debian può avviare i miei vecchi programmi “a.out”?
Avete ancora un programma del genere? :-)
Per eseguire un programma il cui binario è in formato a.out (i.e., QMAGIC o ZMAGIC),
• Ci si assicuri che il proprio kernel abbia il supporto per a.out compilato al
suo interno, direttamente (CONFIG_BINFMT_AOUT=y) o come un modulo (CONFIG_BINFMT_AOUT=m). (Il pacchetto kernel-image di Debian contiene il modulo
binfmt_aout.)
Se il proprio kernel ha il supporto dei binari a.out come modulo, ci si assicuri poi che
il modulo binfmt_aout sia caricato. Si può fare questo all’avvio aggiungendo la riga
Capitolo 3. Questioni di compatibilità
12
binfmt_aout nel file /etc/modules. Lo si può fare da riga di comando eseguendo
il comando insmod DIRNAME/binfmt_aout.o dove DIRNAME è il nome della directory dove sono memorizzati i moduli che sono stati compilati per la versione del kernel
che è ora in esecuzione. Su un sistema con la versione 2.2.17 del kernel, DIRNAME è
probabilmente /lib/modules/2.2.17/fs/.
• Si installi il pacchetto libc4, che si può trovare in una delle release precedenti alla 2.0
(perché in questo momento abbiamo rimosso il pacchetto). Si può vedere in un vecchio
CD-ROM Debian (Debian 1.3.1 ha ancora questo pacchetto), o si veda ftp://archive.
debian.org/debian-archive/ su Internet.
• Se il programma che si vuole eseguire è un client X nel formato a.out, allora si installi il
pacchetto xcompat (si veda sotto per la disponibilità).
Se si ha un’applicazione commerciale nel formato a.out, ora sarebbe il momento buono per
chiedere l’invio dell’aggiornamento a ELF.
3.6
Debian è in grado di eseguire i miei vecchi programmi in libc5?
Sì. Basta installare le librerie libc5 richieste, dalla sezione oldlibs (contenente vecchi
pacchetti inclusi per la compatibilità con altre applicazioni).
3.7
Debian può essere usata per compilare programmi in libc5?
Sì.
Si installino i pacchetti libc5-altdev e altgcc (dalla sezione oldlibs).
Si possono trovare gli appropriati gcc e g++ compilati con libc5 nella directory
/usr/i486-linuxlibc1/bin. Li si metta nella propria variabile $PATH per fare in modo
che make e altri programmi li eseguano per primi.
Se si ha bisogno di compilare dei client X basati su libc5, si installino i pacchetti xlib6 e
xlib6-altdev.
Si faccia attenzione che l’ambiente basato su libc5 non è più pienamente supportato dagli altri
nostri pacchetti.
3.8
Come dovrei installare un programma non-Debian?
I file sotto la directory /usr/local/ non sono sotto il controllo del sistema di gestione dei
pacchetti Debian. Quindi, è buona abitudine mettere il codice sorgente del proprio programma in /usr/local/src/. Per esempio, si potrebbe estrarre i file da un pacchetto che si chiama
“foo.tar” dentro la directory /usr/local/src/foo. Dopo averli compilati, si mettano i file
binari in /usr/local/bin/, le librerie in /usr/local/lib/ e i file di configurazione in
/usr/local/etc/.
Capitolo 3. Questioni di compatibilità
13
Se i propri programmi e/o file devono essere realmente messi in altre directory, si potrebbe
ancora memorizzarli in /usr/local/ e creare i link simbolici appropriati dalla locazione
richiesta alla loro locazione in /usr/local/, p.e., si potrebbe creare il link
ln -s /usr/local/bin/foo /usr/bin/foo
In ogni caso, se si ottiene un pacchetto il cui copyright permette la redistribuzione, si dovrebbe
considerare di trasformarlo in un pacchetto Debian e caricarlo per il sistema Debian. Le linee
guida per iniziare a sviluppare un pacchetto sono incluse nel Debian Policy manual (si veda
‘Quale altra documentazione esiste su e per un sistema Debian?’ a pagina 57).
3.9
Perché ottengo l’errore “Can’t find libX11.so.6” quando tento di
eseguire foo?
Questo messaggio d’errore potrebbe significare che il programma è stato linkato con la versione libc5 delle librerie X11. In questo caso è necessario installare il pacchetto xlib6, dalla
sezione oldlibs.
Si possono ottenere messaggi d’errore simili che si riferiscono al file libXpm.so.4, in tal caso è
necessario installare la versione di libc5 della libreria XPM, dal pacchetto xpm4.7, anch’esso
nella sezione oldlibs.
3.10
Perché non posso compilare programmi che richiedono
libtermcap?
Debian usa il database terminfo e la libreria di interfaccia a terminale ncurses, piuttosto
del database termcap e della libreria termcap. Gli utenti che stanno compilando dei programmi che richiedono alcune conoscenze sulle interfacce dei terminali dovrebbero sostituire
i riferimenti a libtermcap con i riferimenti a libncurses.
Per supportare i file binari che sono già stati linkati con la libreria termcap e per i quali non si
ha il sorgente, Debian fornisce un pacchetto chiamato termcap-compat. Questo fornisce sia
la libtermcap.so.2 che /etc/termcap. Si installi questo pacchetto se il programma non
riesce ad avviarsi con il messaggio d’errore “can’t load library ’libtermcap.so.2”’, o reclama la
mancanza del file /etc/termcap file.
3.11
Perché non posso installare AccelX?
AccelX usa la libreria termcap per l’installazione. Si veda ‘Perché non posso compilare
programmi che richiedono libtermcap?’ in questa pagina sopra.
Capitolo 3. Questioni di compatibilità
14
3.12 Perché le mie vecchie applicazioni Motif per XFree 2.1 vanno in
crash?
È necessario installare il pacchetto motifnls, che fornisce i file di configurazione di XFree-2.1
necessari a permettere che le applicazioni Motif, compilate sotto XFree-2.1, possano funzionare
anche sotto XFree-3.1.
Senza questi file, alcune applicazioni Motif compilate su altre macchine (come Netscape) possono andare in crash nel tentativo di copiare o incollare da o a un campo di testo, e si possono
presentare anche altri problemi.
15
Capitolo 4
Software disponibile nel sistema
Debian
4.1 Quali tipi di applicazioni e software di sviluppo sono
disponibili per Debian GNU/Linux?
Come molte distribuzioni Linux, Debian GNU/Linux fornisce:
• le maggiori applicazioni GNU per lo sviluppo del software, manipolazione dei file ed
elaborazione testi, inclusi gcc, g++, make, texinfo, Emacs, la shell Bash e numerose utilità
Unix aggiornate,
• Perl, Python, Tcl/Tk e vari programmi correlati, moduli e librerie per ognuno di essi,
• TeX (LaTeX) e Lyx, dvips, Ghostscript,
• il Sistema X Window, che fornisce un’interfaccia grafica orientata alla rete per Linux ed
innumerevoli applicazioni per X incluso GNOME,
• una completa suite di applicazioni per la rete, inclusi server per protocolli Internet come
HTTP (WWW), FTP, NNTP (news), SMTP e POP (mail) e name server; fornisce anche
browser web e strumenti per lo sviluppo.
Sono inclusi nella distribuzione più di 15180 pacchetti che spaziano dai server e lettori per le
news al supporto per il suono, programmi per FAX, programmi per database e fogli di calcolo,
programmi per l’elaborazione delle immagini, comunicazioni, rete e utilità per la posta elettronica, server Web e persino programmi ham-radio. Altre 450 suite di software sono disponibili come pacchetti Debian, ma non fanno formalmente parte di Debian a causa di restrizioni
delle licenze.
Capitolo 4. Software disponibile nel sistema Debian
16
4.2 Chi ha scritto tutto questo software?
Per ogni pacchetto gli autori del programma (o dei programmi) sono menzionati nel file
/usr/doc/PACKAGE/copyright, dove PACKAGE è da sostituire con il nome del pacchetto.
I Manutentori che impacchettano questo software per il sistema Debian GNU/Linux sono elencati nel file di controllo Debian (si veda ‘Cos’è un file di controllo Debian?’ a pagina 27) che è
fornito con ogni pacchetto.
4.3
Come si può ottenere una lista aggiornata dei programmi che
sono stati impacchettati per Debian?
Una lista completa è disponibile in due parti:
la lista dei pacchetti che possono essere distribuiti ovunque da ognuno dei mirror Debian
(http://www.debian.org/distrib/ftplist), nel file indices/Maintainers.
Quel file contiene i nomi dei pacchetti e i nomi e le e-mail dei rispettivi manutentori.
la lista dei pacchetti che non possono essere esportati dagli Stati Uniti da ognuno dei mirror non-US Debian (http://www.debian.org/misc/README.non-US), nel file
indices-non-US/Maintainers. Quel file contiene i nomi dei pacchetti e i nomi e
le e-mail dei rispettivi manutentori.
L’interfaccia WWW ai pacchetti Debian (http://packages.debian.org/) riassume
convenientemente i pacchetti in ognuna delle circa venti “sezioni” dell’archivio Debian.
4.4
Cosa manca da Debian GNU/Linux?
Esiste una lista di pacchetti che sono ancora da impacchettare per Debian, la Work-Needing
and Prospective Packages list (http://www.debian.org/devel/wnpp/).
Per maggiori dettagli sull’aggiunta di cose mancanti, si veda ‘Come posso diventare uno
sviluppatore di software Debian?’ a pagina 63.
4.5
Perché ricevo il messaggio “ld: cannot find -lfoo” quando compilo i programmi? Perché non ci sono i file libfoo.so nei pacchetto
delle librerie Debian?
La Debian Policy richiede che un tale link simbolico (a libfoo.so.x.y.z o simile) sia posto in un
pacchetto di sviluppo separato. Questi pacchetti di solito sono chiamati libfoo-dev o libfooXdev (presumendo che il pacchetto libreria si chiami libfooX, e X sia un numero intero).
Capitolo 4. Software disponibile nel sistema Debian
17
4.6 Debian supporta Java? (E come?)
Poiché il Java Development kit ufficiale della Sun Microsystems è software non-libero, non può
essere incluso nella Debian vera e propria. Comunque, sia il JDK che diverse implementazioni
libere della tecnologia Java sono disponibili come pacchetti Debian. Si possono scrivere, fare
debug ed eseguire programmi Java usando Debian.
Il funzionamento di applet Java richiede un browser web con la capacità di riconoscerle ed
eseguirle. Diversi browser web disponibili in Debian, come Mozilla o Konqueror, supportano i
plug-in Java che abilitano l’esecuzione di applet Java. Netscape Navigator, sebbene non-libero,
è comunque disponibile come pacchetto Debian e può eseguire applet Java,
Si faccia riferimento alla Java FAQ Debian (http://www.debian.org/doc/manuals/
debian-java-faq/) per maggiori informazioni.
4.7
Come si può verificare che si sta usando un sistema Debian e che
versione è?
Per assicurarsi che il proprio sistema sia stato installato da una reale distribuzione di dischi di
base Debian si verifichi l’esistenza del file /etc/debian_version, che contiene una singola
riga che fornisce il numero di versione della release, come definito dal pacchetto base-files.
L’esistenza del programma dpkg mostra che si dovrebbe essere in grado di installare pacchetti
Debian sul proprio sistema, ma siccome il programma è stato portato su molti altri sistemi
operativi ed architetture, non è più un metodo fidato per determinare se è un sistema Debian
GNU/Linux.
Gli utenti dovrebbero comunque essere consci che il sistema Debian consiste di molte parti,
ognuna delle quali può essere aggiornata (quasi) indipendentemente. Ogni “release” Debian
è formata da un contenuto ben definito e invariato. Gli aggiornamenti sono disponibili separatamente. Per una descrizione su un’unica riga dello stato di installazione del pacchetto foo,
si usi il comando dpkg --list foo. Per vedere la versione di tutti i pacchetti installati, si
esegua:
dpkg -l
Per una descrizione più accurata, si usi:
dpkg --status foo
4.8
Come fa Debian a supportare lingue non-inglesi?
• Debian GNU/Linux è distribuita con keymap per almeno due dozzine di tastiere e con
utilità (nel pacchetto kbd) per installare, vedere e modificare le tabelle dei caratteri.
L’installazione chiederà all’utente di specificare la tastiera che userà.
Capitolo 4. Software disponibile nel sistema Debian
18
• Una vasta maggioranza del software impacchettato supporta interamente i caratteri nonUS-ASCII usati in altri linguaggi Latin (p.e. ISO-8859-1 o ISO-8859-2) ed un certo numero
di programmi supporta linguaggi multi-byte come il giapponese o il cinese.
• Correntemente è disponibile il supporto per le pagine di manuale nelle seguenti lingue:
tedesco, spagnolo, finlandese, francese, ungherese, italiano, giapponese, coreano e polacco attraverso i pacchetti manpages-LANG (dove LANG è il codice ISO a due lettere dello
stato). Per accedere alla pagina di un manuale NLS, l’utente deve impostare la variabile
LC_MESSAGES della shell alla stringa appropriata.
Per esempio, nel caso delle pagine di manuale in lingua italiana, LC_MESSAGES deve
essere impostato a ’italian’. Il programma man cercherà poi le pagine del manuale in
italiano sotto la directory /usr/share/man/it/.
4.9
A proposito delle regole statunitensi sulla limitazione dell’esportazione?
Le leggi statunitensi pongono delle restrizioni sull’esportazione di articoli per la difesa, inclusi alcuni tipi di software crittografici. PGP e ssh, assieme ad altri, appartengono a questa
categoria.
Per prevenire chiunque da rischi legali non necessari, alcuni pacchetti Debian GNU/Linux
sono disponibili solo da un sito non-US ftp://non-US.debian.org/debian-non-US/.
Ci sono numerosi siti mirror anche fuori dagli Stati Uniti, si veda ftp://non-US.debian.
org/debian-non-US/README.non-US per una lista completa.
4.10
Dov’è pine?
A causa della sua licenza restrittiva, è nell’area non-free. Inoltre, poiché la licenza non permette
nemmeno ai binari modificati di essere distribuiti, si deve compilarlo da soli dai sorgenti e dalle
patch Debian.
Il nome del pacchetto dei sorgenti è pine. Si può usare il pacchetto pine-tracker per essere
avvisati su quando sarà necessario aggiornare.
Si noti che ci sono molti sostituti sia per pine che per pico, come mutt e nano, che si trovano
nella sezione main.
19
Capitolo 5
Gli archivi FTP Debian
5.1 Cosa sono tutte quelle directory negli archivi FTP Debian?
Il software che è stato impacchettato per Debian GNU/Linux è disponibile in uno dei diversi
alberi di directory in ogni sito mirror Debian.
La directory dists è l’abbreviazione di “distribuzioni” (distributions) ed è il percorso
canonico per accedere alle release (e pre-release) Debian attualmente disponibili.
La directory pool contiene gli attuali pacchetti, si veda ‘Cosa c’è nella directory pool?’ a
pagina 24.
Ci sono queste directory aggiuntive:
/tools/: Utilità DOS per creare dischi di avvio, partizionare il proprio disco, comprimere/decomprimere file e avviare Linux.
/doc/: La documentazione di base di Debian, come la FAQ, le istruzioni del sistema di
segnalazione dei bachi, ecc.
/indices/: Il file dei Manutentori e i file override.
/project/: per la maggior parte materiale solo per gli sviluppatori, come:
project/experimental/: Questa directory contiene pacchetti e strumenti che sono ancora
in via di sviluppo e sono ancora allo stadio alpha di controllo. Gli utenti non dovrebbero usare i pacchetti provenienti da qui, perché possono essere pericolosi e dannosi
anche per le persone con più esperienza.
5.2
Quante distribuzioni Debian ci sono nella directory dists?
Normalmente ci sono tre distribuzioni, la distribuzione “stable” (stabile), la distribuzione “testing” (in test) e la distribuzione “unstable” (instabile). Qualche volta c’è anche la distribuzione
“frozen” (congelata, si veda ‘A proposito di “frozen”?’ a pagina 21).
Capitolo 5. Gli archivi FTP Debian
20
5.3 Cosa sono tutti quei nomi come slink, potato, ecc.?
Sono solo “nomi in codice”. Quando una distribuzione Debian è in fase di sviluppo non ha
un numero di versione ma un nome in codice. Lo scopo di questi nomi in codice è di rendere
più semplice la creazione di mirror delle distribuzioni Debian (se una directory reale come
unstable cambia improvvisamente il nome in stable, una certa quantità di software dovrà
necessariamente essere scaricata nuovamente).
Attualmente, stable è un link simbolico a woody (ovvero Debian GNU/Linux 3.1) e
testing è un link simbolico a sarge. Questo significa che woody è la distribuzione
attualmente stabile e che sarge è la distribuzione attualmente in testing.
unstable è un link simbolico permanente a sid, dato che sid è sempre la distribuzione
instabile (si veda ‘A proposito di “sid”?’ nella pagina successiva).
5.3.1
Quali altri nomi in codice sono stati usati in passato?
Altri nomi in codice che sono già stati usati sono: buzz per la release 1.1, rex per la release 1.2,
bo per la release 1.3.x, hamm per la release 2.0, slink per la release 2.1 e potato per la release
2.2.
5.3.2
Da dove derivano questi nomi in codice?
Finora sono stati presi dai nomi dei personaggi del film “Toy Story” della Pixar.
• buzz (Buzz Lightyear) era l’astronauta,
• rex era il tirannosauro,
• bo (Bo Peep) era la bambina che si prese cura della pecora,
• hamm era il salvadanaio a porcellino,
• slink (Slinky Dog (R)) era il cane giocattolo,
• potato era, ovviamente, Mr. Potato (R),
• woody era il cowboy.
• sarge era il sergente dell’Armata Verde,
• etch era la lavagna giocattolo (Etch-a-Sketch (R)).
• sid era il bambino vicino di casa che distruggeva i giocattoli.
<!- Q: Should we add the trademark info here? Maybe as a footnote Mr. Potato is a Registered Trademark of Playskool, Inc., Pawtucket, R.I., a division of Hasbro Inc. Slinky Dog is a
trademark of Poof Products of Plymouth, Mich., Etch-a-Sketch is a trademark of The Ohio Art
Company, other characters might also be registered trademarks. . . (jfs) –>
Capitolo 5. Gli archivi FTP Debian
21
5.4 A proposito di “frozen”?
Quando la distribuzione “testing” è matura abbastanza, il responsabile della release inizia a
’congelarla’. I normali ritardi di diffusione vengono aumentati per assicurare che il minor
numero di bachi possibile da “unstable” entri in “testing”.
Dopo un po’, la distribuzione “testing” diventa realmente ’frozen’ (congelata). Questo significa
che tutti i nuovi pacchetti da mettere in “testing” sono rimandati indietro, a meno che non
includano fissaggi per bachi release-critical. La distribuzione “testing” può anche rimanere in
uno stato di “congelamento profondo” durante i cosiddetti ’test cycles’ (cicli di test), quando il
rilascio è imminente.
Teniamo una registrazione dei bachi nella distribuzione “testing” che possono impedire ad un
pacchetto di essere rilasciato, o dei bachi che possono impedire il rilascio dell’intera release.
Una volta che il numero dei bachi è più basso del valore massimo accettabile, la distribuzione
“frozen” viene dichiarata “stable” e rilasciata con un numero di versione.
Con ogni nuova release, la precedente distribuzione “stable” diventa obsoleta e viene spostata in archivio. Per maggiori informazioni si veda l’archivio Debian (http://www.debian.
org/distrib/archive).
5.5
A proposito di “sid”?
sid o unstable è il posto in cui la maggior parte dei pacchetti viene inizialmente caricata. Non
sarà mai direttamente rilasciata, perché i pacchetti che stanno per essere rilasciati dovranno
prima essere inclusi in testing, per poter essere rilasciati in stable più tardi. sid contiene pacchetti
sia per architetture rilasciate che non.
Anche il nome “sid” proviene dal film d’animazione “Toy Story”: Sid era il bambino vicino di
casa che distruggeva i giocattoli :-)
5.5.1
Note storiche su “sid”
Quando l’attuale sid non esisteva, l’organizzazione del sito FTP aveva un problema principale: c’era l’assunto che quando un’architettura veniva creata nell’attuale unstable, sarebbe
stata rilasciata quando quella distribuzione diventava la nuova stable. Per molte architetture
questo non è il caso, con il risultato che quelle directory dovevano essere mosse al momento
del rilascio. Poco pratico, poiché lo spostamento avrebbe divorato grosse quantità di banda.
Gli amministratori dell’archivio hanno evitato questo problema per diversi anni collocando
i binari delle architetture non ancora rilasciate in una directory speciale chiamata “sid”. Per
quelle architetture non ancora rilasciate, al primo rilascio c’era un link da stable a sid e da
quel momento in poi essa veniva creata all’interno dell’albero unstable di norma. Tutto ciò era
motivo di confusione per gli utenti.
Capitolo 5. Gli archivi FTP Debian
22
Con l’avvento dei pacchetti pools (letteralmente “vasche” - si veda ‘Cosa c’è nella directory pool?’ a pagina 24), i pacchetti binari cominciarono ad essere immagazzinati in una locazione canonica nella “vasca”, indipendentemente dalla distribuzione, così il rilascio di una
distribuzione non determina più grande dispendio di banda sui mirror (c’è, ovviamente, un
notevole graduale consumo di banda durante la fase di sviluppo).
5.6
Cosa contiene la directory stable?
• stable/main/: Questa directory contiene i pacchetti che costituiscono formalmente la
release più recente del sistema Debian GNU/Linux.
Tutti questi pacchetti sono conformi alle Debian Free Software Guidelines (http:
//www.debian.org/social_contract#guidelines) (Linee Guida del Software
Libero Debian) e sono tutti liberamente utilizzabili e distribuibili.
• stable/non-free/: Questa directory contiene i pacchetti la cui distribuzione è ristretta in
un modo tale da richiedere ai distributori delle cautele dovute ai loro requisiti specifici
di copyright.
Per esempio, alcuni pacchetti hanno licenze che ne vietano la distribuzione commerciale.
Altri possono essere redistribuiti, ma sono di fatto shareware e non freeware. Le licenze
di ognuno di questi pacchetti devono essere studiate e possibilmente negoziate prima che
tali pacchetti possano essere inclusi in qualsiasi redistribuzione (p.e., in un CD-ROM).
• stable/contrib/: Questa directory contiene i pacchetti che sono DFSG-free e liberamente
distribuibili da soli, ma dipendono in qualche modo da un pacchetto che non è liberamente
distribuibile ed è quindi disponibile solo nella sezione non-free.
5.7 Cosa contiene la directory testing?
I pacchetti vengono inseriti nella directory ’testing’ dopo aver subito un periodo di test in unstable. Devono essere sincronizzati in tutte le architetture per le quali sono stati compilati e non
devono mostrare dipendenze tali da renderli non installabili; devono inoltre avere meno bachi
release-critical delle versioni sotto test al momento. In questo modo, si auspica che ’testing’ sia
sempre vicina ad essere candidata al rilascio.
Maggiori informazioni sullo stato del “testing” in generale e dei singoli pacchetti è disponibile
su http://www.debian.org/devel/testing
5.8 Cosa contiene la directory unstable?
La directory ’unstable’ contiene un’immagine del sistema correntemente in via di sviluppo.
Gli utenti sono i benvenuti ad usare e testare questi pacchetti, ma sono avvisati riguardo il
loro stato di preparazione. Il vantaggio di usare la distribuzione ’unstable’ è che si è sempre
Capitolo 5. Gli archivi FTP Debian
23
aggiornati con la più recente industria di software in GNU/Linux, ma se non funzionasse: vi
toccherà tenere entrambe le parti :-)
In ’unstable’ ci sono anche le sottodirectory main, contrib e non-free, separate con lo stesso
criterio adottato in ’stable’.
5.9 Cosa sono tutte quelle directory dentro a dists/stable/main?
All’interno
dei
maggiori
alberi
di
directory
(dists/stable/main,
dists/stable/contrib, dists/stable/non-free e dists/unstable/main/,
ecc.), i pacchetti binari risiedono in sottodirectory i cui nomi indicano l’architettura dei chip
per i quali sono stati compilati:
• binary-all/, per pacchetti che sono indipendenti dall’architettura. Questi includono, per
esempio, script Perl o pura documentazione.
• binary-i386/, per pacchetti che funzionano su macchine PC 80x86.
• binary-m68k/, per pacchetti che funzionano su macchine basate su uno dei processori
Motorola 680x0. Attualmente questo è fatto principalmente per computer Atari e Amiga
e per alcune schede industriali standard basate su VME.
• binary-sparc/, per pacchetti che funzionano su Sun SPARCStation.
• binary-alpha/, per pacchetti che funzionano su macchine DEC Alpha.
• binary-powerpc/, per pacchetti che funzionano su macchine PowerPC.
• binary-arm/, per pacchetti che funzionano su macchine ARM.
Si noti che gli attuali pacchetti binari per woody e release successive non risiedono più in queste
directory, ma nella directory pool al livello superiore. I file di indice (Packages e Packages.gz)
sono stati tenuti, comunque, per compatibilità con il passato.
Si veda ‘Su quali architetture e/o sistemi hardware funziona Debian GNU/Linux?’ a pagina 9
per maggiori informazioni.
5.10 Dov’è il codice sorgente?
Il codice sorgente è incluso per qualsiasi cosa nel sistema Debian. Inoltre, i termini di licenza della maggior parte dei programmi richiedono che il codice venga distribuito insieme ai
programmi o che un’offerta di fornitura del codice sorgente li accompagni.
Normalmente il codice sorgente viene distribuito nelle directory “source”, che sono in parallelo
a tutte le directory dei binari specifici per l’architettura o più recentemente nella directory pool
(si veda ‘Cosa c’è nella directory pool?’ nella pagina seguente). Per ottenere il codice sorgente
Capitolo 5. Gli archivi FTP Debian
24
senza la necessità di essere familiari con la struttura dell’archivio FTP Debian, si provi un
comando come apt-get source nomedelmiopacchetto.
Alcuni pacchetti sono distribuiti solo come codice sorgente a causa delle restrizioni nelle loro
licenze. In particolare, uno di questi pacchetti è pine, si veda ‘Dov’è pine?’ a pagina 18 per
maggiori informazioni.
Il codice sorgente potrebbe essere disponibile o non esserlo per i pacchetti nelle directory
“contrib” e “non-free”, che non sono formalmente parte del sistema Debian.
5.11
Cosa c’è nella directory pool?
Storicamente, i pacchetti erano tenuti nella sottodirectory di dists corrispondente alla distribuzione di cui facevano parte. Questo causava vari problemi, come un grosso consumo di
banda dei mirror ogni volta che venivano fatti dei cambiamenti di grossa portata.
Ora i pacchetti vengono tenuti in una grossa ’vasca’ (pool), strutturata in accordo con il nome
del pacchetto sorgente. Per rendere il tutto maneggevole, la vasca è suddivisa in sezioni
(’main’, ’contrib’ e ’non-free’) e secondo la prima lettera del nome del pacchetto sorgente.
Queste directory contengono diversi file: i binari per ciascuna architettura e i pacchetti sorgente
da cui sono stati generati i pacchetti binari.
Si può sapere dove ciascun pacchetto è situato eseguendo un comando come apt-cache
showsrc nomedelmiopacchetto e vedendo la riga ’Directory:’. Per esempio, i pacchetti
apache sono immagazzinati in pool/main/a/apache/. Poiché ci sono così tanti pacchetti
lib*, questi vengono trattati in maniera particolare: per esempio, i pacchetti libpaper sono
immagazzinati in pool/main/libp/libpaper/.
Le directory dists vengono ancora utilizzate per i file indice usati da programmi come apt.
Inoltre, al momento della scrittura di questo documento, le vecchie distribuzioni non sono state
convertite per usare le vasche, per cui si troveranno i percorsi contenenti distribuzioni come
potato o woody nel campo Filename dell’intestazione.
Normalmente, non ci sarà da preoccuparsi di tutto questo, dato che apt e probabilmente
dpkg-ftp (si veda ‘Come posso mantenere il mio sistema Debian recente?’ a pagina 42)
gestiranno la cosa senza problemi.
5.12
Cos’è “incoming”?
Dopo che uno sviluppatore carica un pacchetto, questo resta per un po’ nella directory
“incoming” prima che ne venga controllata la genuinità e che venga accettato nell’archivio.
Di solito nessuno dovrebbe installare cose da questo posto. Comunque, in alcuni rari casi
di emergenza, la directory incoming è disponibile su http://incoming.debian.org/. Si
possono scaricare i pacchetti manualmente, controllare la firma GPG e gli MD5sum nei file
.changes e .dsc, e poi installarli.
25
Capitolo 6
Fondamenti sul sistema di gestione dei
pacchetti Debian
6.1 Cos’è un pacchetto Debian?
I pacchetti generalmente contengono tutti quei file necessari a implementare una serie di
comandi o funzionalità. Ci sono due tipi di pacchetti Debian:
• Pacchetti binari, che contengono eseguibili, file di configurazione, pagine man/info, informazioni sul copyright ed altra documentazione. Questi pacchetti sono distribuiti in un
formato archivio specifico di Debian (si veda ‘Qual è il formato di un pacchetto binario
Debian?’ nella pagina successiva); sono solitamente caratterizzati dall’estensione ’.deb’.
I pacchetti binari possono essere spacchettati usando l’utilità Debian dpkg; i dettagli
vengono forniti nella sua pagina di manuale.
• Pacchetti sorgente, che consistono in un file .dsc che descrive il pacchetto sorgente (inclusi
i nomi dei file seguenti), un file .orig.tar.gz che contiene il sorgente originale non
modificato nel formato tar compresso con gzip e solitamente un file .diff.gz che contiene le modifiche specifiche di Debian fatte al sorgente originale. L’utilità dpkg-source
pacchetta e spacchetta gli archivi sorgente Debian; i dettagli vengono forniti nella sua
pagina di manuale.
L’installazione di software attraverso il sistema dei pacchetti usa “dipendenze” che vengono
progettate con cura dai manutentori dei pacchetti. Queste dipendenze sono documentate nel
file control associato ad ogni pacchetto. Per esempio, il pacchetto contenente il compilatore
C della GNU (gcc) “dipende” dal pacchetto binutils che include il linker e l’assemblatore.
Se un utente tentasse di installare gcc senza avere prima installato binutils, il sistema di
gestione dei pacchetti (dpkg) invierà un messaggio di errore avvertendo che necessita anche di
binutils, e fermerà l’installazione di gcc. (Comunque, questa funzione può essere superata
dall’utente tenace, si veda dpkg(8).) Si veda di più su ‘Cosa significa dire che un pacchetto
Dipende da, Raccomanda, Suggerisce, Va in conflitto con, Sostituisce o Fornisce un altro pacchetto?’
a pagina 30 sotto.
Capitolo 6. Fondamenti sul sistema di gestione dei pacchetti Debian
26
Gli strumenti Debian per la gestione dei pacchetti possono essere usati per:
• manipolare e gestire pacchetti o parti di pacchetti,
• aiutare l’utente nella divisione di pacchetti che devono essere trasmessi attraverso mezzi
di dimensioni limitate come i floppy disk,
• aiutare gli sviluppatori nella costruzione degli archivi dei pacchetti e
• aiutare gli utenti nell’installazione di pacchetti residenti su un sito FTP remoto.
6.2 Qual è il formato di un pacchetto binario Debian?
Un “pacchetto” Debian, od un file archivio Debian, contiene i file eseguibili, le librerie e la
documentazione associati ad un gruppo o suite di programmi correlati. Normalmente, un file
archivio Debian ha un nome che termina in .deb.
L’interno di questi pacchetti binari Debian è descritto nella pagina di manuale deb(5). Questo
formato interno è soggetto a modifiche (tra una release maggiore di Debian GNU/Linux),
quindi per favore si usi sempre dpkg-deb(8) per manipolare file .deb.
6.3
Perché i nomi dei pacchetti Debian sono così lunghi?
Il nome dei pacchetti binari Debian è conforme
<foo>_<NumeroVersione>-<NumeroRevisioneDebian>.deb
alla
seguente
convenzione:
Si noti che si suppone che foo sia il nome del pacchetto. Come verifica, si può conoscere
il nome del pacchetto associato ad un particolare archivio Debian (file.deb) in uno di questi
modi:
• esaminando il file “Packages” nella directory dove era stato archiviato su un archivio FTP
Debian. Questo file contiene una sezione che descrive ogni pacchetto; il primo campo in
ogni sezione è il nome formale del pacchetto.
• utilizzando il comando dpkg --info foo_VVV-RRR.deb (dove VVV e RRR sono
rispettivamente la versione e la revisione del pacchetto in questione). Questo mostra,
tra le altre cose, il nome del pacchetto corrispondente al file archivio spacchettato.
La componente VVV è il numero di versione specificato dallo sviluppatore. Non ci sono
standard qui, per cui il numero di versione può avere formati differenti come “19990513” e
“1.3.8pre1”.
La componente RRR è il numero di revisione Debian e viene specificata dallo sviluppatore
Debian (o un singolo utente se sceglie di costruirsi il pacchetto da sé). Questo numero corrisponde al livello di revisione del pacchetto Debian, quindi un nuovo livello di revisione significa solitamente modifiche nel Makefile Debian (debian/rules), nel file di controllo Debian
Capitolo 6. Fondamenti sul sistema di gestione dei pacchetti Debian
27
(debian/control), negli script di installazione o rimozione (debian/p*) oppure nei file di
configurazione utilizzati con il pacchetto.
6.4 Cos’è un file di controllo Debian?
Le specifiche riguardanti il contenuto di un file di controllo Debian sono fornite nel “Debian
Packaging manual”, capitolo 4, si veda ‘Quale altra documentazione esiste su e per un sistema
Debian?’ a pagina 57.
Brevemente, un esempio di file di controllo è mostrato di seguito per il pacchetto Debian hello:
Package: hello
Priority: optional
Section: devel
Installed-Size: 45
Maintainer: Adam Heath <[email protected]>
Architecture: i386
Version: 1.3-16
Depends: libc6 (>= 2.1)
Description: The classic greeting, and a good example
The GNU hello program produces a familiar, friendly greeting. It
allows nonprogrammers to use a classic computer science tool which
would otherwise be unavailable to them.
.
Seriously, though: this is an example of how to do a Debian package.
It is the Debian version of the GNU Project’s ‘hello world’ program
(which is itself an example for the GNU Project).
Il campo Package fornisce il nome del pacchetto. Questo è il nome attraverso il quale il pacchetto può essere manipolato con gli strumenti dei pacchetti ed è solitamente simile ma non
necessariamente lo stesso rispetto alla prima componente della stringa nel nome dell’archivio
Debian.
Il campo Version fornisce sia il numero della versione dello sviluppatore, che (nell’ultima componente) il livello di revisione del pacchetto Debian di questo programma, come spiegato in
‘Perché i nomi dei pacchetti Debian sono così lunghi?’ a fronte.
Il campo Architecture specifica il chip per il quale questo particolare binario è stato compilato.
Il campo Depends fornisce una lista di pacchetti che devono essere installati per poter installare
questo pacchetto con successo.
Installed-Size indica quanto spazio su disco occuperà il pacchetto installato. È progettato
per essere usato dai front-end di installazione per poter mostrare se c’è abbastanza spazio
disponibile su disco per installare il programma.
La riga Section fornisce la sezione dove questo pacchetto Debian è archiviato presso i siti FTP
Debian. Questo è il nome di una sottodirectory (all’interno di una delle directory principali, si
Capitolo 6. Fondamenti sul sistema di gestione dei pacchetti Debian
28
veda ‘Cosa sono tutte quelle directory negli archivi FTP Debian?’ a pagina 19) dove è archiviato
il pacchetto.
Priority indica quanto è importante questo pacchetto per l’installazione, così che i software
semi-intelligenti come dselect o apt possano ordinare il pacchetto dentro una categoria di pacchetti opzionali già installati per esempio. Si veda ‘Cosa sono i pacchetti Required, Important,
Standard, Optional, o Extra?’ a fronte.
Il campo Maintainer fornisce l’indirizzo e-mail della persona che è attualmente responsabile
per la manutenzione di questo pacchetto.
Il campo Description fornisce un breve riassunto delle funzionalità del pacchetto.
Per ulteriori informazioni riguardo tutti i campi possibili che può avere un pacchetto, si veda
il Debian Packaging Manual, sezione 4., “Control files and their fields”.
6.5
Cos’è un conffile Debian?
Conffiles è una lista di file di configurazione (solitamente situata in /etc) che il sistema di
gestione dei pacchetti non sovrascriverà quando il pacchetto viene aggiornato. Questo assicura
che i valori locali per il contenuto di questi file vengano conservati, ed è una caratteristica
critica che permette l’aggiornamento di pacchetti su un sistema in esecuzione.
Per determinare esattamente quali file sono conservati durante un aggiornamento, si esegua:
dpkg --status pacchetto
E si guardi sotto “Conffiles:”.
6.6
Cosa sono gli script preinst, postinst, prerm e postrm di Debian?
Questi file sono script eseguibili che vengono automaticamente eseguiti prima o dopo che un
pacchetto viene installato. Insieme ad un file chiamato control, tutti questi file sono parte
della sezione “control” di un file Debian.
I singoli file sono:
preinst Questo script viene eseguito prima che il pacchetto venga spacchettato dall’archivio
Debian (“.deb”). Molti script ’preinst’ interrompono i servizi per i pacchetti che devono
essere aggiornati fino a che la loro installazione o aggiornamento non sono completati (a
seguito dell’esecuzione con successo dello script ’postinst’).
postinst Questo script tipicamente completa ogni configurazione richiesta dal pacchetto foo
una volta che foo è stato spacchettato dal suo archivio Debian (“.deb”). Spesso gli script
’postinst’ richiedono all’utente degli input e/o lo avvertono che se accetta le impostazioni
Capitolo 6. Fondamenti sul sistema di gestione dei pacchetti Debian
29
predefinite deve ricordarsi di tornare indietro e riconfigurare il pacchetto se la situazione
lo richiede. Molti script ’postinst’ eseguono poi tutti i comandi necessari ad avviare o
riavviare un servizio una volta che il pacchetto è stato installato o aggiornato.
prerm Questo script tipicamente ferma tutti i demoni associati ad un pacchetto. Viene eseguito
prima della rimozione di file associati al pacchetto.
postrm Questo script tipicamente modifica i collegamenti (link) od altri file associati a foo,
e/o rimuove i file creati da quel pacchetto. (Si veda anche ‘Cos’è un pacchetto virtuale?’
nella pagina successiva.)
Attualmente tutti i file di controllo si possono trovare nella directory /var/lib/dpkg/info.
I file attinenti al pacchetto foo iniziano con il nome “foo” ed hanno le estensioni “preinst”,
“postinst”, ecc., a seconda della funzione. Il file foo.list nella stessa directory elenca tutti i
file installati con il pacchetto foo. (Si noti che la localizzazione di questi file è propria di dpkg;
non ci si dovrebbe fare affidamento.)
6.7
Cosa sono i pacchetti Required, Important, Standard, Optional, o
Extra?
Ad ogni pacchetto Debian viene assegnata una priorità dai manutentori della distribuzione,
come aiuto al sistema di gestione dei pacchetti. Le priorità sono:
• Required (Richiesto): pacchetti necessari al corretto funzionamento del sistema.
Comprende tutti gli strumenti necessari alla riparazione di difetti di sistema. Non si
rimuovano questi pacchetti o il proprio sistema potrebbe diventare completamente non
funzionante e probabilmente non si riuscirebbe nemmeno ad usare dpkg per rimettere le
cose a posto. I sistemi con solo i pacchetti Required sono probabilmente inutilizzabili, ma
hanno abbastanza funzionalità per permettere all’amministratore di sistema di avviare
ed installare altri programmi.
• Important (Importante): pacchetti che si dovrebbero trovare su di un qualsiasi sistema
simile a Unix (Unix-like).
Altri pacchetti necessari ad un corretto funzionamento del sistema, senza i quali non
sarebbe utilizzabile. Tra questi NON sono inclusi Emacs o X11 o TeX o qualsiasi altra
grossa applicazione. Questi pacchetti costituiscono solo l’infrastruttura di base.
• Standard: pacchetti comuni su qualsiasi sistema Linux, compreso un ragionevolmente
piccolo ma nemmeno troppo limitato sistema a caratteri.
Questo è quello che viene installato di base se l’utente non seleziona nient’altro. Non
include molte grosse applicazioni, ma include Emacs (che è più un pezzo di infrastruttura
che un’applicazione) ed un ragionevole sottogruppo di TeX e LaTeX (se risulta possibile
senza X).
Capitolo 6. Fondamenti sul sistema di gestione dei pacchetti Debian
30
• Optional (Opzionale): pacchetti che comprendono tutto quello che si può voler installare
senza nemmeno sapere cos’è, o se non si hanno delle necessità particolari.
Comprende X11, una distribuzione completa di TeX e molte applicazioni.
• Extra: pacchetti che o entrano in conflitto con altri di priorità più alta, probabilmente utili
se già si sa a cosa servono, oppure hanno requisiti speciali che li rendono non adatti come
“Optional”.
6.8 Cos’è un pacchetto virtuale?
Un pacchetto virtuale è un nome generico che si applica ad ognuno di un gruppo di pacchetti, che fornisce simili funzionalità di base. Per esempio, entrambi i programmi tin e trn
sono news reader, e dovrebbero quindi soddisfare qualsiasi dipendenza di un programma che
richiede un news reader su di un sistema per poter lavorare o essere utile. Si dice quindi che
entrambi forniscono il “pacchetto virtuale” chiamato news-reader.
Similmente, smail e sendmail forniscono entrambi la funzionalità di agente di trasporto
posta (mail transport agent). Si dice quindi che fornisco il pacchetto virtuale “mail transport
agent”. Se uno dei due è installato, allora ogni pacchetto che dipende dall’installazione di un
mail-transport-agent vedrà le proprie dipendenze soddisfatte dall’esistenza di questo
pacchetto virtuale.
Debian fornisce un meccanismo che, se più di un pacchetto che fornisce lo stesso pacchetto virtuale è installato su di un sistema, allora l’amministratore di sistema può impostarne uno come
pacchetto preferito. Il relativo comando è update-alternatives, ed è maggiormente descritto su ‘Ad alcuni utenti piace mawk, ad altri piace gawk; ad alcuni piace vim, ad altri piace
elvis; ad alcuni piace trn, ad altri piace tin; come supporta Debian le diversità?’ a pagina 55.
6.9
Cosa significa dire che un pacchetto Dipende da, Raccomanda,
Suggerisce, Va in conflitto con, Sostituisce o Fornisce un altro
pacchetto?
Il sistema dei pacchetti Debian ha una serie di “dipendenze” dei pacchetti che sono pensate per
indicare (con un singolo termine) il livello con cui un determinato Programma A può operare
indipendentemente dall’esistenza di un Programma B su un dato sistema:
• Il pacchetto A dipende dal Pacchetto B se B deve essere assolutamente installato per eseguire A. In alcuni casi, A dipende non solo da B, ma da una versione di B. In questo caso
la dipendenza dalla versione è solitamente un limite minore, nel senso che A dipende da
qualsiasi versione di B più recente di quella specificata.
• Il pacchetto A raccomanda il Pacchetto B se il manutentore del pacchetto giudica che la
maggior parte degli utenti non vorrebbe A senza le funzionalità fornite da B.
Capitolo 6. Fondamenti sul sistema di gestione dei pacchetti Debian
31
• Il pacchetto A suggerisce il Pacchetto B se B contiene file attinenti alle funzioni di A (e che
solitamente le migliorano).
• Il pacchetto A va in conflitto con il Pacchetto B quando A non è in grado di funzionare se
B è installato sul sistema. Molto spesso i conflitti si hanno quando A contiene dei file che
rappresentano dei miglioramenti di quelli in B. Spesso “va in conflitto” è combinato con
“sostituisce”.
• Il pacchetto A sostituisce il Pacchetto B quando i file installati da B vengono rimossi e (in
alcuni casi) sovrascritti dai file di A.
• Il pacchetto A fornisce il Pacchetto B quando tutti i file e le funzionalità di B sono incorporate in A. Questo meccanismo permette agli utenti con limitato spazio su disco rigido
di avere solo la parte del pacchetto A realmente necessaria.
Informazioni più dettagliate sull’utilizzo di ognuno di questi termini possono essere trovate
nel Packaging manual e nel Policy manual.
6.10
Cosa significa Pre-Depends?
“Pre-Depends” è una dipendenza speciale. Con la maggior parte dei pacchetti, dpkg spacchetterà il file di archivio (ovvero il suo file .deb) indipendentemente dal fatto che i file da cui
dipende siano o meno sul sistema. Semplificando, spacchettare vuol dire che dpkg estrarrà
i file da installare dall’archivio e li metterà al loro posto. Se quei pacchetti dipendono dall’esistenza di qualche altro pacchetto sul sistema, dpkg si rifiuterà di completare l’installazione
(eseguendo l’azione “configura”), finché gli altri pacchetti non saranno installati.
Tuttavia, per alcuni pacchetti, dpkg si rifiuterà persino di spacchettarli finché certe dipendenze
non vengono risolte. Tali pacchetti si dice che “Pre-dipendono” dalla presenza di altri pacchetti. Il progetto Debian forniva questo meccanismo per supportare un aggiornamento sicuro di
sistemi dal formato a.out al formato ELF, dove l’ordine in cui i pacchetti venivano spacchettati era critico. Esistono altre situazioni di aggiornamenti estesi in cui questo metodo è utile,
per esempio pacchetti con priorità richiesta e dipendenza da libC.
Come sopra, informazioni più dettagliate al riguardo possono essere reperite nel Packaging
manual.
6.11
Cosa significa sconosciuto, installa, rimuovi, elimina e mantieni
nello stato di un pacchetto?
Queste etichette “voglio” indicano il volere dell’utente riguardo ad un pacchetto (come indicato dalle azioni dell’utente nella sezione “Seleziona” di dselect o dal richiamo diretto
dell’utente di dpkg).
I loro significati sono:
Capitolo 6. Fondamenti sul sistema di gestione dei pacchetti Debian
32
• sconosciuto - l’utente non ha mai indicato se vuole il pacchetto
• installa - l’utente vuole il pacchetto installato od aggiornato
• rimuovi - l’utente vuole che il pacchetto sia rimosso, ma non i file di configurazione
esistenti.
• elimina - l’utente vuole il pacchetto completamente rimosso, compresi i file di
configurazione.
• mantieni - l’utente non vuole che il pacchetto sia processato, ovvero vuole mantenere la
versione attuale con lo stato corrente, qualunque essi siano.
6.12
Come mantengo un pacchetto?
Esistono due maniere per mantenere (hold) pacchetti, con dpkg o con dselect.
Con dpkg, si deve solo esportare la lista delle selezioni dei pacchetti con:
dpkg --get-selections \* > selections.txt
Poi modificare il file risultante selections.txt, modificare la riga contenente il pacchetto
che si desidera mantenere, p.e. libc6, da questo:
libc6
install
a questo:
libc6
hold
Salvare il file e ricaricarlo dentro il database di dpkg con:
dpkg --set-selections < selections.txt
Con dselect, si deve solo entrare nella schermata [S]eleziona ([S]elect, trovare il pacchetto che
si desidera mantenere al suo stato attuale e premere il tasto ’=’ (o ’H’). Le modifiche diverranno
attive immediatamente dopo che si è usciti dalla schermata [S]eleziona.
Capitolo 6. Fondamenti sul sistema di gestione dei pacchetti Debian
33
6.13 Come si installa un pacchetto sorgente?
I pacchetti sorgente Debian non possono realmente venire “installati”, vengono solo
spacchettati in qualsiasi directory si voglia per compilare i pacchetti binari che producono.
I pacchetti sorgente sono distribuiti sulla maggior parte dei mirror dove si possono ottenere i
pacchetti binari. Se si imposta il proprio sources.list(5) di APT per includere le righe
“deb-src” appropriate, si sarà in grado di scaricare facilmente qualsiasi pacchetto sorgente
eseguendo
apt-get source foo
Per aiutare nella reale compilazione del pacchetto sorgente, il pacchetto sorgente Debian fornisce il cosiddetto meccanismo di dipendenze di compilazione. Significa che il manutentore
del pacchetto sorgente conserva una lista di altri pacchetti che sono richiesti per compilare il
proprio pacchetto. Per vedere come questo sia utile, si esegua
apt-get build-dep foo
prima di compilare il sorgente.
6.14
Come si compilano pacchetti binari da un pacchetto sorgente?
Si avrà bisogno di tutti i file foo_*.dsc, foo_*.tar.gz e foo_*.diff.gz per compilare il sorgente
(nota: non c’è nessun .diff.gz per alcuni pacchetti nativi Debian).
Una volta che li si ha (‘Come si installa un pacchetto sorgente?’ in questa pagina), se si ha il
pacchetto dpkg-dev installato, il seguente comando:
dpkg-source -x foo_versione-revisione.dsc
estrarrà il pacchetto in una directory denominata foo-versione.
Se si vuole solo compilare il pacchetto, si può entrare nella directory foo-versione e lanciare
il comando
dpkg-buildpackage -rfakeroot -b
per compilare il pacchetto (si noti che questo richiede anche il pacchetto fakeroot), e poi
dpkg -i ../foo_versione-revisione_arch.deb
per installare il pacchetto appena compilato.
Capitolo 6. Fondamenti sul sistema di gestione dei pacchetti Debian
34
6.15 Come ci si crea pacchetti Debian da sé?
Per maggiori dettagli al riguardo si legga la New Maintainers’ Guide, disponibile nel pacchetto
maint-guide o su http://www.debian.org/doc/devel-manuals#maint-guide.
35
Capitolo 7
Gli strumenti di gestione dei pacchetti
Debian
7.1 Quali programmi fornisce Debian per gestire i suoi pacchetti?
7.1.1
dpkg
Questo è il principale programma di gestione dei pacchetti. dpkg può essere invocato con
molte opzioni. Alcuni usi comuni sono:
• Scoprire tutte le opzioni: dpkg --help.
• Stampare il file di controllo (ed altre informazioni) di un specifico pacchetto: dpkg
--info foo_VVV-RRR.deb
• Installare un pacchetto (incluso lo spacchettamento e la configurazione) nel file system
dell’hard disk: dpkg --install foo_VVV-RRR.deb.
• Spacchettare (ma non configurare) un archivio Debian sul file system dell’hard disk:
dpkg --unpack foo_VVV-RRR.deb. Si noti che questa operazione non lascia necessariamente il pacchetto in uno stato utilizzabile; alcuni file possono necessitare di ulteriori adattamenti per funzionare correttamente. Questo comando rimuove qualsiasi
versione già installata del programma ed esegue lo script preinst (si veda ‘Cosa sono gli
script preinst, postinst, prerm e postrm di Debian?’ a pagina 28) associato al pacchetto.
• Configurare un pacchetto che è già stato spacchettato: dpkg --configure foo. Tra le
altre cose, questa azione esegue lo script postinst (si veda ‘Cosa sono gli script preinst,
postinst, prerm e postrm di Debian?’ a pagina 28) associato al pacchetto. Aggiorna inoltre
i file elencati nel conffiles per il nome di questo pacchetto. Si faccia attenzione che
l’operazione ’configure’ prende come argomento il nome del pacchetto (p.e., foo), non il
nome dell’archivio Debian (p.e., foo_VVV-RRR.deb).
Capitolo 7. Gli strumenti di gestione dei pacchetti Debian
36
• Estrarre un unico file chiamato “blurf” (od un gruppo di file chiamati “blurf*”
da un archivio Debian: dpkg --fsys-tarfile foo_VVV-RRR.deb | tar -xf blurf*
• Rimuovere un pacchetto (ma non i suoi file di configurazione): dpkg --remove foo.
• Rimuovere un pacchetto (inclusi i suoi file di configurazione): dpkg --purge foo.
• Elencare lo stato d’installazione dei pacchetti contenenti la stringa (o l’espressione
regolare) “foo*”: dpkg --list ’foo*’.
7.1.2
dselect
Questo programma è un’interfaccia a menu al sistema di gestione dei pacchetti Debian. È
particolarmente utile per le prime installazioni ed aggiornamenti su larga scala.
dselect può:
• guidare l’utente sulla scelta dei pacchetti da installare o rimuovere, assicurare che nessun
pacchetto in conflitto con un altro venga installato e che tutti i pacchetti richiesti per far
funzionare correttamente ogni pacchetto vengano installati;
• avvisare l’utente a proposito di inconsistenze o incompatibilità nelle proprie selezioni;
• determinare l’ordine nel quale i pacchetti devono essere installati;
• effettuare automaticamente l’installazione o la rimozione e
• guidare l’utente attraverso qualsiasi processo di configurazione richiesto da ogni
pacchetto.
dselect parte presentando un menu di 7 voci, ognuna delle quali rappresenta una specifica
azione. L’utente può selezionare una delle azioni usando i tasti freccia per muovere la barra
evidenziata, poi premendo il tasto <invio> per selezionare l’azione evidenziata.
Cosa vede l’utente dopo dipende dall’azione che ha selezionato. Se ha selezionato qualsiasi
opzione tranne Metodo (Access) e Seleziona (Select), allora dselect procederà semplicemente nell’esecuzione dell’azione specificata: p.e., se l’utente ha selezionato l’azione Rimuovi
(Remove), allora dselect procederà nella rimozione di tutti i file selezionati per la rimozione
quando l’utente li ha scelti nell’azione Seleziona (Select).
Sia la voce di menu Metodo (Access) che la voce di menu Seleziona (Select) portano a menu
aggiuntivi. In entrambi i casi, i menu vengono presentati come schermate divise; la schermata superiore dà una lista scorribile di scelte, mentre la schermata inferiore dà una breve
spiegazione (“info”) per ogni scelta.
È disponibile un aiuto esteso in linea, si usi il tasto ’?’ per avere una schermata d’aiuto in
qualsiasi momento.
Capitolo 7. Gli strumenti di gestione dei pacchetti Debian
37
L’ordine nel quale le azioni sono presentate nel primo menu di dselect rappresenta l’ordine
nel quale un utente sceglierebbe normalmente dselect per installare pacchetti. Comunque,
un utente può selezionare qualsiasi voce del menu principale quanto spesso vuole (anche non
tutte, dipende da cosa si vuole fare).
• Si inizi scegliendo un Metodo d’Accesso. Questo è il modo in cui un utente stabilisce l’accesso ai pacchetti Debian; p.e., alcuni utenti hanno pacchetti Debian disponibili su CDROM, mentre altri stabiliscono di scaricarli usando FTP anonimo. Il “Metodo d’Accesso” selezionato viene memorizzato dopo che dselect esce, così, se non cambia, questa
opzione non necessita di essere invocata nuovamente.
• Si aggiorni poi con Aggiorna (Update) la lista dei pacchetti disponibili. Per fare questo,
dselect legge il file “Packages.gz” che dovrebbe essere incluso nel livello più alto della
directory dove sono archiviati i pacchetti Debian da installare. (Ma se non è là, dselect
si offrirà di crearlo.)
• Si selezionino con Seleziona (Select) i pacchetti da installare sul proprio sistema. Dopo
aver scelto questa voce di menu, all’utente viene prima presentata una schermata completa di aiuto (a meno che non sia stata usata l’opzione da riga di comando ’–expert’).
Una volta che l’utente esce dalla schermata di aiuto, vedrà il menu a schermata divisa
per scegliere i pacchetti da installare (o rimuovere).
La parte superiore della schermata è una finestra relativamente stretta sulla lista dei
15400 pacchetti Debian; la parte inferiore della schermata contiene una descrizione del
pacchetto o gruppo di pacchetti che è stato selezionato sopra.
Si può specificare su quali pacchetti si dovrebbe operare evidenziando un nome di un
pacchetto o di una etichetta per un gruppo di pacchetti. Dopo di questo, si possono
selezionare pacchetti:
da installare: Questo è effettuato premendo il tasto ’+’.
da eliminare: I pacchetti possono essere eliminati in due modi:
– rimossi: questo rimuove la maggior parte dei file associati al pacchetto, ma
preserva i file elencati come file di configurazione (si veda ‘Cos’è un conffile
Debian?’ a pagina 28) e le informazioni di configurazione del pacchetto. Questo
lo si fa premendo il tasto ’-’.
– eliminati: questo rimuove ogni file che è parte del pacchetto. Questo lo si fa
premendo il tasto ’_’.
Si noti che non è possibile rimuovere “Tutti i pacchetti” (“All Packages”). Se si
prova, il proprio sistema sarà invece ridotto ai pacchetti base dell’installazione
iniziale.
da mantenere (mettere “on hold”) Lo si effettua premendo ’=’ e dice effettivamente a
dselect di non aggiornare un pacchetto nemmeno se la versione correntemente
installata sul proprio sistema non è recente come la versione disponibile nel deposito
Debian che si sta usando (questo è stato specificato quando si è impostato il Metodo
d’Accesso e ottenuto quando si è usato Aggiorna).
Capitolo 7. Gli strumenti di gestione dei pacchetti Debian
38
Così come si può mantenere un pacchetto, si può invertire questa impostazione premendo ’:’. Questo dice a dselect che il pacchetto può essere aggiornato se una
versione più recente è disponibile. Questa è l’impostazione predefinita.
Si può selezionare un ordine differente per presentare i pacchetti usando il tasto ’o’ per
alternare varie opzioni di ordinamento dei pacchetti. L’ordine predefinito è di presentare
i pacchetti in base alla Priorità; dentro ogni priorità i pacchetti vengono presentati in ordine di directory (a.k.a. sezioni) dell’archivio nel quale sono memorizzati. Dato quest’ordine, alcuni pacchetti nella sezione A possono essere presentati per primi, seguiti da alcuni pacchetti nella sezione B, seguiti da più pacchetti (con priorità minore) nella sezione
A.
Si possono anche espandere le etichette in cima alla schermata, usando il tasto ’v’ (verbose). Questa azione spinge sulla destra molto del testo che precedentemente si adattava
nel display. Per vederlo si prema la freccia a destra; per scorrere alla sinistra si prema la
freccia a sinistra.
Se si seleziona un pacchetto per l’installazione o la rimozione, p.e. foo.deb, e quel pacchetto dipende da (o raccomanda) un altro pacchetto, p.e. blurf.deb, allora dselect
vi porterà in una sottoschermata della schermata di selezione principale. Là si potrà
scegliere tra pacchetti correlati, accettando le azioni suggerite (installare o no), o rifiutandole. Per fare quest’ultima azione, si prema Shift-D; per ritornare alla prima si prema
Shift-U. In ogni caso, si possono salvare le proprie selezioni e ritornare alla schermata
principale di selezione premendo Shift-Q.
• Gli utenti che ritornano al menu principale possono poi selezionare la voce di menu “Installa” (“Install”) per spacchettare e configurare i pacchetti selezionati. Alternativamente,
gli utenti che desiderano rimuovere file possono scegliere la voce di menu “Rimuovi”
(“Remove”). In ogni momento, gli utenti possono scegliere “Termina” (“Quit”) per uscire
da dselect; le selezioni sono preservate da dselect.
7.1.3
dpkg-deb
Questo programma manipola i file archivio Debian (.deb). Alcuni usi comuni sono:
• Scoprire tutte le opzioni: dpkg-deb --help.
• Determinare quali file sono contenuti in un file archivio Debian:
--contents foo_VVV-RRR.deb)
dpkg-deb
• Estrarre i file contenuti in un archivio Debian dentro una directory specificata dall’utente: dpkg-deb --extract foo_VVV-RRR.deb tmp estrae ognuno dei file dentro
foo_VVV-RRR.deb nella directory tmp/. Questo è comodo per esaminare il contenuto
di un pacchetto in una directory localizzata, senza installare il pacchetto nel file system
di root.
Si noti che ogni pacchetto che è stato semplicemente spacchettato usando dpkg-deb
--extract non sarà installato correttamente, si dovrebbe invece usare dpkg --install.
Capitolo 7. Gli strumenti di gestione dei pacchetti Debian
39
Maggiori informazioni sono fornite nella pagina di manuale dpkg-deb(1).
7.1.4
apt-get
apt-get fornisce una semplice maniera per installare pacchetti da riga di comando. Diversamente da dpkg, apt-get non comprende i file .deb, lavora con il nome del pacchetto e può
solo installare archivi .deb da una sorgente specificata in /etc/apt/sources.list.
Per maggiorni informazioni, si installi il pacchetto apt e si legga apt-get(8),
sources.list(5) e /usr/share/doc/apt/guide.html/index.html.
7.1.5
dpkg-split
Questo programma divide un grosso pacchetto in file più piccoli (p.e., per la scrittura su una
serie di floppy disk), e può anche essere usato per unire una serie di file divisi in un file singolo. Può venire usato solo su di un sistema Debian (cioè un sistema contenente il pacchetto
dpkg), perché chiama il programma dpkg-deb per analizzare il pacchetto debian nei suoi
componenti.
Per esempio, per dividere un grosso .deb in N parti,
• Si esegua il comando dpkg-split --split foo.deb. Questo produrrà N file
ognuno approssimativamente lungo 460 KByte nella directory corrente.
• Si copino gli N file su dei floppy disk.
• Si copi il contenuto dei floppy disk sull’hard disk di vostra scelta sull’altra macchina.
• Si uniscano le parti dei file insieme usando dpkg-split --join “foo*”.
7.2
Debian afferma di essere in grado di aggiornare un programma
in esecuzione; come viene effettuato?
Il kernel (file system) nei sistemi Debian GNU/Linux supporta la sostituzione dei file anche
quando sono in uso.
Forniamo anche un programma chiamato start-stop-daemon che viene usato per avviare i
demoni al boot o fermare i demoni quando il livello di esecuzione (runlevel) del kernel cambia
(p.e., da multiutente a monoutente o halt). Lo stesso programma viene usato dagli script di
installazione quando un nuovo pacchetto che contiene un demone viene installato, per fermare
i demoni in esecuzione e riavviarli se necessario.
Capitolo 7. Gli strumenti di gestione dei pacchetti Debian
40
7.3 Come posso sapere quali pacchetti sono già installati su un
sistema Debian?
Per conoscere lo stato di tutti i pacchetti installati su di un sistema Debian, si esegua il comando
dpkg --list
Questo stampa un sommario di una linea per ogni pacchetto, dando un simbolo di stato di due
lettere (spiegato nell’intestazione), il nome del pacchetto, la versione installata ed una breve
descrizione.
Per sapere lo stato dei pacchetti i cui nomi corrispondono alla stringa iniziante con “foo” si
esegua il comando:
dpkg --list ’foo*’
Per ottenere un rapporto più prolisso per un particolare pacchetto si esegua il comando:
dpkg --status nomepacchetto
7.4
Come posso scoprire quale pacchetto ha prodotto un particolare
file?
Per identificare il pacchetto che ha prodotto il file chiamato foo si esegua uno dei comandi:
• dpkg --search nomefile
Questo cerca nomefile nei pacchetti installati. (È (attualmente) equivalente a cercare
tutti i file aventi .list come estensione del file nella directory /var/lib/dpkg/info/
e sistemare l’output per stampare i nomi di tutti i pacchetti che lo contengono.)
• zgrep foo Contents-ARCH.gz
Questo cerca i file che contengono la sottostringa foo nel loro percorso completo. I file
Contents-ARCH.gz (dove ARCH rappresenta l’architettura desiderata) risiedono nelle
directory principali dei pacchetti (main, non-free, contrib) sui siti FTP Debian. Un file
Contents si riferisce solo ai pacchetti nell’albero delle sottodirectory dove egli risiede.
Quindi, un utente potrebbe dover cercare in più file Contents per trovare il pacchetto
contenente il file foo.
Questo metodo ha il vantaggio rispetto a dpkg --search di trovare i file nei pacchetti
che non sono attualmente installati sul proprio sistema.
41
Capitolo 8
Mantenere il proprio sistema Debian
aggiornato
Uno degli scopi di Debian è quello di fornire un consistente percorso di aggiornamento ed un
sicuro processo di aggiornamento. Facciamo sempre del nostro meglio per rendere semplice
l’aggiornamento a nuove release. Nel caso ci fossero alcune note importanti da aggiungere al
processo di aggiornamento, i pacchetti avviseranno l’utente e spesso forniranno una soluzione
ad un possibile problema.
Si dovrebbero inoltre leggere le Note di Rilascio (Release Notes), documento che descrive i
dettagli degli specifici aggiornamenti, reperibile su tutti i CD Debian e disponibile su http:
//www.debian.org/releases/stable/releasenotes.
8.1
Come posso aggiornare la mia distribuzione Debian 1.3.1 (o
precedente), basata sulla libc5, alla 2.0 (o successiva), basata sulla
libc6?
Ci sono diverse maniere per aggiornare:
• Usando un semplice script di shell chiamato autoup.sh che aggiorna i pacchetti più importanti. Dopo che autoup.sh ha svolto il suo lavoro, si può usare dselect per installare
i pacchetti rimanenti in massa. Questo probabilmente è il metodo raccomandato, ma non
l’unico.
Attualmente, l’ultima release di autoup.sh può essere trovata sui seguenti siti:
– http://www.debian.org/releases/2.0/autoup/
– http://www.taz.net.au/autoup/
– http://debian.vicnet.net.au/autoup/
Capitolo 8. Mantenere il proprio sistema Debian aggiornato
42
• Seguendo attentamente il Debian libc5 to libc6 Mini-HOWTO (http://debian.
vicnet.net.au/autoup/HOWTO/libc5-libc6-Mini-HOWTO.html) ed aggiornando i più importanti pacchetti a mano. autoup.sh è basato su questo Mini-HOWTO,
quindi questo metodo dovrebbe funzionare più o meno come utilizzando autoup.sh.
• Usando un apt basato su libc5. APT sta per A Package Tool e un giorno potrebbe sostituire dselect. Attualmente, funziona solo come un’interfaccia a riga di comando o come
un metodo di accesso di dselect. Si potrà trovare una versione per libc5 nella directory
dists/slink/main/upgrade-older-i386 negli archivi Debian.
• Usando solo dselect, senza aggiornare nessun pacchetto a mano prima. È altamente raccomandato di NON usare questo metodo se lo si può evitare, perché dselect da solo
attualmente non installa i pacchetti in un ordine ottimale. APT funziona meglio ed è più
sicuro.
8.2 Come posso mantenere il mio sistema Debian recente?
Si può eseguire semplicemente un ftp anonimo ad un archivio Debian, poi esplorare le directory fino a quando si trova il file desiderato, poi lo si scarica e finalmente lo si installa usando
dpkg. Si noti che dpkg installerà i file aggiornati al volo, anche su un sistema in esecuzione.
Qualche volta, un pacchetto revisionato richiederà l’installazione di una rinnovata versione di
un altro pacchetto, in questo caso l’installazione fallirà fino a quando l’altro pacchetto non sarà
installato.
Molta gente trova questo approccio troppo uno spreco di tempo, dato che Debian si evolve
molto rapidamente – tipicamente, sono caricati ogni settimana una dozzina o più nuovi pacchetti. Questo numero è più grande appena prima una nuova major release. Dovendosi
occupare di questa valanga, molta gente preferisce usare un metodo più automatico. Sono
disponibili diversi pacchetti a questo scopo:
8.2.1
APT
APT è un’interfaccia avanzata al sistema di pacchettamento Debian. apt-get è lo strumento da
riga di comando per gestire pacchetti, e il metodo APT dselect è un’interfaccia ad APT attraverso dselect. Entrambi forniscono una via più semplice, sicura per installare ed aggiornare
pacchetti.
Come caratteristiche di APT l’ordine di installazione, la possibilità di sorgenti multiple e diverse altre funzionalità uniche, si veda l’User’s Guide su
/usr/share/doc/apt/guide.html/index.html.
Si installi il pacchetto apt e si modifichi il file /etc/apt/sources.list per configurarlo.
Se si desidera aggiornare all’ultima versione stabile di Debian, si vorrà probabilmente usare
una sorgente come questa:
http://http.us.debian.org/debian stable main contrib non-free
Capitolo 8. Mantenere il proprio sistema Debian aggiornato
43
Si può sostituire http.us.debian.org con il nome del mirror Debian più veloce vicino a voi. Si veda la lista dei mirror su http://www.debian.org/misc/README.mirrors per maggiori
informazioni.
Dettagli su questo possono essere trovati nelle pagine di manuale apt-get(8)
e sources.list(8),
così come nella suddetta APT User’s Guide,
su
/usr/share/doc/apt/guide.html/index.html.
Poi si esegua
apt-get update
seguito da
apt-get dist-upgrade
Si risponda a qualsiasi domanda possa comparire, e il proprio sistema sarà aggiornato.
Per usare APT con dselect, si scelga il metodo di accesso di APT sulla schermata di selezione
del metodo di dselect (opzione 0) e si specifichino poi i sorgenti che dovrebbero venire utilizzati. Il file di configurazione è /etc/apt/sources.list e il suo formato è descritto nella
pagina di manuale sources.list(5).
Se si vogliono usare dei CD per installare pacchetti, si può usare apt-cdrom. Per dettagli, si
vedano le Note di Rilascio (Release Notes), sezione “Setting up for an upgrade from a local
mirror”.
Si noti che quando si ottengono e si installano i pacchetti, li si ha ancora nella gerarchia di
directory in /var. Per preservare la propria partizione dall’overflow, ci si ricordi di eliminare
i file in più usando apt-get clean e apt-get autoclean, o di spostarli in qualche altro
posto (consiglio: si usi apt-move).
8.2.2
dpkg-ftp
Questo è un metodo di accesso più vecchio per dselect. Può essere richiamato dall’interno
di dselect, permettendo quindi ad un utente di scaricare file ed installarli in un unico passo.
Per fare ciò, si selezioni il metodo di accesso ftp in dselect (opzione 0) e si specifichi il
nome dell’host remoto e la directory. dpkg-ftp scaricherà poi automaticamente i file che
sono selezionati (in questa sessione di dselect oppure in una precedente).
Si noti che, a differenza del programma mirror, dpkg-ftp non preleva tutto da un sito mirror. Piuttosto, scarica solo quei file selezionati (al primo avvio di dpkg-ftp) e che necessitano
di essere aggiornati.
dpkg-ftp è un qualcosa di obsoleto. Si dovrebbe invece utilizzare il metodo di accesso APT
con URL ftp:// in sources.list.
Capitolo 8. Mantenere il proprio sistema Debian aggiornato
8.2.3
44
mirror
Questo script in Perl, e il suo (opzionale) programma di gestione chiamato mirror-master,
può essere usato per prelevare parti di alberi di directory specificate dall’utente da uno
specifico host via FTP anonimo.
mirror è particolarmente utile per scaricare grandi quantità di software. Dopo che i file sono
stati scaricati da un sito per la prima volta, un file chiamato .mirrorinfo viene memorizzato nell’host locale. Cambiamenti al file system remoto sono tracciati automaticamente da
mirror, che paragona questo file ad un file simile sul sistema remoto e scarica solo i file
cambiati.
Il programma mirror è generalmente utile per aggiornare copie locali o remote di alberi di
directory. I file prelevati non hanno bisogno di essere file Debian. (Dato che mirror è uno
script in Perl, può anche funzionare su sistemi non Unix.) Sebbene il programma mirror fornisca meccanismi per escludere nomi di file che corrispondono a stringhe definite dall’utente,
questo programma è più utile quando l’obiettivo è scaricare interi alberi di directory, piuttosto
che pacchetti selezionati.
8.2.4
dpkg-mountable
dpkg-mountable aggiunge un metodo di accesso chiamato ’mountable’ alla lista di dselect,
che permetterà di installare da ogni file system specificato in /etc/fstab. Per esempio, l’archivio potrebbe essere una normale partizione di un hard disk o un server NFS, che monterà e
smonterà automaticamente se necessario.
Possiede anche alcune caratteristiche aggiuntive non reperibili nei metodi standard di dselect,
come una riserva per un albero locale di file (sia parallelo alla distribuzione principale che
totalmente separato), e l’ottenimento di soli pacchetti richiesti, piuttosto che una scansione
ricorsiva delle directory dispendiosa in termini di tempo, così come l’accesso di tutte le azioni
di dpkg nel metodo di installazione.
8.3 Devo entrare in modalità singolo-utente per aggiornare un
pacchetto?
No. I pacchetti possono essere aggiornati al volo, anche su sistemi in esecuzione. Debian ha
un programma start-stop-daemon che è invocato per fermare e poi riavviare processi in
esecuzione se necessario durante l’aggiornamento di un pacchetto.
8.4 Devo tenere tutti questi file di archivio .deb sul mio disco?
No. Se ci si è scaricati i file nel proprio disco (il che non è assolutamente necessario, si veda
sopra per la descrizione di dpkg-ftp), dopo che si sono installati questi pacchetti, li si può
rimuovere dal proprio sistema.
Capitolo 8. Mantenere il proprio sistema Debian aggiornato
45
8.5 Come posso tenere un log dei pacchetti che ho aggiunto al
sistema?
dpkg tiene una traccia dei pacchetti che sono stati spacchettati, configurati, rimossi e/o eliminati, ma (attualmente) non tiene un log delle operazioni del terminale che viene usato quando
un pacchetto viene così manipolato.
La maniera più semplice per superare questo è eseguire il proprio
dpkg/dselect/apt-get/qualsiasi sessione all’interno del programma script(1).
Capitolo 8. Mantenere il proprio sistema Debian aggiornato
46
47
Capitolo 9
Debian e il kernel
9.1 Posso installare e compilare un kernel senza alcun adattamento
specifico per Debian?
Sì.
C’è solo una trappola: le librerie C di Debian sono compilate con la più recente release stabile
degli header del kernel. Se capita di aver bisogno di compilare un programma con gli header
del kernel più nuovi rispetto a quelli nella serie stabile allora si dovrebbe aggiornare il pacchetto contenente gli header (libc6-dev) oppure usare i nuovi header da un albero di directory
del kernel più recente. Così, se i sorgenti del kernel sono in /usr/src/linux, si dovrebbe
aggiungere -I/usr/src/linux/include/ alla propria riga di comando quando si compila.
9.2 Quali strumenti fornisce Debian per costruire kernel personalizzati?
Gli utenti che desiderano (o devono) costruirsi un kernel personalizzato sono incoraggiati a
scaricare il pacchetto kernel-package. Questo pacchetto contiene lo script per costruire
il pacchetto kernel e fornisce la possibilità di creare un pacchetto Debian kernel-image solo
eseguendo il comando
make-kpkg kernel_image
nel livello più alto della directory dei sorgenti del kernel. L’aiuto è disponibile eseguendo il
comando
make-kpkg --help
e attraverso la pagina di manuale make-kpkg(8).
Capitolo 9. Debian e il kernel
48
Gli utenti devono scaricare separatamente il codice sorgente per il kernel più recente (o il kernel
di propria scelta) dall’archivio del proprio sito Linux preferito, a meno che un pacchetto kernelsource-version sia disponibile (dove “version” rappresenta la versione del kernel).
Istruzioni dettagliate sull’uso del pacchetto kernel-package sono fornite nel file
/usr/doc/kernel-package/README.gz. In breve, si dovrebbe:
• Spacchettare i sorgenti del kernel e cd alla nuova directory creata.
• Modificare la configurazione del kernel usando uno di questi comandi:
– make config (per un’interfaccia tty una-riga-alla-volta).
– make menuconfig (per un’interfaccia a menu basata su ncurses). Si noti che se si
usa questa opzione, il pacchetto libncurses5-dev deve essere installato.
– make xconfig (per un’interfaccia X11). Usare questa opzione richiede che
pacchetti rilevanti di X e Tcl/Tk siano installati.
Ognuno dei passi sopra genera un nuovo .config nel livello più alto della directory dei
sorgenti del kernel.
• Eseguire il comando: make-kpkg -rev Custom.N kernel_image, dove N è un numero di revisione assegnato dall’utente. Il nuovo archivio Debian così formato dovrebbe
avere revisione Custom.1, p.e., kernel-image-2.2.14_Custom.1_i386.deb per il
kernel Linux 2.2.14.
• Installare il pacchetto creato.
– Si esegua dpkg --install /usr/src/kernel-image-VVV_Custom.N.deb
per installare il kernel. Lo script di installazione:
* eseguirà il boot loader, LILO (se è installato),
* installerà il kernel personalizzato in /boot/vmlinuz_VVV-Custom.N e
imposterà gli appropriati link simbolici alla versione del kernel più recente.
* chiederà all’utente di fare un floppy di avvio. Questo floppy conterrà solo il kernel. Si veda ‘Come posso creare un floppy di avvio personalizzato?’ in questa
pagina.
– Per servirsi di boot loader secondari come grub o loadlin, si copi questa
immagine in altri posti (p.e., in /boot/grub o su una partizione MS-DOS).
9.3
Come posso creare un floppy di avvio personalizzato?
Questo compito è molto semplificato dal pacchetto Debian boot-floppies, che si trova normalmente nella sezione admin dell’archivio FTP Debian. Gli script di shell in questo pacchetto
producono floppy di boot nel formato SYSLINUX. Questi sono floppy formattati MS-DOS i cui
master boot record sono stati alterati così che possano avviare direttamente Linux (o qualsiasi
Capitolo 9. Debian e il kernel
49
altro sistema operativo sia stato definito nel file syslinux.cfg sul floppy). Altri script in questo
pacchetto producono dischi di root di emergenza e possono anche riprodurre i dischi base.
Si troveranno maggiori informazioni su questo nel file /usr/doc/boot-floppies/README
dopo aver installato il pacchetto boot-floppies.
9.4 Quali strumenti speciali fornisce Debian per lavorare con i
moduli?
Il pacchetto modconf di Debian fornisce uno script di shell (/usr/sbin/modconf) che può
essere usato per personalizzare la configurazione dei moduli. Questo script presenta un’interfaccia basata su menu che chiede all’utente particolari sui dispositivi driver caricabili nel suo
sistema. Le risposte sono usate per personalizzare il file /etc/modules.conf (che elenca gli
alias ed altri argomenti che devono essere usati in congiunzione con i vari moduli) attraverso
i file in /etc/modutils/ e /etc/modules (che elenca i moduli che devono essere caricati
all’avvio).
Come i (nuovi) file Configure.help sono ora disponibili per supportare la costruzione
di kernel personalizzati, il pacchetto modconf nasce con una serie di file di aiuto
(in /usr/lib/modules_help/) che forniscono informazioni dettagliate sugli argomenti
appropriati per ognuno dei moduli.
9.5 Posso disinstallare con sicurezza un vecchio pacchetto kernel e,
se sì, come?
Sì. Lo script kernel-image-NNN.prerm verifica se il kernel che si sta correntemente usando
è lo stesso kernel che si sta tentando di disinstallare. Quindi si può rimuovere il pacchetto
dell’immagine del kernel che non si vuole usando questo comando:
dpkg --purge --force-remove-essential kernel-image-NNN
(si sostituisca “NNN” con la propria versione e numero di revisione del kernel, ovviamente)
Capitolo 9. Debian e il kernel
50
51
Capitolo 10
Personalizzare la propria installazione
di Debian GNU/Linux
10.1 Come posso assicurarmi che tutti i programmi usino lo stesso
formato carta?
Si installi il pacchetto libpaperg che chiederà un formato carta predefinito esteso a tutto il
sistema. Questa impostazione sarà mantenuta nel file /etc/papersize.
Gli utenti possono sovrascrivere l’impostazione del formato carta usando la variabile
d’ambiente PAPERSIZE. Per dettagli, si veda la pagina di manuale papersize(5).
10.2 Come posso fornire accesso alle periferiche hardware senza
compromettere la sicurezza?
Molti file di device nella directory /dev appartengono ad alcuni gruppi predefiniti. Per
esempio, /dev/fd0 appartiene al gruppo floppy e /dev/dsp appartiene al gruppo audio.
Se si vuole che un certo utente abbia accesso ad uno di questi device, si aggiunga l’utente al
gruppo a cui appartiene il device, cioè si faccia:
adduser utente gruppo
In questo modo non si dovranno cambiare i permessi dei file sul device.
10.3
Come carico un font di console all’avvio nel modo Debian?
I pacchetti kbd e console-tools lo supportano, si modifichi il file /etc/kbd/config o
/etc/console-tools/config.
Capitolo 10. Personalizzare la propria installazione di Debian GNU/Linux
52
10.4 Come posso configurare i default di un’applicazione del
programma X11?
I programmi X di Debian installeranno le loro risorse per le applicazioni nella directory
/etc/X11/app-defaults/. Se si vogliono personalizzare globalmente le applicazioni X,
si mettano le proprie personalizzazioni in questi file. Sono marcati come file di configurazione,
quindi il loro contenuto sarà preservato durante gli aggiornamenti.
10.5 Ogni distribuzione sembra avere un metodo di avvio differente.
Parlatemi di quello di Debian.
Come tutti gli Unix, Debian si avvia eseguendo il programma init. Il file di configurazione
per init (che è /etc/inittab) specifica che il primo script da eseguire dovrebbe essere
/etc/init.d/rcS. Questo script esegue tutti gli script in /etc/rcS.d/ usando il comando
source o generando un sottoprocesso, a seconda della loro estensione, per effettuare un’inizializzazione come verificare e montare i file system, caricare moduli, avviare i servizi di rete,
impostare l’orologio ed effettuare altre inizializzazioni. Poi, per compatibilità, esegue anche i
file (eccetto quelli con un ’.’ nel nome del file) dentro /etc/rc.boot/. Ogni script in quest’ultima directory è solitamente riservato all’uso da parte degli amministratori di sistema e usarli
nei pacchetti è deprecabile.
Dopo aver completato il processo di avvio, init esegue tutti gli script di avvio dentro una
directory specificata dal livello di esecuzione (runlevel) predefinito (questo runlevel è dato
dalla voce id in /etc/inittab). Come la maggior parte degli Unix compatibili con il System
V, Linux ha 7 runlevel:
• 0 (ferma il sistema),
• 1 (modalità singolo-utente),
• 2 fino a 5 (varie modalità multi-utente) e
• 6 (riavvia il sistema).
I sistemi Debian funzionano con id=2, che indica che il runlevel predefinito sarà ’2’ quando si
entra nello stato di multi-utente, e che gli script in /etc/rc2.d/ verranno eseguiti.
Infatti, gli script in ognuna delle directory, /etc/rcN.d/ sono solo link simbolici agli script
in /etc/init.d/. Comunque, i nomi dei file in ognuna delle directory /etc/rcN.d/ sono
selezionati per indicare il modo in cui gli script in /etc/init.d/ verranno eseguiti. Specificatamente, prima di entrare in ogni runlevel, tutti gli script che iniziano con ’K’ sono eseguiti;
questi script uccidono i servizi. Poi vengono eseguiti tutti gli script che iniziano con ’S’; questi
script avviano i servizi. Il numero a due cifre che segue la ’K’ o la ’S’ indica l’ordine in cui lo
script sarà eseguito. Gli script con un numero minore sono eseguiti prima.
Capitolo 10. Personalizzare la propria installazione di Debian GNU/Linux
53
Questo approccio funziona perché tutti gli script dentro a /etc/init.d/ accettano un argomento che può essere ’start, ’stop’, ’reload’, ’restart’ o ’force-reload’ e svolgeranno poi il compito indicato dall’argomento. Questi script possono essere usati anche dopo che un sistema è
stato avviato, per controllare vari processi.
Per esempio, con l’argomento ’reload’ il comando
/etc/init.d/sendmail reload
invia al demone sendmail un segnale di rileggere il suo file di configurazione.
10.6
Sembra che Debian non usi rc.local per personalizzare il
processo di avvio; che facilitazioni vengono fornite?
Si supponga che un sistema necessiti di eseguire lo script foo all’avvio o all’ingresso di un
particolare runlevel (System V). Allora l’amministratore di sistema dovrebbe:
• Mettere lo script foo nella directory /etc/init.d/.
• Eseguire il comando Debian update-rc.d con gli argomenti appropriati, per impostare
i link tra le directory (specificate da riga di comando) rc?.d e /etc/init.d/foo. Qui,
’?’ è un numero da 0 a 6 e corrisponde ad ognuno dei runlevel System V.
• Riavviare il sistema.
Il comando update-rc.d imposterà i link tra i file nelle directory rc?.d e lo script in
/etc/init.d/. Ogni link inizierà con una ’S’ o una ’K’, seguita da un numero, seguito dal
nome dello script. Gli script in /etc/rcN.d/ che iniziano con ’S’ vengono eseguiti quando si
entra nel runlevel N. Gli script che iniziano con ’K’ sono eseguiti quando si lascia il runlevel N.
Si può, per esempio, fare in modo che lo script foo venga eseguito all’avvio, mettendolo in
/etc/init.d/ ed installando i link con update-rc.d foo defaults 19. L’argomento
’defaults’ fa riferimento ai runlevel predefiniti, che sono dal 2 al 5. L’argomento ’19’ assicura
che foo sia chiamato prima di qualunque script contenente il numero 20 o superiore.
10.7 Come si occupa il sistema di manutenzione dei pacchetti
dei pacchetti che contengono file di configurazione per altri
pacchetti?
Alcuni utenti desiderano creare, per esempio, un nuovo server installando un gruppo di pacchetti Debian ed un pacchetto generato localmente che consiste di file di configurazione. Questa non è generalmente una buona idea, perché dpkg non conoscerà quei file di configurazione
Capitolo 10. Personalizzare la propria installazione di Debian GNU/Linux
54
se sono in un pacchetto differente, e può scrivere configurazioni in conflitto quando uno dei
paccheti del “gruppo” iniziale viene aggiornato.
Piuttosto, si crei un pacchetto locale che modifichi i file di configurazione del “gruppo” di
pacchetti Debian che interessano. Poi dpkg e il resto del sistema di gestione pacchetti vedrà
che i file sono stati modificati dal “sysadmin” locale e non cercherà di sovrascriverli quando
quei pacchetti verranno aggiornati.
10.8 Come sovrascrivo un file installato da un pacchetto in modo che
ne venga usata una versione differente?
Si supponga che l’amministratore o un utente locale desideri usare un programma “loginlocal” piuttosto del programma “login” fornito dal pacchetto login di Debian.
Non:
• Si sovrascriva /bin/login con login-local.
Il sistema di manutenzione pacchetti non saprà di questo cambiamento e semplicemente
sovrascriverà il proprio /bin/login personale ogni volta che login (o qualsiasi altro
pacchetto che fornisce /bin/login) verrà installato o aggiornato.
Invece,
• Si esegua:
dpkg-divert --divert /bin/login.debian /bin/login
in modo che tutte le future installazioni del pacchetto login di Debian scrivano, al posto
del file /bin/login, /bin/login.debian.
• Poi si esegua:
cp login-local /bin/login
per muovere il proprio programma al suo posto.
I dettagli sono forniti nella pagina di manuale dpkg-divert(8).
Capitolo 10. Personalizzare la propria installazione di Debian GNU/Linux
55
10.9 Come posso avere il mio pacchetto generato localmente nella lista dei pacchetti disponibili che il sistema di gestione dei
pacchetti conosce?
Si esegua il comando:
dpkg-scanpackages BIN_DIR OVERRIDE_FILE [PATHPREFIX] > my_Packages
dove:
• BIN-DIR è la directory dove i file di archivio Debian (che solitamente hanno estensione
“.deb”) sono situati.
• OVERRIDE_FILE è il file che viene modificato dal manutentore della distribuzione ed è
solitamente situato su un archivio FTP Debian su indices/override.main.gz per i
pacchetti Debian nella distribuzione “main”. Può essere ignorato per pacchetti locali.
• PATHPREFIX è una stringa opzionale che può precedere il file my_Packages. [NdT:
precede il nome del pacchetto nel campo Filename del file my_Packages creato]
Una volta che si è creato il file my_Packages, lo si dica al sistema di manutenzione pacchetti
usando il comando:
dpkg --merge-avail my_Packages
Se si sta usando APT, si può anche aggiungere il deposito locale al proprio file
sources.list(5).
10.10 Ad alcuni utenti piace mawk, ad altri piace gawk; ad alcuni
piace vim, ad altri piace elvis; ad alcuni piace trn, ad altri piace
tin; come supporta Debian le diversità?
Ci sono diversi casi in cui due pacchetti forniscono due versioni differenti di un programma,
i quali forniscono entrambi le stesse funzionalità fondamentali. Gli utenti possono preferire
l’uno rispetto all’altro per abitudine o perché l’interfaccia utente di un pacchetto è in qualche
modo più piacevole di quella di un altro. Altri utenti sullo stesso sistema possono fare una
scelta differente.
Debian usa un sistema di pacchetti “virtuali” per permettere agli amministratori di sistema
di scegliere (o lasciare che gli utenti scelgano) i propri strumenti preferiti quando ce ne sono
due o più che forniscono la stessa funzionalità di base e che ancora soddisfano i requisiti delle
dipendenze senza specificare un particolare pacchetto.
Capitolo 10. Personalizzare la propria installazione di Debian GNU/Linux
56
Per esempio, potrebbero esistere due differenti versioni di lettori di news su un sistema. Il
pacchetto del server delle news potrebbe ’raccomandare’ che esistano alcuni lettori di news
sul sistema, ma la scelta di tin o trn è lasciata all’utente. Ciò è realizzato avendo entrambi
i pacchetti tin e trn che forniscono il pacchetto virtuale news-reader. Quale programma
viene richiamato è determinato da un link che punta dal file con il nome del pacchetto virtuale
/etc/alternatives/news-reader al file selezionato, p.e., /usr/bin/trn.
Un solo link è insufficiente per supportare pienamente l’uso di un programma alternativo;
normalmente, le pagine di manuale e possibilmente anche altri file di supporto devono essere
selezionati. Lo script Perl update-alternatives fornisce un mezzo per assicurarsi che tutti
i file associati con uno specifico pacchetto siano selezionati come un default di sistema.
Per esempio, per verificare quale eseguibile fornisce ’x-window-manager’, si esegua:
update-alternatives --display x-window-manager
Se lo si vuole cambiare, si esegua:
update-alternatives --config x-window-manager
E si seguano le istruzioni sullo schermo (sostanzialmente, si prema il numero vicino alla voce
che si preferisce).
Se, per alcune ragioni, un pacchetto non si registra da solo come un window manager (si riporti
il baco se c’è un errore) o se si usa un window manager dalla directory /usr/local, le selezioni
sullo schermo non conterranno la propria voce preferita. Si può aggiornare il link attraverso
opzioni da riga di comando, così:
update-alternatives --install /usr/bin/x-window-manager \
x-window-manager /usr/local/bin/wmaker-cvs 50
Il primo argomento dell’opzione ’–install’ è il link simbolico che punta a
/etc/alternatives/NAME, dove NAME è il secondo argomento. Il terzo argomento è il
programma al quale /etc/alternatives/NAME dovrebbe puntare e il quarto argomento è
la priorità (un grande valore significa che l’alternativa sarà ottenuta più probabilmente
automaticamente).
Per rimuovere un’alternativa che si è aggiunta si esegua semplicemente:
update-alternatives --remove x-window-manager /usr/local/bin/wmaker-cvs
57
Capitolo 11
Ottenere supporto per Debian
GNU/Linux
11.1 Quale altra documentazione esiste su e per un sistema Debian?
• Istruzioni per l’installazione per l’attuale release: si veda http://www.debian.org/
releases/stable/installmanual.
• Il “Packaging Manual” è la documentazione primaria sugli aspetti tecnici della creazione
di pacchetti binari e sorgenti Debian.
Lo si può trovare nel pacchetto packaging-manual o su ftp://ftp.debian.org/
debian/doc/package-developer/packaging.html.tar.gz.
• Il “Policy Manual” documenta i requisiti delle linee guida della distribuzione, ovvero
la struttura e il contenuto dell’archivio Debian, varie specifiche sulla progettazione del
sistema operativo, così come i requisiti tecnici che ogni pacchetto deve soddisfare per
essere incluso nella distribuzione.
Lo si prelevi dal pacchetto debian-policy o su http://www.debian.org/doc/
devel-manuals#policy.
• La documentazione sui pacchetti Debian installati: La maggior parte dei pacchetti ha dei
file che vengono estratti in /usr/doc/PACKAGE.
• La documentazione sul Linux project: Il pacchetto Debian doc-linux installa tutte le
più recenti versioni degli HOWTO e mini-HOWTO dal Linux Documentation Project
(http://www.tldp.org/).
• Le pagine di manuale in stile Unix: La maggior parte dei comandi ha le pagine di manuale scritte nello stile dei file ’man’ originali di Unix. Si riferiscono alle sezioni delle
directory ’man’ dove essi risiedono: p.e., foo(3) si riferisce alla pagina di manuale che
risiede in /usr/share/man3/ e può essere richiamata eseguendo il comando: man 3
foo o solo man foo se la sezione 3 è la prima contenente una pagina su foo.
Capitolo 11. Ottenere supporto per Debian GNU/Linux
58
Si può conoscere quale directory di /usr/share/man/ contiene una certa pagina di
manuale eseguendo man -w foo.
I nuovi utenti Debian dovrebbero notare che le pagine ’man’ di molti comandi generici
di sistema non sono disponibili finché non si installano questi pacchetti:
– man-db, che contiene il programma man ed altri programmi per manipolare le
pagine di manuale.
– manpages, che contiene le pagine di manuale di sistema. (si veda ‘Come fa Debian
a supportare lingue non-inglesi?’ a pagina 17).
• Le pagine ’info’ in stile GNU: La documentazione utente per molti comandi, in particolare per strumenti GNU, non è disponibile nelle pagine di manuale, ma nei file ’info’
che possono essere letti dallo strumento GNU info, eseguendo M-x info all’interno di
GNU Emacs o con qualche altro visualizzatore di pagine Info.
Il principale vantaggio rispetto alle originali pagine di manuale è che viene usato un
sistema ad ipertesto. Comunque, non richiede il WWW; info può essere eseguito da
una console testuale. È stato progettato da Richard Stallman ed ha preceduto il WWW.
Si noti che si può accedere a molta documentazione presente nel proprio sistema utilizzando un browser WWW, attraverso i comandi ’dwww’ o ’dhelp’, che si trovano nei rispettivi
pacchetti.
11.2
Ci sono risorse on-line dove discutere su Debian?
Sì. Infatti, il metodo principale con cui Debian fornisce supporto ai nostri utenti è via email.
11.2.1
Liste di messaggi (Mailing list)
Ci sono molte liste di messaggi relative a Debian (http://www.debian.org/
MailingLists/).
Su di un sistema con il pacchetto doc-debian installato c’è una lista completa di liste di
messaggi in /usr/share/doc/debian/mailing-lists.txt.
Le liste di messaggi Debian sono denominate seguendo il modello debian-argomento-lista. Esempi sono debian-announce, debian-user, debian-news. Per iscriversi a qualsiasi lista debianargomento-lista, si invii una mail a [email protected] con la parola
“subscribe” nell’intestazione Subject:. Ci si assicuri di ricordare di aggiungere -request all’indirizzo email quando si utilizza questo metodo per iscriversi o disiscriversi. Altrimenti la vostra email andrà alla lista stessa, il che potrebbe essere imbarazzante o fastidioso, dipende dal
proprio punto di vista.
Se si ha un browser World Wide Web che supporta le form, ci si può iscrivere alle
liste di messaggi utilizzando la form WWW (http://www.debian.org/MailingLists/
Capitolo 11. Ottenere supporto per Debian GNU/Linux
59
subscribe). Ci si può anche disiscrivere utilizzando una form WWW (http://www.
debian.org/MailingLists/unsubscribe).
L’indirizzo e-mail dell’amministratore della lista è <[email protected]>, nel
caso si abbia qualsiasi problema.
Gli archivi delle liste di messaggi Debian sono disponibili via WWW su http://lists.
debian.org/.
Qual è il codice di condotta per le liste di messaggi?
Quando si usano le liste di messaggi Debian, per favore si seguano queste regole:
• Non inviare spam. Si veda il Regolamento Debian per la pubblicità sulle liste di messaggi
(http://www.debian.org/MailingLists/#ads).
• Evitare i flame; non è educato. Le persone che sviluppano Debian sono tutte volontarie,
che donano il proprio tempo, energia e denaro nel tentativo di portare avanti il progetto
Debian insieme.
• Non usare un linguaggio volgare; inoltre alcune persone ricevono le liste tramite
pacchetti radio, dove imprecare è illegale.
• Assicurarsi di utilizzare la lista corretta. Mai inviare la propria richiesta di (dis)iscrizione
alla lista di messaggi stessa. 1
• Si veda la sezione ‘Come segnalo un baco in Debian?’ nella pagina successiva per le note
sulla segnalazione di bachi.
11.2.2
Manutentori
Gli utenti possono rivolgere domande ai manutentori dei singoli pacchetti usando l’email. Per raggiungere un manutentore di un pacchetto chiamato xyz, si invii un’email a
[email protected].
11.2.3
Gruppi di discussione (newsgroup) Usenet
Gli utenti dovrebbero rivolgere domande non relative a Debian ad uno dei gruppi USENET,
che si chiamano comp.os.linux.* o linux.* [NdT: in italiano it.comp.os.linux.*]. Ci sono diverse
liste di gruppi di discussione Usenet Linux ed altre risorse correlate sul WWW, p.e. sui siti di
Linux Online (http://www.linux.org/docs/usenet.html) e di LinuxJournal (http:
//www.linuxjournal.com/helpdesk.php).
1
Si utilizzi l’indirizzo [email protected] per quello.
Capitolo 11. Ottenere supporto per Debian GNU/Linux
60
11.3 C’è un modo rapido per cercare informazioni su Debian
GNU/Linux?
C’è una varietà di motori di ricerca che fornisce documentazione relativa a Debian:
• Sito WWW di ricerca Debian (http://search.debian.org/).
• Gruppi Google (http://groups.google.com/): un motore di ricerca per gruppi di
discussione.
Per esempio, per trovare che esperienze ha avuto la gente nel trovare dei driver per i controller Promise sotto Debian, si provi a cercare l’espressione Promise Linux driver.
Questo mostrerà tutti i messaggi che contengono queste stringe, ovvero quelli dove la
gente ha discusso questi argomenti. Se si aggiunge Debian a quelle stringhe di ricerca,
si avranno inoltre i messaggi attinenti specificatamente a Debian.
• Ognuno dei motori di ricerca sul web, come AltaVista (http://www.altavista.
com/) o Google (http://www.google.com/), purché si usino i termini di ricerca
corretti.
Per esempio, cercare la stringa “cgi-perl” fornisce una spiegazione più dettagliata di
questo pacchetto rispetto alla breve descrizione nel suo control file.
11.4
Ci sono log di bachi conosciuti?
La distribuzione Debian GNU/Linux ha un sistema di tracciamento bachi (bug tracking system, BTS) che registra i dettagli dei bachi riportati da utenti e sviluppatori. Ad ogni baco viene
assegnato un numero e viene mantenuto finché non viene gestito e marcato come tale.
Copie di questa informazione sono disponibili su http://www.debian.org/Bugs/.
Un server di posta fornisce accesso al database del sistema di tracciamento bachi via e-mail.
Per ottenere le istruzioni si invii un’e-mail a [email protected] con “help” nel corpo del
messaggio.
11.5
Come segnalo un baco in Debian?
Se si è trovato un baco in Debian per favore si leggano le istruzioni per segnalare un baco.
Queste istruzioni possono essere ottenute in uno di vari modi:
• Da FTP anonimo.
I siti mirror Debian contengono le istruzioni nel file
doc/bug-reporting.txt.
• Dal WWW. Una copia delle istruzioni è esposta su http://www.debian.org/Bugs/
Reporting.
Capitolo 11. Ottenere supporto per Debian GNU/Linux
61
• Su qualsiasi sistema Debian con il pacchetto doc-debian installato. Le istruzioni sono
nel file /usr/doc/debian/bug-reporting.txt.
Si possono usare i pacchetti bug o reportbug che guideranno l’utente attraverso il processo
di segnalazione e spediranno il messaggio all’indirizzo corretto, con alcuni dettagli in più sul
proprio sistema aggiunti automaticamente.
Se si vuole spedire la segnalazione con un programma di posta elettronica si invii un messaggio
a <[email protected]>. La prima riga del messaggio deve essere simile a
Package: nome-pacchetto
(si sostituisca nome-pacchetto con il nome del pacchetto). La riga seguente dovrebbe riferirsi al
numero di versione del pacchetto in un modo simile:
Version: numero-versione
Il numero di versione per ogni pacchetto installato sul proprio sistema può essere ottenuto
usando la riga di comando
dpkg -s nome-pacchetto
Ci si riferisce a questa sezione come alla pseudo-intestazione. Il resto del messaggio dovrebbe
contenere la descrizione del baco (per favore la si faccia moderatamente dettagliata), la release
Debian che si sta usando e le versioni di altri pacchetti rilevanti. Il numero di release Debian
verrà visualizzato con il comando
cat /etc/debian_version
Si aspetti di ricevere un riconoscimento automatico della propria segnalazione. A questa verrà
anche assegnato un numero di tracciamento bachi, verrà immessa nel log dei bachi ed inoltrata
alla lista di messaggi debian-bugs-dist.
Se si identifica un baco che è comune a molti programmi, allora piuttosto che addentrarsi in dozzine di segnalazioni molto simili di bachi, si può preferire inviare i singoli bachi a
<[email protected]> (invece dell’indirizzo submit@. . . ) per raggiungere solo i rispettivi manutentori del pacchetto, e poi inviare una segnalazione concisa alle liste di
messaggi debian-devel e/o debian-bugs-dist.
In aggiunta, esiste un pacchetto Debian controllore, chiamato Lintian (http://www.debian.
org/lintian/), che è progettato per controllare meccanicamente i pacchetti Debian per violazioni della policy ed errori comuni di pacchettamento. Pertanto, se si scopre un baco in un
pacchetto che sembra apparire anche in altri pacchetti, sarebbe meglio mettersi in contatto con
Capitolo 11. Ottenere supporto per Debian GNU/Linux
62
i manutentori di Lintian a <[email protected]> così che venga scritto un nuovo controllo per Lintian invece di segnalare il baco direttamente. Questo impedirà che il baco
appaia ancora in versioni future del pacchetto o in qualsiasi altro pacchetto della distribuzione.
Si può anche usare <[email protected]> per inviare segnalazioni di bachi al solo
BTS senza inviarli anche a debian-bugs-dist o al manutentore. Questo indirizzo ’quiet’ (calmo)
viene usato molto raramente, p.e. quando si vuole inviare qualche informazione minore per la
propria segnalazione, che dovrebbe essere registrata solo nel log, o quando si vuole registrare
qualcosa nel log del BTS ma lo si è già inviato al manutentore.
63
Capitolo 12
Contribuire al Progetto Debian
Donazioni di tempo (per sviluppare nuovi pacchetti, mantenere pacchetti esistenti o fornire
supporto agli utenti), risorse (fare da mirror agli archivi FTP e WWW) e denaro (pagare per
nuovi test come pure hardware per gli archivi) possono aiutare il progetto.
12.1 Come posso diventare uno sviluppatore di software Debian?
Lo sviluppo di Debian è aperto a tutti e nuovi utenti con le giuste capacità e/o con buona
volontà sono necessari per mantenere pacchetti già esistenti resi “orfani” dai loro precedenti
manutentori, sviluppare nuovi pacchetti e fornire supporto agli utenti.
La descrizione su come diventare sviluppatore Debian può essere trovata all’Angolo del
Nuovo Manutentore (http://www.debian.org/devel/join/newmaint) sul sito web
Debian.
12.2
Come posso fornire risorse al progetto Debian?
Dato che il progetto mira a creare una quantità sostanziale di software accessibile rapidamente
e facilmente attraverso tutto il mondo, i mirror sono urgentemente necessari. È desiderabile,
ma non assolutamente necessario, fare il mirror di tutto l’archivio. Si visiti la pagina Dimensione del mirror Debian (http://www.debian.org/mirror/size) per informazioni sui
requisiti di spazio su disco.
La maggior parte del “mirroring” è realizzata interamente in modo automatico da degli script
senza alcuna interazione. Comunque, accadono occasionali errori o modifiche di sistema che
richiedono l’intervento umano.
Se si possiedono una connessione ad Internet ad alta velocità, i mezzi per fare il mirror di tutta
o di parte della distribuzione e si è disposti a dedicare tempo (o a trovare qualcuno) per poter
fornire una regolare manutenzione al sistema, allora per favore si contatti <debian-admin@
lists.debian.org>.
Capitolo 12. Contribuire al Progetto Debian
64
12.3 Come posso contribuire finanziariamente al progetto Debian?
Chiunque può fare donazioni individuali ad una delle due organizzazioni che che si trovano
in situazioni critiche per lo sviluppo del progetto Debian.
12.3.1
Software in the Public Interest
Software in the Public Interest (SPI) è un’organizzazione IRS 501(c)(3) senza fini di lucro, formata quando la FSF ritirò il proprio appoggio a Debian. Lo scopo dell’organizzazione è quello
di sviluppare e distribuire software libero.
I nostri obiettivi sono molto simili a quelli della FSF e incoraggiamo i programmatori a usare
la licenza GNU General Public License sui loro programmi. Comunque, abbiamo un obiettivo leggermente differente in quanto stiamo realizzando e distribuendo un sistema Linux che
differisce in molti dettagli tecnici dal sistema GNU progettato dalla FSF. Comunichiamo ancora con la FSF e cooperiamo con loro inviando i cambiamenti apportati al software GNU e
chiedendo ai nostri utenti di fare donazioni alla FSF e al progetto GNU.
SPI può essere raggiunta su: http://www.spi-inc.org/.
12.3.2
Free Software Foundation
In questo momento non c’è nessuna connessione formale tra Debian e la Free Software Foundation. Comunque, la Free Software Foundation è responsabile di alcuni dei più importanti
componenti software in Debian, inclusi il compilatore C di GNU, GNU Emacs e gran parte
della libreria run-time di C che è usata da tutti i programmi sul sistema. La FSF è stata pioniera
di molto di quello che il software libero è attualmente: ha scritto la General Public License
che è usata su gran parte del software Debian ed ha inventato il progetto “GNU” per creare
un sistema Unix interamente libero. Debian dovrebbe essere considerata come un discendente
del sistema GNU.
FSF può essere raggiunta su: http://www.fsf.org/.
65
Capitolo 13
Redistribuire Debian GNU/Linux come
prodotto commerciale
13.1 Posso creare e vendere CD Debian?
Certamente. Non è necessario il permesso per distribuire qualcosa che abbiamo rilasciato, quindi ci si può copiare il proprio CD appena finisce il beta-test. Non si deve pagare niente. Ovvio
che tutti i produttori di CD devono accettare le licenze dei programmi in Debian. Per esempio,
molti dei programmi sono sotto licenza GPL, che richiede che si redistribuisca il loro codice
sorgente
Inoltre, pubblicheremo una lista dei produttori di CD che donano denaro, software, e tempo
al progetto Debian, e incoraggeremo gli utenti a comperare dai produttori che donano, quindi
fare donazioni è una buona pubblicità.
13.2 Debian può essere impacchettata con software non-libero?
Sì. Mentre tutti i componenti principali di Debian sono software libero, forniamo una directory
non-free per programmi che non sono liberamente redistribuibili.
I produttori di CD possono essere in grado di distribuire i programmi che abbiamo collocato in
quella directory, dipende dai termini delle licenze o dai loro accordi privati con i produttori
di quei pacchetti software. I produttori di CD possono inoltre distribuire il software nonlibero che ricevono da altri sorgenti sullo stesso CD. Non è niente di nuovo: software libero e
commerciale sono distribuiti sullo stesso CD dai produttori ora. Ovvio che incoraggiamo gli
autori del software a rilasciare i programmi che scrivono come software libero.
Capitolo 13. Redistribuire Debian GNU/Linux come prodotto commerciale
66
13.3 Sto creando una speciale distribuzione Linux per un “mercato
verticale”. Posso usare Debian GNU/Linux come nucleo di un
sistema Linux e aggiungere le mie applicazioni su di esso?
Sì. Per esempio, una persona sta costruendo una distribuzione “Linux for Hams”, con programmi specializzati per Radio Amatori. Sta partendo con Debian come “sistema base” e aggiungendo programmi per controllare il trasmettitore, seguire satelliti, ecc. Tutti i programmi
che aggiunge sono impacchettati con il sistema di pacchetti Debian così i suoi utenti potranno
aggiornare facilmente quando rilascerà i successivi CD.
Ci sono diverse altre distribuzioni derivate da Debian già sul mercato, come Corel Linux e
Storm Linux, che sono indirizzate ad un differente tipo di pubblico rispetto all’originale Debian
GNU/Linux, ma usano la maggior parte dei nostri componenti nei loro prodotti.
Debian fornisce inoltre un meccanismo che permette agli sviluppatori e agli amministratori di
sistema di installare versioni locali dei file selezionati in modo che non vengano sovrascritti quando altri pacchetti vengono aggiornati. Questo è discusso meglio nella domanda su
‘Come sovrascrivo un file installato da un pacchetto in modo che ne venga usata una versione
differente?’ a pagina 54.
13.4
Posso mettere il mio programma commerciale in un “pacchetto”
Debian cosicché si possa installare senza fatica su ogni sistema
Debian?
Certamente. Lo strumento per i pacchetti è software libero; i pacchetti possono essere o meno
software libero, li può installare tutti.
67
Capitolo 14
Cambiamenti aspettati nella prossima
major release di Debian
14.1 Aumento della sicurezza
Debian contiene il supporto per le password shadow fin dalla release 1.3. Inoltre, è disponibile la libreria Linux dei Pluggable Authentication Modules (a.k.a. libpam (http://www.
kernel.org/pub/linux/libs/pam/)) che permette agli amministratori di sistema di
scegliere i modi di autorizzazione sulle basi di un’applicazione specifica, ed inizialmente è
impostato per autenticare attraverso le password shadow.
È incluso il totale supporto per i metodi di autenticazione avanzati come Kerberos, RSBAC ed
altri in via di sviluppo.
14.2
Supporto esteso per gli utenti non-inglesi
Debian ha già del supporto per utenti non-inglesi, si veda ‘Come fa Debian a supportare lingue
non-inglesi?’ a pagina 17.
Speriamo di trovare persone che forniscano supporto anche per più lingue, e che traducano. Alcuni programmi supportano già l’internazionalizzazione, così abbiamo bisogno di
traduttori dei cataloghi dei messaggi. Rimangono ancora molti programmi che devono essere
proriamente internazionalizzati.
Il Progetto Traduzione della GNU (GNU Translation Project) ftp://ftp.gnu.org/pub/
gnu/ABOUT-NLS lavora sull’internazionalizazione dei programmi GNU.
14.3
Più architetture
Un sistema Debian completo su altre architetture come SPARC64 e SuperH sarà pronto presto.
Capitolo 14. Cambiamenti aspettati nella prossima major release di Debian
68
14.4 Più kernel
In aggiunta a Debian GNU/Hurd, Debian sta facendo il port verso diversi kernel BSD, vale a
dire quelli di NetBSD, FreeBSD e OpenBSD.
69
Capitolo 15
Informazioni generali sulla FAQ
15.1 Autori
La prima edizione di questa FAQ era fatta e mantenuta da J.H.M. Dassen (Ray) e Chuck Stickelman. Gli autori della Debian GNU/Linux FAQ riscritta sono Susan G. Kleinmann e Sven
Rudolph. Dopo di loro, la FAQ è stata mantenuta da Santiago Vila. L’attuale manutentore è
Josip Rodin.
Parti di informazioni vengono da:
• L’annuncio del rilascio di Debian-1.1, di Bruce Perens (http://www.perens.com/).
• La Linux FAQ,
~ijackson/).
di
Ian
Jackson
(http://www.chiark.greenend.org.uk/
• Archivi delle Mailing List Debian (http://lists.debian.org/),
• il dpkg programmers’ manual e il Debian Policy manual (si veda ‘Quale altra
documentazione esiste su e per un sistema Debian?’ a pagina 57)
• molti sviluppatori, volontari e beta tester e
• la memoria traballante dei suoi autori. :-)
Gli autori desiderano ringraziare tutti coloro che hanno aiutato a rendere possibile questo
documento.
Non esistono garanzie. Tutti i marchi registrati appartengono ai rispettivi proprietari.
15.2
Feedback
Commenti ed aggiunte a questo documento sono sempre i benvenuti. Mandate un’e-mail
a <[email protected]> o inviate un bug report di tipo wishlist sul
pacchetto doc-debian (http://bugs.debian.org/doc-debian).
Capitolo 15. Informazioni generali sulla FAQ
70
15.3 Reperibilità
L’ultima versione di questo documento la si può vedere sulle pagine WWW Debian su http:
//www.debian.org/doc/FAQ/.
È anche disponibile per il download nei formati testo puro, HTML, PostScript e PDF su http:
//www.debian.org/doc/user-manuals#faq. Inoltre, ci sono diverse traduzioni.
I
file
SGML
originali
usati
per
creare
questo
documento
sono
inoltre
disponibili
nel
pacchetto
sorgente
doc-debian
o
nel
CVS
su:
:pserver:[email protected]:/cvs/debian-doc/ddp/manuals.sgml/faq
15.4
Formato del documento
Questo documento è stato scritto usando il DebianDoc SGML DTD (riscritto da LinuxDoc
SGML). I sistemi DebianDoc SGML ci permettono di creare file in una varietà di formati da uno
sorgente, p.e. questo documento può essere visto come HTML, testo puro, TeX DVI, PostScript,
PDF e GNU info.
Le utility di conversione per DebianDoc SGML sono disponibili nel pacchetto Debian
debiandoc-sgml.

Documenti analoghi

Local Repository

Local Repository se l'archivio contiene i pacchetti sorgente (deb-src), che sono il codice sorgente originale del programma.

Dettagli

Capitolo 3 Gestione dei pacchetti in Debian

Capitolo 3 Gestione dei pacchetti in Debian conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distr...

Dettagli