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
se l'archivio contiene i pacchetti sorgente
(deb-src), che sono il codice sorgente
originale del programma.
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...