The Debian GNU/Linux FAQ ------------------------ Gli autori sono elencati in Autori delle FAQ Debian versione 5.0, 27 August 2011 ------------------------------------------------------------------------------- Estratto -------- Questo documento risponde alle domande poste di frequente su Debian GNU/Linux. Avviso di Copyright ------------------- Copyright (C) 1996-2005 by Software in the Public Interest, per parte copyright (C) 2004, 2005, 2006 Kamaraju Kusumanchi 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. Prima traduzione italiana a cura di Hugh Hartmann e Claudio Cattazzo ; (2010) aggiornamento della traduzione alla versione attuale a cura di Beatrice Torracca . ------------------------------------------------------------------------------- Contenuti --------- 1. Definizioni e panoramica 1.1. Cosa sono queste FAQ? 1.2. Cos'e` Debian GNU/Linux? 1.3. OK, ora so che cos'e` Debian... cos'e` Linux?! 1.4. Debian fa solo GNU/Linux? 1.5. Qual e` la differenza tra Debian GNU/Linux e le altre distribuzioni Linux? Perche' scegliere Debian piuttosto di qualche altra distribuzione? 1.6. Come si rapporta il progetto Debian con il progetto GNU della Free Software Foundation? 1.7. Come si pronuncia Debian e cosa significa questa parola? 2. Ottenere ed installare Debian GNU/Linux 2.1. Qual e` la versione piu` recente di Debian? 2.2. Esistono aggiornamenti dei pacchetti in "stable"? 2.3. Dove/Come si possono trovare i dischi di installazione Debian? 2.4. Come installare Debian da CD-ROM? 2.5. Perche' il CD-ROM ufficiale del rilascio "stable" contiene collegamenti simbolici "frozen" e "unstable"? Pensavo che questo CD contenesse solo "stable"! 2.6. E` possibile ottenere ed installare Debian direttamente da un sito Internet remoto? 2.7. Esistono strategie alternative per avviare l'installatore di sistema? 3. Scegliere una distribuzione Debian 3.1. Quale distribuzione Debian (stable/testing/unstable) e` meglio per me? 3.1.1. E` stato suggerito di installare stable, ma in essa l'hardware pincopallino non viene rilevato o non funziona. Cosa fare? 3.1.2. Nelle differenti distribuzioni ci sono versioni diverse dei pacchetti? 3.1.3. Le distribuzioni stable contengono pacchetti veramente datati. Basta guardare Kde, Gnome, Xorg o persino il kernel: sono molto vecchi. Perche'? 3.1.4. Se si decidesse di passare ad un'altra distribuzione, sarebbe possibile? 3.1.5. Potete dirmi se installare testing o unstable? 3.1.6. E` stato detto che testing si puo` rompere. Cosa significa? 3.1.7. Come mai testing puo` essere rotta per mesi? Le soluzioni introdotte in unstable non passano direttamente in testing? 3.1.8. Dal punto di vista di un amministratore, quale distribuzione richiede piu` attenzioni? 3.1.9. Cosa succede quando viene fatto un nuovo rilascio? 3.1.10. Ho un desktop/cluster in funzione con installata Debian. Come fare a sapere quale distribuzione e` in esecuzione? 3.1.11. Al momento sto usando stable. Posso passare a testing o unstable? Se si`, come? 3.1.12. Attualmente sto usando testing (wheezy). Cosa succedera` quando verra` fatto un rilascio? Continuero` ad usare testing o la macchina usera` la nuova distribuzione stabile? 3.1.13. Sono ancora confuso. Cosa hai detto che devo installare? 3.2. E per quanto riguarda Knoppix, Linex, Ubuntu e altre? 3.2.1. So che Knoppix/Linex/Ubuntu/... e` basata su Debian. Percio` dopo l'installazione sull'hard disk, posso usare con essa gli strumenti "apt" per i pacchetti? 3.2.2. Ho installato Knoppix/Linex/Ubuntu/... sul mio hard disk. Ora ho un problema. Cosa devo fare? 3.2.3. Sto usando Knoppix/Linex/Ubuntu/... e ora voglio usare Debian. Come migro a Debian? 4. Problemi di compatibilita` 4.1. Su quali architetture e/o sistemi hardware funziona Debian GNU/Linux? 4.2. Quanto e` compatibile Debian con le altre distribuzioni Linux? 4.3. Quanto e` compatibile Debian con altri sistemi Unix a livello di codice sorgente? 4.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? 4.5. Come installare un programma non-Debian? 4.6. Perche' non posso compilare programmi che richiedono libtermcap? 4.7. Perche' non posso installare AccelX? 4.8. Perche' le mie vecchie applicazioni Motif per XFree 2.1 vanno in crash? 5. Software disponibile nel sistema Debian 5.1. Quali tipi di applicazioni e software di sviluppo sono disponibili per Debian GNU/Linux? 5.2. Chi ha scritto tutto questo software? 5.3. Come si puo` ottenere una lista aggiornata dei programmi che sono stati impacchettati per Debian? 5.4. Come si puo` installare un ambiente di sviluppo per compilare pacchetti? 5.5. Cosa manca da Debian GNU/Linux? 5.6. Perche' ricevo il messaggio "ld: cannot find -lpippo" quando compilo i programmi? Perche' non c'e` alcun file libpippo.so nei pacchetti delle librerie Debian? 5.7. Debian supporta Java? (E come?) 5.8. Come si puo` verificare che si sta usando un sistema Debian e che versione e`? 5.9. Come fa Debian a supportare le lingue diverse dall'inglese? 5.10. Dov'e` pine? 5.11. Dove e` qmail/ezmlm/djbdns? 5.12. Dove e` un riproduttore per Flash (SWF)? 5.13. Dove e` Google Earth? 5.14. Dove e` il software VoIP? 5.15. Ho una scheda di rete wirelesse che non funziona con Linux. Cosa fare? 6. Gli archivi FTP Debian 6.1. Quante distribuzioni Debian ci sono? 6.2. Cosa sono tutti quei nomi come etch, lenny, ecc.? 6.2.1. Quali altri nomi in codice sono stati usati in passato? 6.2.2. Da dove derivano questi nomi in codice? 6.3. Cosa dire a proposito di "sid"? 6.4. Cosa contiene la directory stable? 6.5. Cosa contiene la distribuzione testing? 6.6. Cosa dire di "testing"? Come viene "congelata"? 6.7. Cosa contiene la directory unstable? 6.8. Cosa sono tutte quelle directory negli archivi FTP Debian? 6.9. Cosa sono tutte quelle directory dentro a `dists/stable/main'? 6.10. Dov'e` il codice sorgente? 6.11. Cosa c'e` nella directory `pool'? 6.12. Cos'e` "incoming"? 6.13. Come impostare un proprio repository usabile con apt? 7. Fondamenti sul sistema di gestione dei pacchetti Debian 7.1. Cos'e` un pacchetto Debian? 7.2. Qual e` il formato di un pacchetto binario Debian? 7.3. Perche' i nomi dei pacchetti Debian sono cosi` lunghi? 7.4. Cos'e` un file di controllo Debian? 7.5. Cos'e` un conffile Debian? 7.6. Cosa sono gli script preinst, postinst, prerm e postrm di Debian? 7.7. Cosa sono i pacchetti _Essential_, _Required_, _Important_, _Standard_, _Optional_ o _Extra_? 7.8. Cos'e` un pacchetto virtuale? 7.9. Cosa significa dire che un pacchetto _Dipende_ da, _Raccomanda_, _Suggerisce_, _Va in conflitto_ con, _Sostituisce_, _Rompe_ o _Fornisce_ un altro pacchetto? 7.10. Cosa significa Pre-Depends? 7.11. Cosa significano _sconosciuto_, _installa_, _rimuovi_, _elimina_ e _blocca_ nello stato di un pacchetto? 7.12. Come blocco un pacchetto? 7.13. Come si installa un pacchetto sorgente? 7.14. Come si compilano pacchetti binari da un pacchetto sorgente? 7.15. Come ci si crea pacchetti Debian da se'? 8. Gli strumenti di gestione dei pacchetti Debian 8.1. Quali programmi fornisce Debian per gestire i suoi pacchetti? 8.1.1. dpkg 8.1.2. APT 8.1.3. aptitude 8.1.4. synaptic 8.1.5. tasksel 8.1.6. Altri strumenti per la gestione dei pacchetti 8.1.7. dpkg-deb 8.1.8. dpkg-split 8.2. Debian afferma di essere in grado di aggiornare un programma in esecuzione; come viene fatto? 8.3. Come si puo` sapere quali pacchetti sono gia` installati su un sistema Debian? 8.4. Come mostrare i file installati da un pacchetto? 8.5. Come posso scoprire quale pacchetto ha prodotto un particolare file? 8.6. Perche' "pippo-data" non viene rimosso quando viene disinstallato "pippo"? Come ci si puo` assicurare che vengano eliminati i vecchi pacchetti di librerie non utilizzati? 9. Mantenere il proprio sistema Debian aggiornato 9.1. Come si puo` mantenere il proprio sistema Debian aggiornato? 9.1.1. aptitude 9.1.2. apt-get, dselect e apt-cdrom 9.1.3. aptitude 9.1.4. mirror 9.1.5. dpkg-mountable 9.2. E` necessario entrare in modalita` singolo-utente per aggiornare un pacchetto? 9.3. E` necessario tenere tutti questi file di archivio .deb sul disco? 9.4. Come si puo` tenere un registro dei pacchetti che sono stati aggiunti al sistema? Vorrei sapere quali aggiornamenti e rimozioni di pacchetti sono stati fatti! 9.5. E` possibile aggiornare automaticamente il sistema? 9.6. Se si hanno svariate macchine come e` possibile scaricare gli aggiornamenti una volta sola? 10. Debian e il kernel 10.1. Si puo` installare e compilare un kernel senza alcun adattamento specifico per Debian? 10.2. Quali strumenti fornisce Debian per costruire kernel personalizzati? 10.3. Come posso creare un floppy di avvio personalizzato? 10.4. Quali strumenti speciali fornisce Debian per lavorare con i moduli? 10.5. Si puo` disinstallare in sicurezza un vecchio pacchetto kernel e, se si`, come? 11. Personalizzare la propria installazione di Debian GNU/Linux 11.1. Come ci si puo` assicurare che tutti i programmi usino lo stesso formato per la carta? 11.2. Come si puo` fornire accesso alle periferiche hardware senza compromettere la sicurezza? 11.3. Come caricare un tipo di carattere per la console all'avvio nella maniera Debian? 11.4. Come si possono configurare le impostazioni predefinite per l'applicazione di un programma X11? 11.5. Ogni distribuzione sembra avere un metodo di avvio differente. Cosa dire di quello di Debian? 11.6. Sembra che Debian non usi `rc.local' per personalizzare il processo di avvio; che facilitazioni vengono fornite? 11.7. Come si comporta il sistema di manutenzione dei pacchetti nel caso di pacchetti che contengono file di configurazione per altri pacchetti? 11.8. Come sovrascrivere un file installato da un pacchetto in modo che ne venga usata una versione differente? 11.9. Come si puo` far si` che un pacchetto generato localmente venga incluso nella lista dei pacchetti disponibili che il sistema di gestione dei pacchetti conosce? 11.10. Ad alcuni utenti piace mawk, ad altri gawk; ad alcuni piace vim, ad altri elvis; ad alcuni piace trn, ad altri tin; come supporta Debian le diversita`? 12. Ottenere supporto per Debian GNU/Linux 12.1. Quale altra documentazione esiste su e per un sistema Debian? 12.2. Ci sono risorse on-line dove discutere su Debian? 12.2.1. Mailing-list 12.2.2. Forum web 12.2.3. Wiki 12.2.4. Manutentori 12.2.5. Gruppi di discussione (newsgroup) Usenet 12.3. C'e` un modo rapido per cercare informazioni su Debian GNU/Linux? 12.4. Ci sono registri dei bachi conosciuti? 12.5. Come segnalo un baco in Debian? 13. Contribuire al progetto Debian 13.1. Come si puo` diventare uno sviluppatore di software Debian? 13.2. Come si possono fornire risorse al progetto Debian? 13.3. Come si puo` contribuire finanziariamente al progetto Debian? 13.3.1. Software in the Public Interest 13.3.2. Free Software Foundation 14. Redistribuire Debian GNU/Linux come prodotto commerciale 14.1. Si possono creare e vendere CD Debian? 14.2. Debian puo` essere impacchettata con software non-libero? 14.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? 14.4. Posso mettere il mio programma commerciale in un "pacchetto" Debian cosicche' si possa installare senza fatica su ogni sistema Debian? 15. Cambiamenti attesi nel prossimo rilascio principale di Debian 15.1. Supporto esteso per gli utenti non-inglesi 15.2. Avvio piu` veloce: sequenza di avvio basata su dipendenze 15.3. Miglioramenti nell'installatore Debian 15.4. Piu` architetture 15.5. Piu` kernel 16. Informazioni generali sulla FAQ 16.1. Autori 16.2. Feedback 16.3. Reperibilita` 16.4. Formato del documento ------------------------------------------------------------------------------- 1. Definizioni e panoramica --------------------------- 1.1. Cosa sono queste FAQ? -------------------------- Questo documento contiene domande frequenti (e le risposte!) sulla distribuzione Debian (Debian GNU/Linux e altre) e sul progetto Debian. Se possibile vengono forniti riferimenti ad altra documentazione: in questo testo non vengono citati grossi brani di documentazione esterna. Si potra` notare che alcune risposte danno per scontata una certa conoscenza dei sistemi operativi *nix. Si e` cercato di dare per scontata una quantita` di conoscenze piu` piccola possibile: le risposte a domande generiche dei principianti sono mantenute semplici. Se non si trova cio` che si sta cercando in queste FAQ, assicurarsi di controllare Sezione 12.1, `Quale altra documentazione esiste su e per un sistema Debian?'. Se anche cio` non aiuta, fare riferimento a Sezione 16.2, `Feedback'. 1.2. Cos'e` Debian GNU/Linux? ----------------------------- Debian GNU/Linux e` una particolare _distribuzione_ del sistema operativo Linux e di numerosi pacchetti funzionanti su di esso. Debian GNU/Linux e`: * _completa_: Debian include attualmente piu` di 29000 pacchetti software. Gli utenti possono scegliere quali pacchetti installare; Debian fornisce uno strumento a questo scopo. Si puo` trovare un elenco con la descrizione dei pacchetti attualmente disponibili in Debian in uno qualsiasi dei siti mirror (http://www.debian.org/distrib/ftplist) di Debian. * _liberamente utilizzabile e ridistribuibile_: non e` necessaria l'affiliazione a nessuna associazione ne' alcun pagamento per partecipare alla sua distribuzione e al suo sviluppo. Tutti i pacchetti che sono formalmente parte di Debian GNU/Linux sono liberamente ridistribuibili, di solito nei termini specificati dalla licenza GNU GPL (GNU General Public License). Gli archivi FTP Debian contengono anche approssimativamente 187 pacchetti software (nelle sezioni `non-free' e `contrib'), che sono distribuibili nei termini specifici indicati in ciascun pacchetto. * _dinamica_: con circa 880 volontari che contribuiscono costantemente con codice nuovo e migliorato, Debian e` in rapida evoluzione. Gli archivi FTP vengono aggiornati due volte al giorno. La maggior parte degli utenti Linux usa una particolare _distribuzione_ di Linux, come Debian GNU/Linux. In via di principio, pero`, gli utenti possono ottenere il kernel Linux da Internet o da qualche altra parte e compilarlo loro stessi. Poi, nello stesso modo, possono ottenere il codice sorgente di molte applicazioni, compilare i programmi e installarli nel proprio sistema. Per programmi complessi questo processo puo` essere non solo un dispendio di tempo, ma puo` anche comportare degli errori. Per evitare tutto cio`, 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 e` il software, i protocolli ed i procedimenti usati per impacchettare, installare e monitorare i pacchetti applicativi sui sistemi degli utenti, e inoltre gli strumenti di installazione e manutenzione, documentazione ed altri servizi. Debian GNU/Linux e` il risultato di uno sforzo di volontari per creare un sistema operativo compatibile con Unix, di alta qualita`, libero, completato da un insieme di applicazioni. L'idea di un sistema operativo *nix libero ha avuto origine dal progetto GNU e molte applicazioni che rendono Debian GNU/Linux cosi` utile sono state sviluppate dal progetto GNU. Per Debian, libero ha il significato del mondo GNU (si vedano le Linee Guida Debian per il Software Libero (http://www.debian.org/social_contract#guidelines)). Quando parliamo di software libero, ci riferiamo alla liberta`, non al prezzo. Software libero significa che si ha la liberta` di distribuire copie di software libero, che si riceve il codice sorgente o lo si puo` ottenere se lo si desidera, che si puo` cambiare il software o usare parte di esso in nuovi programmi liberi e che si e` a conoscenza di poter fare queste cose. Il Progetto Debian e` 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. Tuttavia anche se Debian GNU/Linux e` 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 compatibilita` crescente e permette ai creatori di distribuzioni Linux di eliminare sforzi duplicati e di concentrarsi sulle caratteristiche che rendono speciale la propria distribuzione. Si veda Sezione 14.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?' per maggiori informazioni. 1.3. OK, ora so che cos'e` Debian... cos'e` Linux?! --------------------------------------------------- In breve, Linux e` il kernel di un sistema operativo *nix. E` stato originariamente progettato per PC 386 (e superiori); ora puo` girare anche su dozzine di altri sistemi. Linux e` 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 il Linux Filesystem Hierarchy Standard http://www.pathname.com/fhs/; * una vasta gamma di utilita` Unix, molte delle quali sono state sviluppate dal progetto GNU e dalla Free Software Foundation. La combinazione del kernel Linux, del file system, delle utilita` GNU e della FSF e delle altre utilita` e` stata progettata per raggiungere la compatibilita` con lo standard POSIX (IEEE 1003.1); si veda Sezione 4.3, `Quanto e` compatibile Debian con altri sistemi Unix a livello di codice sorgente?'. Per ulteriori informazioni riguardanti Linux, si veda What is Linux (http://www.linux.org/info/) di Linux Online (http://www.linux.org/). 1.4. Debian fa solo GNU/Linux? ------------------------------ Attualmente, Debian e` disponibile solo per Linux, ma con Debian GNU/Hurd e Debian su kernel BSD si e` iniziato ad offrire come piattaforme di sviluppo, server e desktop anche altri sistemi operativi non basati su Linux. Questi port non-Linux tuttavia non sono ancora rilasciati ufficialmente. Il primo lavoro di port affrontato e` stato Debian GNU/Hurd. Hurd e` un insieme di servizi che funzionano sul microkernel Mach GNU. Insieme costituiscono la base del sistema operativo GNU. 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. Un secondo sforzo e` stato quello di fare il port per il kernel BSD. Persone stanno lavorando sia al kernel NetBSD sia a quello FreeBSD. Si veda http://www.debian.org/ports/#nonlinux per maggiori informazioni su questi port non-Linux. 1.5. Qual e` la differenza tra Debian GNU/Linux e le altre distribuzioni Linux? Perche' scegliere Debian piuttosto di qualche altra distribuzione? ---------------------------------------------------------------------------- Queste caratteristiche chiave distinguono Debian dalle altre distribuzioni Linux: Liberta`: Come indicato nel Contratto sociale Debian (http://www.debian.org/social_contract), Debian rimarra` libera al 100%. Debian e` molto rigorosa per cio` che riguarda la distribuzione di software veramente libero. Le linee guida usate per determinare se un lavoro e` "libero" sono fornite nelle Linee guida Debian per il Software Libero (http://www.debian.org/social_contract#guidelines). Il sistema di manutenzione dei pacchetti Debian: L'intero sistema, o qualsiasi sua componente individuale, puo` essere aggiornato in situ senza riformattare, senza perdere i file di configurazione personalizzati e, nella maggior parte dei casi, senza riavviare il sistema. La maggior parte delle distribuzioni Linux disponibili attualmente ha qualche tipo di sistema di manutenzione dei pacchetti; il sistema di manutenzione dei pacchetti Debian e` unico e particolarmente robusto (si veda Capitolo 7, `Fondamenti sul sistema di gestione dei pacchetti Debian'). Sviluppo aperto: Mentre altre distribuzioni Linux sono sviluppate da singoli, gruppi piccoli, chiusi o venditori commerciali, Debian e` l'unica grande distribuzione Linux che fin dall'inizio e` stata sviluppata cooperativamente da molti individui attraverso Internet, nello stesso spirito di Linux e di altro software libero. Piu` di 880 volontari che mantengono i pacchetti stanno lavorando su piu` di 29000 pacchetti migliorando Debian GNU/Linux. Gli sviluppatori Debian contribuiscono al progetto non solo scrivendo nuove applicazioni (nella maggior parte dei casi), ma impacchettando software gia` esistente in accordo con gli standard del progetto, comunicando notizie sui bachi agli sviluppatori originali e fornendo supporto agli utenti. Si vedano anche le informazioni aggiuntive su come diventare un contributore in Sezione 13.1, `Come si puo` diventare uno sviluppatore di software Debian?'. Il sistema operativo universale: Debian viene fornita con piu` di 29000 pacchetti (http://packages.debian.org/stable/) e gira su 9 architetture (http://www.debian.org/ports/). Cio` e` molto piu` di quello che e` disponibile per le altre distribuzioni GNU/Linux. Si veda Sezione 5.1, `Quali tipi di applicazioni e software di sviluppo sono disponibili per Debian GNU/Linux?' per una panoramica del software fornito e Sezione 4.1, `Su quali architetture e/o sistemi hardware funziona Debian GNU/Linux?' per una descrizione delle piattaforme hardware supportate. BTS, il sistema di tracciamento dei bachi: La dispersione geografica degli sviluppatori Debian richiede degli strumenti sofisticati ed una comunicazione rapida dei bachi e delle soluzioni 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 posta elettronica. Si vedano le informazioni aggiuntive in questa FAQ sulla gestione dei log dei bachi in Sezione 12.4, `Ci sono registri dei bachi conosciuti?'. La Politica Debian: Debian ha un'esauriente specifica dei propri standard di qualita`, la Debian Policy. Questo documento definisce la qualita` e gli standard che sono richiesti ai pacchetti Debian. Per ulteriori informazioni su questo si veda la pagina web sulle ragioni per scegliere Debian (http://www.debian.org/intro/why_debian). 1.6. Come si rapporta il progetto Debian con il progetto GNU della Free Software Foundation? ---------------------------------------------------------------------------- Il sistema Debian e` costruito sugli ideali del software libero fortemente sostenuto in origine dalla Free Software Foundation (http://www.gnu.org/) ed in particolare da Richard Stallman (http://www.stallman.org/). Il potenti strumenti, utilita` ed applicazioni per lo sviluppo del sistema della FSF rappresentano anche una parte chiave del sistema Debian. Il Progetto Debian e` un'entita` separata dalla FSF, comunque i due comunicano regolarmente e cooperano su vari progetti. La FSF ha richiesto esplicitamente che il nostro sistema venisse chiamato "Debian GNU/Linux" e siamo felici di soddisfare questa richiesta. L'obiettivo a lunga scadenza della FSF e` 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.7. Come si pronuncia Debian e cosa significa questa parola? ------------------------------------------------------------- Il nome del progetto si pronuncia Deb'-i-en, con una e breve in Deb e con l'accento sulla prima sillaba. Questa parola e` la contrazione dei nomi di Debra e Ian Murdock, che fondarono il progetto. (I dizionari sembrano essere ambigui sulla pronuncia di Ian (!), ma Ian preferisce i'-en.) ------------------------------------------------------------------------------- 2. Ottenere ed installare Debian GNU/Linux ------------------------------------------ La documentazione ufficiale con le istruzioni per l'installazione e` la Guida all'installazione di Debian GNU/Linux (http://www.debian.org/releases/stable/installmanual). Qui vengono fornite alcune note aggiuntive su come ottenere ed installare Debian GNU/Linux. 2.1. Qual e` la versione piu` recente di Debian? ------------------------------------------------ Attualmente ci sono tre versioni di Debian GNU/Linux: _Il rilascio 6.0, alias distribuzione "stable" o squeeze_ Questo e` software stabile e ben testato, cambia se vengono incorporate soluzioni a problemi di sicurezza e usabilita`. _La distribuzione "testing", attualmente chiamata wheezy_ Qui e` dove vengono messi i pacchetti che saranno rilasciati come prossima "stable"; hanno stati testati un po' in unstable ma possono non essere ancora adatti ad essere rilasciati. Questa distribuzione e` aggiornata piu` frequentemente della "stable", ma non della "unstable". _La distribuzione "unstable"_ Questa e` la versione attualmente in fase di sviluppo; e` aggiornata continuamente. Si possono recuperare i pacchetti dall'archivio "unstable" su ogni sito FTP Debian e usarli per aggiornare il proprio sistema in ogni momento, ma non bisogna aspettarsi che il sistema sia utilizzabile o stabile come prima: ecco perche' e` chiamata "_unstable (instabile)_"! Si veda Sezione 6.1, `Quante distribuzioni Debian ci sono?' per maggiori informazioni. 2.2. Esistono aggiornamenti dei pacchetti in "stable"? ------------------------------------------------------ Nessuna nuova funzionalita` viene aggiunta al rilascio stabile. Una volta che una versione di Debian viene rilasciata ed etichettata come "stable", avra` solo gli aggiornamenti di sicurezza. Cioe` solo i pacchetti in cui e` stata trovata dopo il rilascio una vulnerabilita` in termini di sicurezza saranno aggiornati. Tutti gli aggiornamenti di sicurezza vengono forniti attraverso security.debian.org (ftp://security.debian.org). Gli aggiornamenti di sicurezza servono ad un solo scopo: fornire soluzioni per vulnerabilita` nella sicurezza. Non sono un metodo per infiltrare cambiamenti ulteriori nel rilascio stabile senza passare dalla normale procedura del punto di rilascio. Di conseguenza, le soluzioni per i pacchetti con problemi di sicurezza non aggiornano il software. Il Team per la sicurezza di Debian fara` invece il backport delle soluzioni necessarie nella versione del software distribuita in "stable". Per maggiori informazioni sul supporto per la sicurezza si legga la Security FAQ (http://www.debian.org/security/faq) o il Debian Security Manual (http://www.debian.org/doc/manuals/securing-debian-howto/). 2.3. 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). Per maggiori informazioni sulle immagini di CD e DVD si faccia riferimento a Debian GNU/Linux su CD (http://www.debian.org/CD). 2.4. Come installare Debian da CD-ROM? -------------------------------------- Installare Debian da CD e` semplicissimo: configurare il proprio sistema in modo che si avvii da CD, inserire il CD e riavviare. Il sistema avra` allora in esecuzione l'installatore Debian. Per maggiori informazioni si veda la Guida all'installazione di Debian GNU/Linux (http://www.debian.org/releases/stable/installmanual). 2.5. Perche' il CD-ROM ufficiale del rilascio "stable" contiene collegamenti simbolici "frozen" e "unstable"? Pensavo che questo CD contenesse solo "stable"! ---------------------------------------------------------------------------- Le immagini dei CD ufficiali di Debian contengono effettivamente collegamenti simbolici quali: /dists/frozen -> squeeze/ /dists/stable -> squeeze/ /dists/testing -> squeeze/ /dists/unstable -> squeeze/ in modo da poter funzionare quando il file sources.list ha voci come deb cdrom:[]/ unstable main [...] . Il fatto che siano presenti questi collegamenti simbolici _non_ significa che l'immagine e` di "unstable" o "testing" o altro. Si legga l'etichetta del CD in `/.disk/info' per scoprire quale versione di Debian esso contenga. Questa informazione e` presente anche nel file `/README.txt' sul CD. Si legga http://www.debian.org/releases/ per scoprire quali siano gli attuali rilasci "stable" e "testing". 2.6. E` possibile ottenere ed installare Debian direttamente da un sito Internet remoto? ---------------------------------------------------------------------------- Si`. Si puo` avviare il sistema di installazione Debian da un insieme di file scaricabili dal nostro sito FTP e dai suoi mirror. Si puo` 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 piu` piccoli, creare da essi dei dischetti avviabili, avviare la procedura di installazione ed ottenere il resto di Debian dalla rete. 2.7. Esistono strategie alternative per avviare l'installatore di sistema? -------------------------------------------------------------------------- Si`. Oltre che da CD o DVD, si puo` installare Debian GNU/Linux avviando da dischetti floppy, penne USB, direttamente da hard disk o usando l'avvio di rete TFTP. Per l'installazione su piu` computer e` possibile fare installazioni completamente automatiche. N.B.: non tutti i metodi sono supportati da tutte le architetture. Una volta avviato l'installatore, il resto del sistema puo` essere scaricato dalla rete o installato da supporti locali. Per maggiori informazioni si veda la Guida all'installazione di Debian GNU/Linux (http://www.debian.org/releases/stable/installmanual). ------------------------------------------------------------------------------- 3. Scegliere una distribuzione Debian ------------------------------------- Ci sono molte diverse distribuzioni Debian. Scegliere la distribuzione Debian adatta e` una decisione importante. Questa sezione fornisce alcune informazioni utili per gli utenti che desiderano fare la scelta piu` adatta per il loro sistema e inoltre risponde ad alcune possibili domande che potrebbero nascere al momento della scelta. Non parla del "perche' si dovrebbe scegliere Debian" ma piuttosto di "quale distribuzione di Debian scegliere". Per maggiori informazioni sulle distribuzioni disponibili si veda Sezione 6.1, `Quante distribuzioni Debian ci sono?'. 3.1. Quale distribuzione Debian (stable/testing/unstable) e` meglio per me? --------------------------------------------------------------------------- La risposta e` piuttosto complessa. Dipende veramente da cosa si ha in mente di fare. Una soluzione potrebbe essere chiedere ad un amico che usa Debian. Ma cio` non significa che non e` possibile prendere una decisione in modo autonomo. Di fatto, si dovrebbe essere in grado di fare una scelta una volta completata la lettura di questo capitolo. * Se la sicurezza o la stabilita` sono aspetti di una qualche importanza: installare stable. Punto. Questa e` la scelta consigliata. * Se si e` un nuovo utente che deve installare su una macchina desktop, iniziare con stable. Parte del software e` piuttosto vecchia, ma e` l'ambiente di lavoro con meno bachi. Si potra` facilmente passare alla piu` moderna unstable una volta che si e` piu` sicuri di se'. * Se si e` un utente desktop con un po' di esperienza in Linux e che non ha problemi ad affrontare un baco sporadico una volta ogni tanto, usare unstable. Ha tutto il software piu` recente e all'avanguardia ed i bachi sono solitamente risolti prontamente. * Se si gestisce un server, specialmente uno per cui la stabilita` e` un requisito importante o che e` esposto ad Internet, installare stable. Questa e` di gran lunga la scelta piu` sicura e affidabile. Le domande che seguono forniscono, si spera, ulteriori dettagli su queste scelte. Dopo aver letto tutte queste FAQ, se ancora non si e` in grado di prendere una decisione, optare per la distribuzione stable. 3.1.1. E` stato suggerito di installare stable, ma in essa l'hardware pincopallino non viene rilevato o non funziona. Cosa fare? ---------------------------------------------------------------------------- Provare a cercare nel web usando un motore di ricerca e vedere se qualcun altro e` in grado di farlo funzionare in stable. La maggior parte dell'hardware dovrebbe funzionare senza problemi in stable. Se pero` si ha dell'hardware recentissimo e all'avanguardia, questo potrebbe non funzionare con stable. Se questa e` la situazione, si puo` voler installare unstable o aggiornare il sistema ad essa. Per i portatili, http://www.linux-on-laptops.com/ e` un sito web molto buono per vedere se qualcun altro e` stato in grado di farli funzionare con Linux. Il sito non e` specifico per Debian, ma cio` nonostante e` una risorsa preziosissima. Non conosco un sito web simile per i desktop. Un'altra opzione sarebbe chiedere nella mailing list debian-user inviando un messaggio di posta elettronica a debian-user@lists.debian.org . E` possibile inviare messaggi alla lista anche senza essere iscritti. Gli archivi possono essere letti via http://lists.debian.org/debian-user/. Informazioni relative all'iscrizione alla lista sono reperibili all'indirizzo degli archivi. E` caldamente consigliato porre le proprie domande sulla mailing-list piuttosto che su irc (http://www.debian.org/support); i messaggi della mailing-list sono archiviati percio` la soluzione ai propri problemi potra` aiutare altri nella stessa situazione. 3.1.2. Nelle differenti distribuzioni ci sono versioni diverse dei pacchetti? ---------------------------------------------------------------------------- Si`. Unstable ha le versioni piu` recenti, ma i suoi pacchetti non sono ben testati e potrebbero avere bachi. D'altro canto, stable contiene versioni vecchie dei pacchetti, ma esse sono ben testate ed e` meno probabile che abbiano un qualche baco. I pacchetti in testing sono una via di mezzo tra questi due estremi. 3.1.3. Le distribuzioni stable contengono pacchetti veramente datati. Basta guardare Kde, Gnome, Xorg o persino il kernel: sono molto vecchi. Perche'? ---------------------------------------------------------------------------- Beh, questo puo` essere vero. L'eta` dei pacchetti in stable dipende da quando e` stato fatto l'ultimo rilascio. Dato che di solito trascorre piu` di 1 anno da un rilascio all'altro, stable potrebbe contenere versioni vecchie dei pacchetti. Tuttavia sono state testate per diritto e per rovescio. Si puo` dire a ragion veduta che i pacchetti non hanno alcun baco importante noto, falle di sicurezza, ecc. I pacchetti in stable si integrano perfettamente gli uni con gli altri. Queste caratteristiche sono molto importanti per server di produzione che devono essere in funzione 24 ore al giorno, 7 giorni alla settimana. I pacchetti in testing o unstable, d'altra parte, possono avere bachi nascosti, falle di sicurezza, ecc. Inoltre alcuni pacchetti in testing e unstable potrebbero non funzionare come atteso. Di solito le persone che lavorano su una singola macchina desktop preferiscono avere l'insieme di pacchetti piu` recente e moderno. Unstable e` la soluzione adatta per loro. Come si puo` vedere, la stabilita` e l'estrema modernita` sono ai capi opposti dello spettro. Se e` necessaria la stabilita`, installare la distribuzione stable. Se si vuole lavorare con i pacchetti piu` recenti, allora installare unstable. 3.1.4. Se si decidesse di passare ad un'altra distribuzione, sarebbe possibile? ---------------------------------------------------------------------------- Si`, ma e` un processo unidirezionale. Si puo` fare il passaggio stable --> testing --> unstable. La direzione inversa invece non e` "possibile". Percio` e` bene essere sicuri se si ha intenzione di installare unstable o di aggiornare il sistema ad essa. In realta`, se si e` esperti, si e` disposti a spenderci del tempo, si e` molto cauti e si sa quello che si sta facendo, allora potrebbe essere possibile passare da unstable a testing e successivamente a stable. Gli script di installazione non sono pensati per fare questo; percio`, nel farlo, i propri file di configurazione potrebbero andar perduti e... 3.1.5. Potete dirmi se installare testing o unstable? ----------------------------------------------------- Questa e` una questione piuttosto soggettiva. Quando si deve decidere tra unstable e testing non esiste una risposta perfetta, ma solo una ipotesi ragionata. Il mio personale ordine di preferenza e` Stable, Unstable e Testing. La questione e` in questi termini: * Stable e` solida come una roccia. Non si rompe. * Testing si rompe meno di frequente di Unstable, ma quando lo fa ci vuole parecchio tempo prima che le cose vengano aggiustate. A volte possono volerci giorni e a volte mesi. * Unstable cambia molto e si puo` rompere in qualunque momento. Tuttavia, le cose vengono risolte spesso in un paio di giorni ed ha sempre le ultime versioni dei pacchetti software per Debian. Ci sono pero` situazioni in cui sarebbe meglio seguire testing invece di unstable. L'autore si e` trovato in una di queste situazioni a causa della transizione di gcc da gcc3 a gcc4. Stava cercando di installare il pacchetto `labplot' su una macchina con unstable e l'installazione non era li` possibile perche' alcune delle dipendenze avevano gia` fatto il passaggio a gcc4 ed alcune no. Il pacchetto in testing pero` era installabile su una macchina testing dato che i pacchetti che aveveno fatto la transizione a gcc4 non avevano ancora raggiunto testing. 3.1.6. E` stato detto che testing si puo` rompere. Cosa significa? ------------------------------------------------------------------ A volte, un pacchetto puo` non essere installabile tramite gli strumenti di gestione dei pacchetti. Altre volte, un pacchetto puo` proprio non essere disponibile: forse e` stato (temporaneamente) rimosso a causa di bachi o di dipendenze non soddisfatte. Altre volte ancora, un pacchetto si installa ma non si comporta nel modo corretto. Quando cio` avviene, si dice che la distribuzione e` rotta (almeno per quel che riguarda il pacchetto in questione). 3.1.7. Come mai testing puo` essere rotta per mesi? Le soluzioni introdotte in unstable non passano direttamente in testing? ---------------------------------------------------------------------------- Le soluzioni dei bachi e le migliorie introdotte nella distribuzione unstable passano in testing dopo un certo numero di giorni. Diciamo che la soglia e` di 10 giorni. I pacchetti in unstable passano in testing solo quando non ci sono segnalazioni di bachi critici per il rilascio che li riguardano. Se viene segnalato un baco critico per il rilascio riguardante un pacchetto in unstable, questo non passa a testing allo scadere dei 10 giorni. L'idea e` che, se il pacchetto ha dei problemi, questi vengono scoperti da coloro che usano unstable e vengono risolti prima che il pacchetto entri in testing. Cio` mantiene testing in uno stato usabile per la maggior parte del tempo. Nel suo insieme il concetto e` impeccabile, a mio parere. Ma le cose non sono sempre cosi` semplici. Prendiamo per esempio la situazione seguente: * Immaginiamo di essere interessati al pacchetto XYZ. * Ipotizziamo che al 10 giugno la versione in testing sia XYZ-3.6 e in unstable sia XYZ-3.7. * Dopo 10 giorni, XYZ-3.7 da unstable migra in testing. * Percio` il 20 di giugno sia testing sia unstable hanno nei loro repository XYZ-3.7. * Diciamo che un utente della distribuzione testing vede che e` disponibile un nuovo pacchetto XYZ e aggiorna la propria versione XYZ-3.6 a XYZ-3.7. * Ora diciamo che il 25 giugno qualche utente di testing o unstable scopre che c'e` un baco critico per il rilascio in XYZ-3.7 e lo segnala nel BTS. * Il manutentore di XYZ corregge il baco e carica la versione corretta in unstable, diciamo il 30 giugno. Qui e` stato ipotizzato che ci vogliano 5 giorni prima che il manutentore corregga il baco e carichi la nuova versione. Il numero 5 non deve essere preso letteralmente: potrebbe essere di piu` o di meno a seconda del grado di severita` del baco critico in questione. * L'entrata in testing di questa versione nuova in unstable, XYZ-3.8, e` pianificata per il 10 luglio. * Ma il 5 luglio qualcun altro scopre un altro baco critico per il rilascio in XYZ-3.8. * Diciamo che il manutentore di XYZ risolve questo nuovo baco critico e carica la nuova versione di XYZ dop 5 giorni. * Allora il 10 luglio testing ha XYZ-3.7 mentre unstable ha XYZ-3.9. * L'entrata in testing di questa nuova versione XYZ-3.9 e` ora ripianificata per il 20 luglio. * Dato che si usa testing e dato che XYZ-3.7 e` affetta da un baco, sara` probablimente possibile usare XYZ solo dopo il 20 luglio. Cioe` fondamentalmente ci si e` ritrovati con una versione guasta di XYZ per circa un mese. La situazione puo` complicarsi ulteriormente se, per esempio, XYZ dipende da 4 altri pacchetti. Cio` potrebbe risultare in una distribuzione testing inutilizzabile per mesi. Lo scenario dipinto sopra, inventato dall'autore, puo` avverarsi nella vita reale. Ma cio` e` raro. 3.1.8. Dal punto di vista di un amministratore, quale distribuzione richiede piu` attenzioni? ---------------------------------------------------------------------------- Una delle ragioni principali per cui molte persone scelgono Debian invece di altre distribuzioni Linux e` il fatto che richiede molto poca amministrazione. Le persone vogliono un sistema che semplicemente funzioni. In generale si puo` dire che stable richiede molto poca manutenzione mentre testing e unstable richiedono una manutenzione costante da parte dell'amministratore. Se si usa stable, tutto cio` di cui ci si deve preoccupare e` il tenere traccia degli aggiornamenti di sicurezza. Se si usa testing o unstable e` una buona idea tenersi al corrente dei nuovi bachi scoperti nei pacchetti installati, delle nuove risoluzioni di bachi, delle funzionalita` introdotte, ecc. 3.1.9. Cosa succede quando viene fatto un nuovo rilascio? --------------------------------------------------------- Questa domanda non aiuta a scegliere una distribuzione Debian, ma prima o poi verra` fatto di porsela. La distribuzione stable e` attualmente squeeze; la prossima versione stable si chiamera` wheezy. Consideriamo il caso particolare di cio` che avverra` quando wheezy verra` rilasciata come nuova versione stable. * oldstable = lenny; stable = squeeze; testing = wheezy; unstable = sid * Ci si riferisce ad unstable sempre come a sid indipendentemente dal fatto che venga fatto o meno un rilascio. * I pacchetti migrano continuamente da sid a testing (cioe` wheezy). I pacchetti in stable (cioe` squeeze) pero` rimangono gli stessi tranne che per gli aggiornamenti di sicurezza. * Dopo un certo periodo testing viene congelata nello stato di freeze; ma continuera` ad essere chiamata testing. A questo punto nessun pacchetto nuovo puo` migrare da unstable a testing a meno che non contenga la soluzione ad un baco critico per il rilascio (RC). * Quando testing e` in freeze, tutte le nuove risoluzioni dei bachi introdotte devono essere controllate manualmente dai membri del team per il rilascio. Cio` viene fatto per assicurare che non vi sara` alcun problema serio sconosciuto nella versione testing congelata. * I bachi RC nella "testing congelata" vengono ridotti a zero. * La "testing congelata" senza bachi RC viene rilasciata come nuova versione stable. Nel nostro esempio, questo nuovo rilascio stable sara` chiamato wheezy. * A questo punto si avra` oldstable = squeeze, stable = wheezy. Il contenuto di stable e della "testing congelata" e` a questo punto lo stesso. * Viene fatto il fork di una nuova testing dalla stable attuale. * I pacchetti iniziano ad arrivare da sid in testing e la comunita` Debian lavora ora per fare il prossimo rilascio stable. 3.1.10. Ho un desktop/cluster in funzione con installata Debian. Come fare a sapere quale distribuzione e` in esecuzione? ---------------------------------------------------------------------------- Nella maggior parte dei casi scoprirlo e` molto semplice. Guardare il file `/etc/apt/sources.list'. Ci sara` una voce simile alla seguente: deb http://ftp.us.debian.org/debian/ unstable main contrib Il terzo campo ("unstable" nell'esempio precedente) indica la distribuzione Debian a cui il sistema sta attualmente facendo riferimento. Si puo` anche usare `lsb_release' (disponibile nel pacchetto `lsb-release'). Se si esegue tale programma in un sistema unstable si ottiene: $ lsb_release -a LSB Version: core-2.0-noarch:core-3.0-noarch:core-3.1-noarch:core-2.0-ia32:core-3.0-ia32:core-3.1-ia32 Distributor ID: Debian Description: Debian GNU/Linux unstable (sid) Release: unstable Codename: sid Tuttavia non e` sempre cosi` facile. Alcuni sistemi possono avere file `sources.list' con voci multiple che corrispondono a distribuzioni diverse. Cio` puo` accadere se l'amministratore tiene traccia di pacchetti diversi da distribuzioni Debian diverse. Questa azione viene spesso chiamata apt-pinning. Questi sistemi possono avere in esecuzione un mix di distribuzioni. 3.1.11. Al momento sto usando stable. Posso passare a testing o unstable? Se si`, come? ---------------------------------------------------------------------------- Se si sta attualmente usando stable, allora nel file `/etc/apt/sources.list' il terzo campo sara` o squeeze o stable. E` necessario cambiarlo e mettere la distribuzione che si vuole usare. Se si vuole usare testing, allora modificare il terzo campo di `/etc/apt/sources.list' in testing. Se si vuole usare unstable, allora modificare il terzo campo in unstable. Attualmente testing si chiama wheezy. Percio`, se si cambia il terzo campo di `/etc/apt/sources.list' in wheezy, si usera` anche in questo caso testing. Quando wheezy diventera` stable, pero`, si continuera` ad usare wheezy. Unstable si chiama sempre Sid. Percio` se si cambia il terzo campo di `/etc/apt/sources.list' in sid, si usera` unstable. Attualmente Debian offre aggiornamenti di sicurezza per testing ma non per unstable, dato che le risoluzioni dei problemi in unstable vengono direttamente fatte all'archivio principale. Percio` se si usa unstable assicurarsi di rimuovere dal file `/etc/apt/sources.list' le righe relative agli aggiornamenti di sicurezza . Se e` disponibile un documento con le note di rilascio per la distribuzione a cui si sta per fare l'aggiornamento (anche se non ne e` ancora stato fatto il rilascio) sarebbe saggio leggerlo, dato che potrebbe fornire informazioni su come fare l'aggiornamento. Cio` nonostante, una volta fatti i cambiamenti detti sopra si puo` eseguire `aptitude update' e poi installare i pacchetti desiderati. Notare che l'installazione di un pacchetto da una distribuzione diversa puo` aggiornare automaticamente meta` del sistema. Se si installano pacchetti specifici si finira` per avere in esecuzione un sistema con un mix di distribuzioni. Potrebbe essere meglio in alcune situazioni aggiornare semplicemente l'intero sistema alla nuova distribuzione eseguendo `apt-get dist-upgrade', `aptitude safe-upgrade' o `aptitude full-upgrade'. Per maggiori informazioni, leggere le pagine di manuale di apt e aptitude. 3.1.12. Attualmente sto usando testing (wheezy). Cosa succedera` quando verra` fatto un rilascio? Continuero` ad usare testing o la macchina usera` la nuova distribuzione stabile? ---------------------------------------------------------------------------- Dipende dalle voci nel file `/etc/apt/sources.list'. Se si sta attualmente usando testing, tali voci saranno simili a una di queste due: deb http://ftp.us.debian.org/debian/ testing main o deb http://ftp.us.debian.org/debian/ wheezy main Se nel terzo campo in `/etc/apt/sources.list' c'e` "testing" allora si continuera` ad usare testing anche dopo un avvenuto rilascio. Percio` dopo che wheezy sara` rilasciata, si stara` usando una nuova distribuzione Debian che avra` un nome in codice diverso. I cambiamenti potrebbero non essere evidenti all'inizio, ma lo diverranno non appena nuovi pacchetti passeranno dalla distribuzione unstable a testing. Se pero` il terzo campo contiene "wheezy" allora si usera` stable (dato che wheezy sara` allora la nuova distribuzione stable). 3.1.13. Sono ancora confuso. Cosa hai detto che devo installare? ---------------------------------------------------------------- Se non si e` sicuri, la scelta migliore sarebbe l'installazione della distribuzione stable. 3.2. E per quanto riguarda Knoppix, Linex, Ubuntu e altre? ---------------------------------------------------------- Non sono Debian; sono _basate su Debian_. Benche' ci siano molte somiglianze e cose in comune tra di esse, vi sono anche differenze fondamentali. Tutte queste distribuzioni hanno i propri meriti e sono adatte a particolari tipi di utenti. Per maggiori informazioni, consultare la pagina sulle distribuzioni software basate su Debian (http://www.debian.org/misc/children-distros) disponibile sul sito web di Debian. 3.2.1. So che Knoppix/Linex/Ubuntu/... e` basata su Debian. Percio` dopo l'installazione sull'hard disk, posso usare con essa gli strumenti "apt" per i pacchetti? ---------------------------------------------------------------------------- Queste distribuzioni sono basate su Debian. Ma non sono Debian. Sara` comunque possibile usare gli strumenti apt per i pacchetti facendo puntare il file `/etc/apt/sources.list' agli archivi di queste distribuzioni. Ma non si stara` in quel caso usando Debian, si stara` usando una distribuzione diversa. Non sono la stessa cosa. Nella maggior parte delle situazioni, se si usa una distribuzione si dovrebbe rimanere legati ad essa e non mescolare pacchetti da altre distribuzioni. Molti problemi di funzionamento comuni derivano dall'uso di una distribuzione insieme al tentativo di installare pacchetti Debian da altre distribuzioni. Il fatto che usino lo stesso tipo di formato e lo stesso nome (.deb) non significa che siano automaticamente compatibili. Knoppix, ad esempio, e` una distribuzione Linux progettata per essere avviata da un CD Live mentre Debian e` progettata per essere installata sull'hard disk. Knoppix e` molto bella se si desidera sapere se un particolare hardware funziona o se si vuole provare a vedere come e` un sistema Linux, ecc.; Knoppix e` adatta a scopi dimostrativi mentre Debian e` progettata per essere in funzione 24 ore al giorno, 7 giorni su 7. In piu` sia il numero dei pacchetti disponibili, sia il numero di architetture supportate di Debian sono estremamente piu` grandi di quelli di Knoppix. Se si desidera Debian, la cosa migliore e` installare Debian sin dall'inizio. Anche se e` possibile installare Debian passando per altre distribuzioni, come Knoppix, la procedura richiede esperienza. Se si sta leggendo questa FAQ e` lecito ipotizzare che si e` alle prime armi sia con Debian sia con Knoppix. In questo caso, ci si risparmiera` un sacco di problemi futuri se si installera` subito Debian. 3.2.2. Ho installato Knoppix/Linex/Ubuntu/... sul mio hard disk. Ora ho un problema. Cosa devo fare? ---------------------------------------------------------------------------- E` sconsigliato usare i forum Debian (mailing list o IRC) per chiedere aiuto perche' le persone daranno suggerimenti pensando che si stia usando un sistema Debian e le "soluzioni" fornite potrebbero non essere adatte alla distribuzione che si sta usando; potrebbero persino peggiorare il problema. Usare prima i forum della distribuzione specifica che si sta usando. Se non si ottiene aiuto o l'aiuto ottenuto non risolve il problema, si puo` provare a chiedere nei forum Debian, ma tenere a mente l'avvertimento dato nel paragrafo precedente. 3.2.3. Sto usando Knoppix/Linex/Ubuntu/... e ora voglio usare Debian. Come migro a Debian? ---------------------------------------------------------------------------- Considerare il passaggio da una distribuzione basata su Debian a Debian come qualsiasi altro passaggio da un sistema operativo ad un altro. Si dovrebbe fare il backup di tutti i dati e reinstallare il sistema operativo da zero. Non si deve cercare di "aggiornare" a Debian usando gli strumenti di gestione dei pacchetti dato che ci si potrebbe ritrovare con un sistema non funzionante. Se tutti i propri dati utente (cioe' la propria `/home') sono in una partizione separata la migrazione a Debian e` in realta` piuttosto semplice, basta semplicemente dire al sistema di installazione di montare (ma non riformattare) quella partizione al momento della reinstallazione. E` sempre caldamente consigliato fare il backup di tutti i propri dati oltre che della configurazione del sistema precedente (cioe` `/etc/' e, forse, `/var/'). ------------------------------------------------------------------------------- 4. Problemi di compatibilita` ----------------------------- 4.1. Su quali architetture e/o sistemi hardware funziona Debian GNU/Linux? -------------------------------------------------------------------------- Debian GNU/Linux include il codice sorgente completo per tutti i programmi inclusi, cosi` dovrebbe funzionare su tutti i sistemi che sono supportati dal kernel Linux; si veda la FAQ Linux (http://en.tldp.org/FAQ/Linux-FAQ/intro.html#DOES-LINUX-RUN-ON-MY-COMPUTER) per i dettagli. L'attuale rilascio 6.0 di Debian GNU/Linux contiene una distribuzione binaria completa per le seguenti architetture: _i386_: questa copre i sistemi 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. _amd64_: questa copre i sistemi basati su CPU AMD a 64bit con estensione AMD64 e tutte le CPU Intel con estensione EM64T ed uno spazio utente a 64bit comune. _alpha_: sistemi Alpha Compaq/Digital. _sparc_: questa copre i sistemi SPARC della Sun e la maggior parte dei sistemi UltraSPARC. _powerpc_: questa copre alcune macchine PowerPC IBM/Motorola, incluse le macchine CHRP, PowerMac e PReP. _arm_: macchine ARM e StrongARM. _mips_: sistemi MIPS big-endian della SGI, Indy e Indigo2. _mipsel_: macchine MIPS little-endian, DECstation Digital. _hppa_: macchine PA-RISC della Hewlett-Packard (712, C3000, L2000, A500). _ia64_: computer Intel IA-64 ("Itanium"). _s390_: sistemi mainframe IBM S/390. Lo sviluppo di distribuzioni binarie di Debian per architetture Sparc64 (UltraSPARC nativo) e` attualmente in corso. Il supporto per l'architettura _m68k_ e` stato abbandonato in questo rilascio perche' non soddisfaceva i criteri definiti dai Debian Release Manager. Questa architettura copre macchine Amiga e ATARI con processore Motorola 680x0, dove x>=2, con MMU. Tuttavia il port e` ancora attivo e disponibile per l'installazione anche se non fa parte del rilascio stable ufficiale e potrebbe essere riattivato nei rilasci futuri. Per ulteriori informazioni sui port disponibili vedere le pagine dei port sul sito web (http://www.debian.org/ports/). Per ulteriori informazioni su come fare il boot, partizionare le proprie unita`, abilitare i dispositivi PCMCIA (PC Card) e per questioni simili si seguano le istruzioni date nel manuale di installazione, che e` disponibile dal nostro sito WWW su http://www.debian.org/releases/stable/installmanual. 4.2. Quanto e` 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 compatibilita` binaria tra le distribuzioni. La maggior parte dei prodotti commerciali per Linux funziona bene sotto Debian come sul sistema su cui e` stata compilata. Debian GNU/Linux aderisce al Linux Filesystem Hierarchy Standard (http://www.pathname.com/fhs/) (Standard per la gerarchia del file system Linux). Comunque, c'e` spazio per diverse interpretazioni di alcune regole all'interno di questo standard, cosi` ci possono essere piccole differenze tra un sistema Debian e altri sistemi Linux. Debian GNU/Linux supporta il software sviluppato per la Linux Standard Base (http://www.linuxbase.org/). La LSB e` una specifica per permettere allo stesso pacchetto binario di essere usato su diverse distribuzioni. Il rilascio Debian Etch e` certificato in base alla LSB Release 3.1, vedere la pagina web della Linux Foundation Certification (https://www.linux-foundation.org/lsb-cert/productdir.php). La discussione e il coordinamento degli sforzi fatti per assicurare che Debian soddisfi i requisiti della Linux Standard Base avvengono sulla mailing list debian-lsb (http://lists.debian.org/debian-lsb/). 4.3. Quanto e` compatibile Debian con altri sistemi Unix a livello di codice sorgente? ---------------------------------------------------------------------------- Per la maggior parte delle applicazioni il codice sorgente di Linux e` 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 perche' non c'e` modo di provarla. Nell'area di sviluppo del software e` richiesta una completa compatibilita` piuttosto della compatibilita` nella "quasi maggioranza" dei casi. Cosi`, anni fa, e` sorta la necessita` della presenza di standard e al giorno d'oggi POSIX.1 (IEEE Standard 1003.1-1990) e` uno dei maggiori standard per la compatibilita` 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) e` abbastanza onerosa; questo ha reso piu` difficile agli sviluppatori Linux il lavorare per una completa conformita` a POSIX. Il costo della certificazione rende improbabile che Debian ottenga una certificazione di conformita` ufficiale anche se passasse completamente la suite di validazione. (La suite di validazione e` ora liberamente disponibile, cosi` e` previsto che piu` persone lavoreranno sui problemi relativi a POSIX.1.) L'Unifix GmbH (Braunschweig, Germania) ha sviluppato un sistema Linux che e` stato certificato come conforme a FIPS 151-2 (un sovrainsieme di POSIX.1). Questa tecnologia era disponibile nella distribuzione di Unifix chiamata Unifix Linux 2.0 e nel Linux-FT della Lasermoon. 4.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 puo`:_ E` disponibile un programma per spacchettare un pacchetto Debian all'interno di un sistema Linux in cui e` stata installata una distribuzione "straniera", e generalmente funzionera`, nel senso che quei file verranno spacchettati. Anche l'inverso e` probabilmente vero, cioe` un programma che apre un pacchetto RedHat o Slackware su di un sistema basato su Debian GNU/Linux probabilmente riuscira` a spacchettare il pacchetto e a mettere la maggior parte dei file nelle directory di destinazione appropriate. Questo e` in gran parte una conseguenza dell'esistenza dello standard Linux Filesystem Hierarchy (e della diffusa conformita` ad esso). _Probabilmente non si vuole:_ La maggior parte dei gestori dei pacchetti scrive alcuni file di amministrazione quando viene usata per spacchettare un archivio. Questi file di amministrazione sono generalmente non standardizzati. Quindi, aprire un pacchetto Debian su un sistema "straniero" avra` effetti imprevedibili (certamente non utili) sul gestore dei pacchetti di quel sistema. Similmente, le utilita` 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. 4.5. Come 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 e` buona abitudine mettere il codice sorgente del proprio programma in /usr/local/src/. Per esempio, si potrebbero estrarre i file da un pacchetto che si chiama "pippo.tar" dentro la directory `/usr/local/src/pippo'. 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/'. Se i propri programmi o file devono essere realmente messi in altre directory, si potrebbe sempre memorizzarli in `/usr/local/' e creare i collegamenti simbolici appropriati dalla posizione richiesta alla loro collocazione in `/usr/local/'; per esempio, si potrebbe creare il collegamento ln -s /usr/local/bin/pippo /usr/bin/pippo 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 diventare uno sviluppatore sono incluse nel manuale Debian Policy (si veda Sezione 12.1, `Quale altra documentazione esiste su e per un sistema Debian?'). 4.6. Perche' 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 per i quali è stato gia` fatto il link con la libreria `termcap' e per i quali non si ha il sorgente, Debian fornisce un pacchetto chiamato `termcap-compat'. Questo fornisce sia `libtermcap.so.2' sia `/etc/termcap'. Si installi questo pacchetto se l'esecuzione del programma fallisce con il messaggio d'errore "can't load library 'libtermcap.so.2'", o se reclama la mancanza del file `/etc/termcap'. 4.7. Perche' non posso installare AccelX? ----------------------------------------- AccelX usa la libreria `termcap' per l'installazione. Si veda Sezione 4.6, `Perche' non posso compilare programmi che richiedono libtermcap?' sopra. 4.8. Perche' le mie vecchie applicazioni Motif per XFree 2.1 vanno in crash? ---------------------------------------------------------------------------- E` 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 quando si tenta di copiare o incollare da o a un campo di testo, e si possono presentare anche altri problemi. ------------------------------------------------------------------------------- 5. Software disponibile nel sistema Debian ------------------------------------------ 5.1. Quali tipi di applicazioni e software di sviluppo sono disponibili per Debian GNU/Linux? ---------------------------------------------------------------------------- Come la maggior parte delle 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 utilita` 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 a finestre Xorg, che fornisce un'interfaccia grafica orientata alla rete per Linux ed innumerevoli applicazioni per X inclusi gli ambienti desktop GNOME, KDE e Xfce; * una completa suite di applicazioni per la rete, inclusi server per protocolli Internet come HTTP (WWW), FTP, NNTP (news), SMTP e POP (posta) e DNS (server dei nomi); sono forniti anche database relazionali come PostgreSQL e MySQL; sono inoltre forniti browser web inclusi i vari prodotti Mozilla[1]; * un insieme completo di applicazioni per l'ufficio, inclusi la suite di produttivita` OpenOffice.org, Gnumeric e altri fogli di calcolo, editor WYSIWYG, calendari. Sono inclusi nella distribuzione piu` di 28200 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, comunicazione, rete e utilita` per la posta elettronica, server Web e persino programmi per i radioamatori. Altre 187 suite di software sono disponibili come pacchetti Debian, ma non fanno formalmente parte di Debian a causa di restrizioni delle licenze. [1] Questi sono stati tuttavia rimarchiati e sono forniti con nomi diversi a causa di problemi con i marchi registrati 5.2. Chi ha scritto tutto questo software? ------------------------------------------ Per ogni pacchetto gli _autori_ del programma (o dei programmi) sono menzionati nel file `/usr/doc/PACCHETTO/copyright', dove PACCHETTO e` 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 Sezione 7.4, `Cos'e` un file di controllo Debian?') che e` fornito con ogni pacchetto. Anche il changelog Debian, in `/usr/share/doc/PACCHETTO/changelog.Debian.gz', nomina coloro che hanno lavorato alla creazione del pacchetto Debian. 5.3. Come si puo` ottenere una lista aggiornata dei programmi che sono stati impacchettati per Debian? ---------------------------------------------------------------------------- Una lista completa e` disponibile in tutti i mirror Debian (http://www.debian.org/distrib/ftplist), nel file `indices/Maintainers'. Quel file contiene i nomi dei pacchetti e i nomi e gli indirizzi di posta elettronica dei rispettivi manutentori. L'interfaccia WWW ai pacchetti Debian (http://packages.debian.org/) riassume in modo pratico i pacchetti in ciascuna delle circa trenta "sezioni" dell'archivio Debian. 5.4. Come si puo` installare un ambiente di sviluppo per compilare pacchetti? ---------------------------------------------------------------------------- Se si desidera compilare pacchetti nel proprio sistema Debian e` necessario avere un ambiente di sviluppo base, incluso un compilatore C/C++ ed alcuni altri pacchetti essenziali. Per installare questo ambiente e` sufficiente installare il pacchetto `build-essential': esso e` un metapacchetto o pacchetto segnaposto che dipende dagli strumenti standard di sviluppo che sono necessari per compilare un pacchetto Debian. E` comunque possibile che qualche software possa aver bisogno di software aggiuntivo per essere ricompilato, inclusi header di libreria o strumenti addizionali come `autoconf' o `gettext'. Debian fornisce molti degli strumenti necessari per compilare ulteriore software in forma di pacchetti Debian. Scoprire precisamente quale software sia necessario puo` tuttavia essere problematico, a meno che non si desideri ricompilare pacchetti Debian. Quest'ultimo compito e` piuttosto facile, dato che i pacchetti ufficiali devono includere un elenco del software aggiuntivo (oltre ai pacchetti in `build-essential') necessario per compilare il pacchetto; questo elenco e` noto come `Build-Dependencies' (dipendenze di compilazione). Per installare tutti i pacchetti necessari per compilare un dato pacchetto sorgente e quindi effettivamente compilarlo basta eseguire: # apt-get build-dep # apt-get source --build Si noti che se si desiderano compilare i kernel Linux distribuiti da Debian si dovra` installare anche il pacchetto `kernel-package'. Per maggiori informazioni si veda Sezione 10.2, `Quali strumenti fornisce Debian per costruire kernel personalizzati?'. 5.5. Cosa manca da Debian GNU/Linux? ------------------------------------ Esiste un elenco di pacchetti che sono ancora da impacchettare per Debian, l'elenco Work-Needing and Prospective Packages (http://www.debian.org/devel/wnpp/). Per maggiori dettagli sull'aggiunta di cose mancanti, si veda Sezione 13.1, `Come si puo` diventare uno sviluppatore di software Debian?'. 5.6. Perche' ricevo il messaggio "ld: cannot find -lpippo" quando compilo i programmi? Perche' non c'e` alcun file libpippo.so nei pacchetti delle librerie Debian? ---------------------------------------------------------------------------- La Debian Policy richiede che tali collegamenti simbolici (a libpippo.so.x.y.z o simile) siano posti in un pacchetto di sviluppo separato. Questi pacchetti di solito si chiamano libpippo-dev o libpippoX-dev (ammettendo che il pacchetto libreria si chiami libpippoX e che X sia un numero intero). 5.7. Debian supporta Java? (E come?) ------------------------------------ Diverse implementazioni _libere_ della tecnologia Java sono disponibili come pacchetti Debian e forniscono sia Java Development Kit sia ambienti Runtime. Usando Debian si possono scrivere programmi Java, eseguirli e farne il debug. L'esecuzione di un'applet Java richiede un browser web con la capacita` di riconoscerla ed eseguirla. Diversi browser web disponibili in Debian, come Mozilla o Konqueror, supportano i plug-in Java che abilitano l'esecuzione di applet Java al loro interno. Si faccia riferimento alla Java FAQ Debian (http://www.debian.org/doc/manuals/debian-java-faq/) per maggiori informazioni. 5.8. Come si puo` verificare che si sta usando un sistema Debian e che versione e`? ---------------------------------------------------------------------------- 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 del rilascio, 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 e` stato portato su molti altri sistemi operativi ed architetture, questo non e` piu` un metodo affidabile per determinare se un sistema e` Debian GNU/Linux. Gli utenti dovrebbero comunque essere consci del fatto che il sistema Debian consiste di molte parti, ognuna delle quali puo` essere aggiornata (quasi) indipendentemente. Ogni "rilascio" Debian e` formato 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 `pippo', si usi il comando `dpkg --list pippo'. Per vedere la versione di tutti i pacchetti installati, si esegua: dpkg -l Per una descrizione piu` dettagliata, si usi: dpkg --status pippo 5.9. Come fa Debian a supportare le lingue diverse dall'inglese? ---------------------------------------------------------------- * Debian GNU/Linux e` distribuita con mappe di tastiera per quasi due dozzine di tastiere e con utilita` (nel pacchetto `kbd') per installare, vedere e modificare le tabelle. L'installazione chiede all'utente di specificare la tastiera che usa. * La grande maggioranza del software impacchettato supporta interamente i caratteri non-US-ASCII usati in altri linguaggi Latin (ad esempio ISO-8859-1 o ISO-8859-2) ed un certo numero di programmi supporta linguaggi multi-byte come il giapponese o il cinese. * Attualmente e` disponibile il supporto per le pagine di manuale nelle lingue tedesco, spagnolo, finlandese, francese, ungherese, italiano, giapponese, coreano, olandese, polacco, portoghese, russo, turco e cinese attraverso i pacchetti `manpages-LANG' (dove LANG e` il codice ISO a due lettere della nazione). 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' cerchera` poi le pagine di manuale in italiano sotto la directory `/usr/share/man/it/'. 5.10. Dov'e` pine? ------------------ A causa della sua licenza restrittiva, e` nell'area non-free. Inoltre, poiche' 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 e` `pine'. Si puo` usare il pacchetto `pine-tracker' per essere avvisati quando sara` 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. 5.11. Dove e` qmail/ezmlm/djbdns? --------------------------------- Una volta Dan J. Bernstein distribuiva tutto il software che ha scritto (http://cr.yp.to/software.html) con una licenza restrittiva che non permetteva di distribuire i binari modificati. Tuttavia, nel novembre 2007, Bernstein ha detto "[...] ho deciso di rendere tutto il mio software a venire e [...] tutto quello passato di pubbico dominio". Si veda FAQ dai distributori (http://cr.yp.to/distributors.html) per i suoi termini di distribuzione. La situazione nel settembre 2008 vede `daemontools', `djbdns' e `ucspi-tcp' forniti con Debian lenny (nella sezione main). Al momento della stesura di questo testo (09-2008), ne' `qmail' ne' `ezmlm' e` fornito con la sezione main di Debian; si veda il Bug #457318 (ITP qmail) (http://bugs.debian.org/457318) e il Bug #469193 (ITP ezmlm-idx) (http://bugs.debian.org/469193) per la situazione attuale. Nel settembre 2008, `publicfile' non era ancora software libero. 5.12. Dove e` un riproduttore per Flash (SWF)? ---------------------------------------------- Debian fornisce sia `gnash' sia `swfdec': due riproduttori liberi per filmati SWF. 5.13. Dove e` Google Earth? --------------------------- Google Earth e` disponibile per GNU/Linux dal sito web di Google ma, non solo non e` software libero, e` assolutamente non distribuibile da terze parti. `googleearth-package' (nella sezione contrib) puo` tuttavia essere d'aiuto nell'uso di questo software. 5.14. Dove e` il software VoIP? ------------------------------- Per il Voice Over IP vengono usati principalmente due protocolli liberi: SIP e H.323. Entrambi sono implementati da una grande varieta` di software presente nella sezione main di Debian. `ekiga' e` uno dei client piu` popolari. 5.15. Ho una scheda di rete wirelesse che non funziona con Linux. Cosa fare? ---------------------------------------------------------------------------- Comprarne una che funzioni :) In alternativa, usare `ndiswrapper' per usare un driver per Windows (se lo si ha) sul proprio sistema Linux. Si veda la pagina su ndiswapper nel Debian Wiki (http://wiki.debian.org/NdisWrapper) per maggiori informazioni. ------------------------------------------------------------------------------- 6. Gli archivi FTP Debian ------------------------- 6.1. Quante distribuzioni Debian ci sono? ----------------------------------------- Esistono tre distribuzioni principali: la distribuzione "stable" (stabile), la distribuzione "testing" (in test) e la distribuzione "unstable" (instabile). La distribuzione "testing" e` a volte congelata, "frozen" (si veda Sezione 6.6, `Cosa dire di "testing"? Come viene "congelata"?'). Oltre a queste c'e` la distribuzione "oldstable" (che e` semplicemente quella che ha preceduto "stable") e quella "experimental". Experimental e` usata per i pacchetti che sono ancora in fase di sviluppo e con un alto rischio di danneggiamento del sistema. Viene usata da sviluppatori che vogliono studiare e testare software recentissimo. Gli utenti non dovrebbero usare pacchetti provienienti da li` perche' questi possono essere pericolosi e creare danni anche per le persone piu` esperte. Si veda Capitolo 3, `Scegliere una distribuzione Debian' per un aiuto riguardante la scelta di una distribuzione Debian. 6.2. Cosa sono tutti quei nomi come etch, lenny, ecc.? ------------------------------------------------------ Sono solo "nomi in codice". Quando una distribuzione Debian e` in fase di sviluppo non ha un numero di versione ma un nome in codice. Lo scopo di questi nomi in codice e` di rendere piu` semplice la creazione di mirror delle distribuzioni Debian (se una directory reale come `unstable' cambiasse improvvisamente il nome in `stable', moltissima roba dovrebbe essere inutilmente scaricata di nuovo). Attualmente, `stable' e` un collegamento simbolico a `squeeze' (ovvero Debian GNU/Linux 6.0) e `testing' e` un collegamento simbolico a `wheezy'. Questo significa che `squeeze' e` la distribuzione stable attuale e che `wheezy' e` la distribuzione testing attuale. `unstable' e` un collegamento simbolico permanente a `sid', dato che `sid' e` sempre la distribuzione unstable (si veda Sezione 6.3, `Cosa dire a proposito di "sid"?'). 6.2.1. Quali altri nomi in codice sono stati usati in passato? -------------------------------------------------------------- Altri nomi in codice che sono gia` stati usati sono: `buzz' per il rilascio 1.1, `rex' per il rilascio 1.2, `bo' per il rilascio 1.3.x, `hamm' per il rilascio 2.0, `slink' per il rilascio 2.1, `potato' per il rilascio 2.2, `woody' per il rilascio 3.0, `sarge' per il rilascio 3.1 ed `etch' per il rilascio 4.0. 6.2.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)), * _lenny_ era il binocolo giocattolo, * _squeeze_ erano gli alieni con tre occhi, * _sid_ era il bambino della casa accanto casa che distruggeva i giocattoli. 6.3. Cosa dire a proposito di "sid"? ------------------------------------ _sid_ o _unstable_ e` il posto in cui la maggior parte dei pacchetti viene inizialmente caricata. Non sara` mai direttamente rilasciata, perche' i pacchetti che devono essere rilasciati devono prima essere inclusi in _testing_, per poter essere rilasciati in _stable_ piu` 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 della porta accanto che distruggeva i giocattoli :-) [1] [1] Quando l'attuale sid non esisteva, l'organizzazione del sito FTP aveva un grande difetto: 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 e` vero, con il risultato che quelle directory dovevano essere spostate al momento del rilascio. Cio` era poco pratico, poiche' lo spostamento avrebbe divorato grosse quantita` di banda. Gli amministratori dell'archivio hanno aggirato questo problema per diversi anni collocando i binari delle architetture non rilasciate in una directory speciale chiamata "sid". Per quelle architetture non ancora rilasciate, al primo rilascio c'era un collegamento da stable a sid e da quel momento in poi venivano create all'interno dell'albero unstable come di norma. Tutto cio` era motivo di confusione per gli utenti. Con l'avvento dei pool di pacchetti (si veda Sezione 6.11, `Cosa c'e` nella directory `pool'?'), i pacchetti binari cominciarono ad essere immagazzinati in una posizione canonica nel pool, indipendentemente dalla distribuzione, cosi` il rilascio di una distribuzione non determina piu` grande dispendio di banda sui mirror (c'e`, ovviamente, un notevole graduale consumo di banda durante la fase di sviluppo). 6.4. Cosa contiene la directory stable? --------------------------------------- * stable/main/: questa directory contiene i pacchetti che costituiscono formalmente il rilascio piu` recente del sistema Debian GNU/Linux. Tutti questi pacchetti sono conformi alle DFSG - Linee guida Debian per il software libero (http://www.debian.org/social_contract#guidelines) e sono tutti liberamente utilizzabili e distribuibili. * stable/non-free/: questa directory contiene i pacchetti la cui distribuzione e` limitata in modo tale da richiedere che i distributori prendano attentamente in considerazione i loro requisiti specifici relativi al copyright. Per esempio, alcuni pacchetti hanno licenze che ne vietano la distribuzione commerciale. Altri possono essere redistribuiti, ma sono di fatto shareware e non software libero. Le licenze di ognuno di questi pacchetti devono essere studiate e possibilmente negoziate prima che tali pacchetti possano essere inclusi in qualsiasi redistribuzione (per esempio, in un CD-ROM). * stable/contrib/: questa directory contiene i pacchetti che sono di per se' liberi in base alle DFSG e _liberamente distribuibili_, ma dipendono in qualche modo da un pacchetto che _non_ e` liberamente distribuibile ed e` quindi disponibile solo nella sezione non-free. 6.5. Cosa contiene la distribuzione 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 avere dipendenze tali da renderli non installabili; devono inoltre avere meno bachi critici per il rilascio delle versioni attualmente in testing. In questo modo, si auspica che "testing" sia sempre vicina ad essere una candidata al rilascio. Maggiori informazioni sullo stato di "testing" in generale e dei singoli pacchetti sono disponibili su http://www.debian.org/devel/testing. 6.6. Cosa dire di "testing"? Come viene "congelata"? ---------------------------------------------------- Quando la distribuzione "testing" e` abbastanza matura, il responsabile del rilascio inizia a "congelarla". I normali ritardi di diffusione vengono aumentati per assicurare che entri da "unstable" in "testing" il minor numero di bachi possibile. Dopo un po', la distribuzione "testing" diventa realmente "congelata" (frozen). Cio` significa che tutti i nuovi pacchetti da mettere in "testing" sono trattenuti, a meno che non contengano le soluzioni a bachi critici per il rilascio. La distribuzione "testing" puo` anche rimanere in questo stato di "surgelamento" durante i cosiddetti "cicli di test", quando il rilascio e` imminente. Viene tenuto un registro dei bachi nella distribuzione "testing" che possono impedire ad un pacchetto di essere rilasciato, o dei bachi che possono impedire l'intero rilascio. Per i dettagli si vedano le informazioni sull'attuale rilascio testing (http://www.debian.org/releases/testing/). Una volta che il numero dei bachi si abbassa sotto i valori massimi accettabili, la distribuzione "congelata" viene dichiarata "stable" e rilasciata con un proprio numero di versione. Ad ogni nuovo rilascio, 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). 6.7. Cosa contiene la directory unstable? ----------------------------------------- La directory "unstable" contiene un'istantanea del sistema attualmente 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" e` che si e` sempre aggiornati con la piu` recente industria di software in GNU/Linux, ma se si rompe, i cocci sono vostri :-) Anche in "unstable" ci sono le sottodirectory main, contrib e non-free, separate con lo stesso criterio adottato in "stable". 6.8. Cosa sono tutte quelle directory negli archivi FTP Debian? --------------------------------------------------------------- Il software che e` stato impacchettato per Debian GNU/Linux e` disponibile in uno dei diversi alberi di directory in ogni sito mirror Debian. La directory `dists' e` l'abbreviazione di "distribuzioni" ed e` il percorso canonico per accedere ai rilasci (e pre-rilasci) Debian attualmente disponibili. La directory `pool' contiene i pacchetti effettivi, si veda Sezione 6.11, `Cosa c'e` nella directory `pool'?'. Ci sono queste directory aggiuntive: _/tools/_: utilita` DOS per creare dischi di avvio, partizionare il proprio disco, comprimere/decomprimere file e avviare Linux. _/doc/_: la documentazione di base di Debian, come queste FAQ, le istruzioni del sistema di segnalazione dei bachi, ecc. _/indices/_: vari indici del sito (il file dei manutentori e i file override). _/project/_:> per la maggior parte materiale solo per gli sviluppatori e file vari. 6.9. Cosa sono tutte quelle directory dentro a `dists/stable/main'? ------------------------------------------------------------------- All'interno di ciascuno degli alberi di directory principali[1], ci sono tre insiemi di sottodirectory contenenti file indice. C'e` un gruppo di sottodirectory `binary-' che contengono i file indice per i pacchetti binari di ciascuna architettura disponibile, per esempio `binary-i386' per i pacchetti che si possono eseguire su macchine PC Intel x86 o `binary-sparc' per i pacchetti da eseguire su SPARCStation Sun. L'elenco completo delle architetture disponibili per ciascun rilascio e` disponibile alla pagina web dei rilasci (http://www.debian.org/releases/). Per il rilascio attuale, si veda Sezione 4.1, `Su quali architetture e/o sistemi hardware funziona Debian GNU/Linux?'. I file indice in binary-* si chiamano Packages(.gz, .bz2) e contengono un riassunto di ciascun pacchetto binario che e` incluso in quella distribuzione. I pacchetti binari effettivi risiedono nella directory di livello piu` alto `pool'. Inoltre esiste una sottodirectory chiamata source/ che contiene i file indice dei pacchetti sorgenti inclusi nella distribuzione. Il file indice si chiama Sources(.gz, .bz2). Da ultimo, ma non per importanza, c'e` un gruppo di sottodirectory pensate per i file indice del sistema di installazione: sono in `debian-installer/binary-'. [1] `dists/stable/main', `dists/stable/contrib', `dists/stable/non-free' e `dists/unstable/main/', ecc. 6.10. Dov'e` il codice sorgente? -------------------------------- Viene fornito il codice sorgente per tutto cio` che e` 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 fornire il codice sorgente li accompagni. Il codice sorgente viene distribuito nella directory `pool' (si veda Sezione 6.11, `Cosa c'e` nella directory `pool'?') insieme con tutte le directory dei binari specifiche per le architetture. Per ottenere il codice sorgente senza la necessita` di avere familiarita` 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 di restrizioni nelle loro licenze. In particolare, uno di questi pacchetti e` `pine', si veda Sezione 5.10, `Dov'e` pine?' per maggiori informazioni. Per i pacchetti nelle directory "contrib" e "non-free", che non sono formalmente parte del sistema Debian, il codice sorgente puo` essere disponibile o no. 6.11. Cosa c'e` nella directory `pool'? --------------------------------------- I pacchetti vengono tenuti in un grosso "pool", strutturato in base ai nomi dei pacchetti sorgente. Per rendere il tutto usabile, il pool e` suddiviso in sezioni ("main", "contrib" e "non-free") e in base alla prima lettera del nome dei pacchetti sorgente. Queste directory contengono diversi file: i pacchetti binari per ciascuna architettura e i pacchetti sorgente da cui sono stati generati i pacchetti binari. Si puo` scoprire dove ciascun pacchetto e` situato eseguendo un comando come `apt-cache showsrc nomedelmiopacchetto' e guardando la riga "Directory:". Per esempio, i pacchetti `apache' sono immagazzinati in `pool/main/a/apache/'. Inoltre, poiche' ci sono cosi` tanti pacchetti `lib*', questi vengono trattati in maniera particolare: per esempio, i pacchetti libpaper sono immagazzinati in `pool/main/libp/libpaper/'. [1] [1] Storicamente, i pacchetti erano tenuti nella sottodirectory di `dists' corrispondente alla distribuzione di cui facevano parte. Questo si e` rivelato fonte di vari problemi, come un grosso consumo di banda dei mirror ogni volta che venivano fatti dei cambiamenti di grossa portata; la cosa e` stata risolta con l'introduzione dei pool di pacchetti. Le directory `dists' vengono ancora utilizzate per i file indice usati da programmi come `apt'. 6.12. Cos'e` "incoming"? ------------------------ Dopo che uno sviluppatore carica un pacchetto, questo resta per un po' nella directory "incoming" prima che ne venga controllata la genuinita` e che venga accettato nell'archivio. Normalmente nessuno dovrebbe installare cose da questo posto. Comunque, per alcuni rari casi di emergenza, la directory incoming e` disponibile su http://incoming.debian.org/. Si possono scaricare i pacchetti manualmente, controllare la firma GPG e i codici di controllo MD5 nei file .changes e .dsc, e poi installarli. 6.13. Come impostare un proprio repository usabile con apt? ----------------------------------------------------------- Se si sono compilati alcuni pacchetti Debian privati che si desiderano installare usando gli strumenti standard per la gestione dei pacchetti Debian, si puo` impostare un proprio archivio di pacchetti usabile con apt. Questo e` utile anche se si desiderano condividere i propri pacchetti Debian quando questi non sono distribuiti dal progetto Debian. Le istruzioni per farlo sono contenute nel Debian Repository HOWTO (http://www.debian.org/doc/manuals/repository-howto/repository-howto). ------------------------------------------------------------------------------- 7. Fondamenti sul sistema di gestione dei pacchetti Debian ---------------------------------------------------------- Questo capitolo tratta alcuni aspetti dettagliati a basso livello della gestione dei pacchetti di Debian. Se si e` principalmente interessati nell'_uso_ degli strumenti relativi, si salti ai capitoli Capitolo 8, `Gli strumenti di gestione dei pacchetti Debian' e Capitolo 9, `Mantenere il proprio sistema Debian aggiornato'. 7.1. Cos'e` un pacchetto Debian? -------------------------------- I pacchetti generalmente contengono tutti quei file necessari ad implementare una serie di comandi o funzionalita` correlate. 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 Sezione 7.2, `Qual e` il formato di un pacchetto binario Debian?'); sono solitamente caratterizzati dall'estensione ".deb". I pacchetti binari possono essere spacchettati usando l'utilita` Debian `dpkg' (opzionalmente tramite un frontend come `aptitude'); i dettagli sono 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'utilita` `dpkg-source' pacchetta e spacchetta gli archivi sorgente Debian; i dettagli sono forniti nella sua pagina di manuale. (Il programma `apt-get' puo` essere usato come frontend per `dpkg-source'.) 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 GNU (`gcc') "dipende" dal pacchetto `binutils' che include il linker e l'assemblatore. Se un utente tenta di installare `gcc' senza avere prima installato `binutils', il sistema di gestione dei pacchetti (dpkg) invia un messaggio di errore avvertendo che necessita anche di `binutils', e ferma l'installazione di `gcc'. (Questa funzione puo` essere tuttavia aggirata dall'utente tenace, si veda dpkg(8).) Per maggiori informazioni, si veda Sezione 7.9, `Cosa significa dire che un pacchetto _Dipende_ da, _Raccomanda_, _Suggerisce_, _Va in conflitto_ con, _Sostituisce_, _Rompe_ o _Fornisce_ un altro pacchetto?' piu` sotto. Gli strumenti Debian per i pacchetti possono essere usati per: * manipolare e gestire pacchetti o parti di pacchetti, * amministrare le deviazioni locali dei file in un pacchetto, * aiutare gli sviluppatori nella costruzione degli archivi dei pacchetti e * aiutare gli utenti nell'installazione di pacchetti che sono in un sito FTP remoto. 7.2. Qual e` il formato di un pacchetto binario Debian? ------------------------------------------------------- Un "pacchetto" Debian, o un file archivio Debian, contiene i file eseguibili, le librerie e la documentazione associati ad una particolare suite di programmi o ad un particolare gruppo di programmi correlati. Normalmente, un file archivio Debian ha un nome che termina in `.deb'. I dettagli di questo formato per i pacchetti binari Debian sono descritti nella pagina di manuale deb(5). Questo formato interno e` soggetto a modifiche (tra diversi rilasci principali di Debian GNU/Linux), quindi usare sempre dpkg-deb(1) se si devono effettuare manipolazioni a basso livello di file `.deb'. 7.3. Perche' i nomi dei pacchetti Debian sono cosi` lunghi? ----------------------------------------------------------- Il nome dei pacchetti binari Debian segue la seguente convenzione: _-_.deb Si noti che `pippo' dovrebbe essere il nome del pacchetto. Come verifica, si puo` conoscere il nome del pacchetto associato ad un particolare file di archivio Debian (file.deb) in uno dei modi seguenti. * 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 e` il nome formale del pacchetto. * Utilizzando il comando `dpkg --info pippo_VVV-RRR_AAA.deb' (dove VVV, RRR e AAA sono rispettivamente la versione, la revisione e l'architettura del pacchetto in questione). Questo mostra, tra le altre cose, il nome del pacchetto corrispondente al file archivio spacchettato. La parte `VVV' e` il numero di versione specificato dallo sviluppatore originale. Qui non ci sono standard, per cui il numero di versione puo` avere formati differenti come "19990513" e "1.3.8pre1". La parte `RRR' e` il numero di revisione Debian e viene specificata dallo sviluppatore Debian (o il singolo utente se sceglie di crearsi il pacchetto da se'). 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 (`debian/control'), negli script di installazione o rimozione (`debian/p*') oppure nei file di configurazione utilizzati con il pacchetto. La parte `AAA' identifica il processore per cui e` stato compilato il pacchetto. E` solitamente `i386', che si riferisce ai chip compatibili con Intel 386 o versioni successive. Per altre possibilita` si veda la struttura delle directory dei siti FTP di Debian in Sezione 6.8, `Cosa sono tutte quelle directory negli archivi FTP Debian?'. Per dettagli, si veda la descrizione delle "architetture Debian" nella pagina di manuale dpkg-architecture(1). 7.4. Cos'e` un file di controllo Debian? ---------------------------------------- Le specifiche riguardanti il contenuto di un file di controllo Debian sono fornite nel manuale Debian Policy, sezione 5, si veda Sezione 12.1, `Quale altra documentazione esiste su e per un sistema Debian?'. Brevemente, un esempio di file di controllo e` mostrato di seguito per il pacchetto Debian hello: Package: hello Priority: optional Section: devel Installed-Size: 45 Maintainer: Adam Heath Architecture: i386 Version: 1.3-16 Depends: libc6 (>= 2.1) Description: il classico saluto e un buon esempio Il programma GNU hello produce un familiare e amichevole saluto. Consente ai non programmatori di usare un classico strumento informatico che altrimenti non sarebbe disponibile per loro. . A parte gli scherzi, questo e` un esempio di come creare un pacchetto Debian. E` la versione Debian del programma "hello world" del progetto GNU (che e` esso stesso un esempio per il progetto GNU). Il campo Package fornisce il nome del pacchetto. Questo e` il nome attraverso il quale il pacchetto puo` essere manipolato con gli strumenti per i pacchetti ed e` solitamente simile, ma non necessariamente identico, alla prima parte della stringa del nome dell'archivio Debian. Il campo Version fornisce sia il numero della versione dello sviluppatore originale, sia (nell'ultima parte) il livello di revisione del pacchetto Debian di questo programma, come spiegato in Sezione 7.3, `Perche' i nomi dei pacchetti Debian sono cosi` lunghi?'. Il campo Architecture specifica il chip per il quale questo particolare binario e` 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 occupera` il pacchetto installato. E` pensato per essere usato dai frontend di installazione in modo da poter mostrare se c'e` abbastanza spazio disponibile su disco per installare il programma. La riga Section fornisce la "sezione" in cui questo pacchetto Debian e` archiviato presso i siti FTP Debian. Priority indica quanto e` importante questo pacchetto per l'installazione, cosi` che i software semi-intelligenti come dselect o aptitude possano ordinare il pacchetto dentro una categoria di, ad esempio, pacchetti installati in modo opzionale. Si veda Sezione 7.7, `Cosa sono i pacchetti _Essential_, _Required_, _Important_, _Standard_, _Optional_ o _Extra_?'. Il campo Maintainer fornisce l'indirizzo di posta elettronica della persona che e` attualmente responsabile della manutenzione di questo pacchetto. Il campo Description fornisce un breve riassunto delle funzionalita` del pacchetto. Per ulteriori informazioni riguardo tutti i campi possibili che puo` avere un pacchetto, si veda il manuale Debian Policy, sezione 5, "Control files and their fields" (vedere Sezione 12.1, `Quale altra documentazione esiste su e per un sistema Debian?'). 7.5. Cos'e` un conffile Debian? ------------------------------- Conffiles e` una lista di file di configurazione (solitamente situati in `/etc') che il sistema di gestione dei pacchetti non sovrascrivera` quando il pacchetto viene aggiornato. Questo assicura che i valori locali per il contenuto di questi file vengano preservati, ed e` una caratteristica critica che permette l'aggiornamento in loco di pacchetti su un sistema in esecuzione. Per determinare esattamente quali file sono preservati durante un aggiornamento, si esegua: dpkg --status pacchetto e si guardi alla voce "Conffiles:". 7.6. Cosa sono gli script preinst, postinst, prerm e postrm di Debian? ---------------------------------------------------------------------- Questi file sono script eseguibili che vengono automaticamente eseguiti prima o dopo l'installazione di un pacchetto. Insieme ad un file chiamato `control', tutti questi file sono parte della sezione "control" di un file archivio 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 `pippo' una volta che `pippo' e` 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 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 e` 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 o altri file associati a `pippo', e/o rimuove i file creati da quel pacchetto. (Si veda anche Sezione 7.8, `Cos'e` un pacchetto virtuale?'.) Attualmente tutti i file di controllo si possono trovare nella directory `/var/lib/dpkg/info'. I file attinenti al pacchetto `pippo' iniziano con il nome "pippo" ed hanno le estensioni "preinst", "postinst", ecc., a seconda della funzione. Il file `pippo.list' nella stessa directory elenca tutti i file installati con il pacchetto `pippo'. (Si noti che la localizzazione di questi file e` un dato tecnico interno di dpkg; non ci si dovrebbe fare affidamento.) 7.7. Cosa sono i pacchetti _Essential_, _Required_, _Important_, _Standard_, _Optional_ o _Extra_? ---------------------------------------------------------------------------- Ad ogni pacchetto Debian viene assegnata una _priorita`_ dai manutentori della distribuzione, come aiuto al sistema di gestione dei pacchetti. Le priorita` sono: * _Required (Richiesto)_: pacchetti necessari al corretto funzionamento del sistema. Comprendono tutti gli strumenti necessari per riparare difetti di sistema. Questi pacchetti non devono essere rimossi 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 funzionalita` per permettere all'amministratore di sistema di avviare ed installare altri programmi. * _Important (Importante)_: pacchetti che si dovrebbero trovare su tutti i sistemi *nix. Comprendono altri pacchetti senza i quali il sistema non funziona bene o non sarebbe utilizzabile. Tra questi _NON_ sono inclusi Emacs o X 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. Sono inclusi strumenti per poter navigare nel web (usando w3m), inviare posta elettronica (con mutt) e scaricare file da server FTP. Questo e` cio` che viene installato di base se l'utente non seleziona nient'altro. Non include molte grosse applicazioni, ma include l'interprete Python e qualche software server come OpenSSH (per amministrazione da remoto), Exim (per la consegna della posta, anche se puo` essere configurato solo per la consegna locale), un server identd (pidentd) e lo strumento portmap RPC (`portmap'). Include anche della documentazione generica comune che puo` essere utile per la maggior parte degli utenti. * _Optional (Opzionale)_: pacchetti che comprendono tutto quello che si puo` voler installare senza nemmeno sapere cos'e`, o se non si hanno delle necessita` particolari. Comprendono X, una distribuzione completa di TeX e molte applicazioni. * _Extra_: pacchetti che o entrano in conflitto con altri di priorita` piu` alta, probabilmente utili se gia` si sa a cosa servono, oppure hanno requisiti speciali che li rendono non adatti come "Optional". Se si fa un'installazione Debian predefinita verranno installati sul sistema tutti i pacchetti di priorita` _Standard_ o maggiore. Se si selezionano attivita` predefinite si otterranno anche pacchetti con priorita` piu` bassa. In aggiunta, alcuni pacchetti sono marcati come _Essential (Essenziali)_ dato che sono assolutamente necessari per il corretto funzionamento del sistema. Gli strumenti di gestione dei pacchetti si rifiuteranno di rimuoverli. 7.8. Cos'e` un pacchetto virtuale? ---------------------------------- Un pacchetto virtuale e` un nome generico che si applica ad ognuno dei componenti di un gruppo di pacchetti, che forniscono funzionalita` di base simili. Per esempio, entrambi i programmi `tin' e `trn' sono newsreader e dovrebbero quindi soddisfare qualsiasi dipendenza di un programma che richiede un newsreader sul sistema, per poter funzionare o essere utile. Si dice quindi che entrambi forniscono il "pacchetto virtuale" chiamato `news-reader'. Similmente, `smail' e `sendmail' forniscono entrambi la funzionalita` di agente di trasporto posta. Si dice quindi che fornisco il pacchetto virtuale "mail transport agent". Se uno qualsiasi dei due e` installato, allora ogni pacchetto che dipende dall'installazione di un `mail-transport-agent' vedra` le proprie dipendenze soddisfatte dall'esistenza di questo pacchetto virtuale. Debian fornisce un meccanismo in modo che, se piu` di un pacchetto che fornisce lo stesso pacchetto virtuale e` installato su di un sistema, l'amministratore di sistema puo` allora impostarne uno come pacchetto preferito. Il relativo comando e` `update-alternatives' ed e` descritto piu` in dettaglio in Sezione 11.10, `Ad alcuni utenti piace mawk, ad altri gawk; ad alcuni piace vim, ad altri elvis; ad alcuni piace trn, ad altri tin; come supporta Debian le diversita`?'. 7.9. Cosa significa dire che un pacchetto _Dipende_ da, _Raccomanda_, _Suggerisce_, _Va in conflitto_ con, _Sostituisce_, _Rompe_ 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 a cui, su un dato sistema, un determinato Programma A puo` funzionare indipendentemente dall'esistenza di un Programma B. * 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 e` solitamente un limite inferiore, nel senso che A dipende da qualsiasi versione di B piu` 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 funzionalita` fornite da B. * 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 e` in grado di funzionare se B e` 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" e` associato a "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 _rompe_ il pacchetto B quando non e` possibile configurare simultaneamente entrambi i pacchetti su un sistema. Il sistema di gestione dei pacchetti si rifiuta di installare uno se l'altro e` gia` installato e configurato sul sistema. * Il pacchetto A _fornisce_ il Pacchetto B quando tutti i file e le funzionalita` 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 piu` dettagliate sull'utilizzo di ognuno di questi termini possono essere trovate nel manuale Policy, sezione 7.2 "Binary Dependencies" (vedere Sezione 12.1, `Quale altra documentazione esiste su e per un sistema Debian?'). 7.10. Cosa significa Pre-Depends? --------------------------------- "Pre-Depends" e` una dipendenza speciale. Per la maggior parte dei pacchetti, `dpkg' spacchetta il loro file di archivio (ovvero il loro file `.deb') indipendentemente dal fatto che i file da cui dipendono siano o meno sul sistema. Semplificando, spacchettare vuol dire che `dpkg' estrae i file da installare dall'archivio e li mette al loro posto. Se quei pacchetti _dipendono_ dall'esistenza di qualche altro pacchetto sul sistema, `dpkg' si rifiuta di completare l'installazione (eseguendo l'azione "configura"), finche' gli altri pacchetti non sono installati. Tuttavia, per alcuni pacchetti, `dpkg' si rifiuta persino di spacchettarli finche' certe dipendenze non vengono risolte. Tali pacchetti si dice che "Pre-dipendono" dalla presenza di altri pacchetti. Il progetto Debian aveva fornito 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 e` utile, per esempio pacchetti con priorita` richiesta e la loro dipendenza da libC. Come sopra, informazioni piu` dettagliate al riguardo possono essere reperite nel manuale Debian Policy. 7.11. Cosa significano _sconosciuto_, _installa_, _rimuovi_, _elimina_ e _blocca_ nello stato di un pacchetto? ---------------------------------------------------------------------------- Queste etichette dei "desiderata" indicano il volere dell'utente riguardo ad un pacchetto (come indicato dalle azioni dell'utente nella sezione "Seleziona" di `dselect' o dall'invocazione diretta di `dpkg'). I loro significati sono: * sconosciuto - l'utente non ha mai indicato se vuole il pacchetto; * installa - l'utente vuole che il pacchetto sia installato o aggiornato; * rimuovi - l'utente vuole che sia rimosso il pacchetto, ma non i file di configurazione esistenti; * elimina - l'utente vuole che il pacchetto sia completamente rimosso, compresi i file di configurazione; * blocca - l'utente non vuole che il pacchetto sia processato, ovvero vuole mantenere la versione attuale con lo stato attuale, qualunque essi siano. 7.12. Come blocco un pacchetto? ------------------------------- Esistono tre modi per bloccare (hold) pacchetti, con dpkg, aptitude o dselect. Con dpkg, si deve solo esportare la lista delle selezioni dei pacchetti con: dpkg --get-selections \* > selezione.txt Poi modificare il file risultante `selezione.txt', cambiando la riga contenente il pacchetto che si desidera bloccare, per esempio `libc6', da questo: libc6 install a questo: libc6 hold Salvare il file e ricaricarlo nel database di dpkg con: dpkg --set-selections < selezione.txt Con aptitude, si puo` bloccare un pacchetto usando aptitude hold nome_pacchetto e rimuovere il blocco con aptitude unhold nome_pacchetto Con dselect, si deve entrare nella schermata [S]eleziona, trovare il pacchetto che si desidera bloccare nel suo stato attuale e premere il tasto "=" (o "H"). Le modifiche diverranno attive immediatamente dopo che si e` usciti dalla schermata [S]eleziona. 7.13. Come si installa un pacchetto sorgente? --------------------------------------------- I pacchetti sorgente Debian non possono realmente venire "installati", vengono solo spacchettati in qualsiasi directory in cui si vogliano 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 sara` in grado di scaricare facilmente qualsiasi pacchetto sorgente eseguendo apt-get source pippo Per aiutare nella reale compilazione del pacchetto sorgente, i pacchetti sorgente Debian forniscono il cosiddetto meccanismo di dipendenze di compilazione. Significa che il manutentore del pacchetto sorgente mantiene una lista di altri pacchetti che sono richiesti per compilare il loro pacchetto. Per vedere come questo sia utile, si esegua apt-get build-dep pippo prima di compilare il sorgente. 7.14. Come si compilano pacchetti binari da un pacchetto sorgente? ------------------------------------------------------------------ Il metodo consigliato e` usare vari strumenti wrapper. Mostreremo come farlo usando gli strumenti `devscripts'. Installare questo pacchetto se non e` ancora stato fatto. Ora, come prima cosa recuperare il pacchetto sorgente: apt-get source pippo e spostarsi nell'albero dei sorgenti: cd pippo-* Poi installare le dipendenze di compilazione necessarie (se ce ne sono): sudo apt-get build-dep pippo Creare quindi una versione dedicata della propria compilazione (in modo da non confondersi successivamente quando Debian stessa rilascera` una nuova versione) dch -l local 'Bla bla bla' Da ultimo compilare il proprio pacchetto debuild -us -uc Se tutto ha funzionato a dovere, dovrebbe essere ora possibile installare il proprio pacchetto eseguendo sudo dpkg -i ../*.deb Se si preferisce fare le cose a mano, e non si vuole usare `devscripts', seguire la procedura seguente: Si avra` bisogno di tutti i file pippo_*.dsc, pippo_*.tar.gz e pippo_*.diff.gz per compilare i sorgenti (nota: non c'e` nessun .diff.gz per alcuni pacchetti che sono nativi di Debian). Una volta che li si ha (Sezione 7.13, `Come si installa un pacchetto sorgente?'), se si ha il pacchetto `dpkg-dev' installato, il seguente comando: dpkg-source -x pippo_versione-revisione.dsc estrarra` il pacchetto in una directory denominata `pippo-versione'. Se si vuole solo compilare il pacchetto, si puo` entrare nella directory `pippo-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 ../pippo_versione-revisione_arch.deb per installare il pacchetto appena compilato. 7.15. Come ci si crea pacchetti Debian da se'? ---------------------------------------------- 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. ------------------------------------------------------------------------------- 8. Gli strumenti di gestione dei pacchetti Debian ------------------------------------------------- 8.1. Quali programmi fornisce Debian per gestire i suoi pacchetti? ------------------------------------------------------------------ Esistono diversi strumenti che vengono usati per gestire i pacchetti Debian, dalle interfacce grafiche o testuali agli strumenti a basso livello usati per installare i pacchetti. Tutti gli strumenti disponibili, per funzionare correttamente, si appoggiano sugli strumenti di piu` basso livello e vengono elencati qui in ordine di complessita decrescente. E` importante capire che gli strumenti di gestione dei pacchetti di piu` alto livello, come `aptitude' o `dselect' si appoggiano su `apt' che si appoggia, a sua volta, su `dpkg' per gestire i pacchetti nel sistema. Si veda l'APT HOWTO (http://www.debian.org/doc/manuals/apt-howto/) per maggiori informazioni sulle utilita` di gestione dei pacchetti di Debian. Tale documento e` disponibile in diverse lingue e formati; si veda la voce APT HOWTO nella panoramica dei manuali per l'utente di DDP (http://www.debian.org/doc/user-manuals#apt-howto). 8.1.1. dpkg ----------- Questo e` il principale programma di gestione dei pacchetti. `dpkg' puo` essere invocato con molte opzioni. Quelli che seguono sono alcuni degli usi comuni. * Scoprire tutte le opzioni: `dpkg --help'. * Stampare il file di controllo (ed altre informazioni) di un specifico pacchetto: `dpkg --info pippo_VVV-RRR.deb' * Installare un pacchetto (incluso lo spacchettamento e la configurazione) nel file system dell'hard disk: `dpkg --install pippo_VVV-RRR.deb'. * Spacchettare (ma non configurare) un archivio Debian sul file system dell'hard disk: `dpkg --unpack pippo_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 gia` installata del programma ed esegue lo script preinst (si veda Sezione 7.6, `Cosa sono gli script preinst, postinst, prerm e postrm di Debian?') associato al pacchetto. * Configurare un pacchetto che e` gia` stato spacchettato: `dpkg --configure pippo'. Tra le altre cose, questa azione esegue lo script postinst (si veda Sezione 7.6, `Cosa sono gli script preinst, postinst, prerm e postrm di Debian?') associato al pacchetto. Aggiorna inoltre i file elencati in `conffiles' per questo pacchetto. Si faccia attenzione che l'operazione "configure" prende come argomento il nome del pacchetto (ad esempio, pippo), _non_ il nome del file archivio Debian (ad esempio, pippo_VVV-RRR.deb). * Estrarre un unico file chiamato "ciccia" (o un gruppo di file chiamati "ciccia*" da un archivio Debian: `dpkg --fsys-tarfile pippo_VVV-RRR.deb | tar -xf - ciccia*' * Rimuovere un pacchetto (ma non i suoi file di configurazione): `dpkg --remove pippo'. * Rimuovere un pacchetto (inclusi i suoi file di configurazione): `dpkg --purge pippo'. * Elencare lo stato d'installazione dei pacchetti contenenti la stringa (o l'espressione regolare) "pippo*": `dpkg --list 'pippo*''. 8.1.2. APT ---------- APT e` lo _strumento avanzato per i pacchetti (Advanced Package Tool)_ e fornisce il programma `apt-get' . `apt-get' fornisce un metodo semplice per recuperare e installare i pacchetti da fonti multiple usando la riga di comando. A differenza di `dpkg', `apt-get' non capisce i file .deb, funziona con i nomi appropriati dei pacchetti e puo` solo installare gli archivi .deb da una fonte specificata in `/etc/apt/sources.list'. `apt-get' chiama `dpkg' direttamente dopo aver scaricato gli archivi .deb[1] dalle fonti configurate. Quelli che seguono sono alcuni dei modi comuni di usare `apt-get'. * Per aggiornare l'elenco dei pacchetti conosciuti dal sistema, si puo` eseguire: apt-get update (lo si dovrebbe eseguire regolarmente per aggiornare il proprio elenco di pacchetti) * Per aggiornare tutti i pacchetti sul sistema (senza installare pacchetti aggiuntivi o rimuovere pacchetti), si esegua: apt-get upgrade * Per installare il pacchetto e tutte le sue dipendenze, si esegua: apt-get install pippo * Per rimuovere il pacchetto pippo dal sistema, si esegua: apt-get remove pippo * Per rimuovere il pacchetto pippo e i suoi file di configurazione dal sistema, si esegua: apt-get --purge remove pippo * Per aggiornare tutti i pacchetti sul sistema e, se necessario per l'aggiornamento di un pacchetto, installare pacchetti aggiuntivi o rimuovere pacchetti, si esegua: apt-get dist-upgrade (Il comando `upgrade' mantiene un pacchetto nella sua versione installata obsoleta se l'aggiornamento necessita l'installazione di un pacchetto aggiuntivo per soddisfare una nuova dipendenza. Il comando `dist-upgrade' e` meno conservativo.) Si noti che si deve aver fatto il login come root per eseguire qualsiasi comando che modifichi i pacchetti di sistema. Si noti che `apt-get' ora installa in modo predefinito i pacchetti raccomandati ed e`, per la sua solidita`, il programma consigliato per la gestione dei pacchetti dalla console, per eseguire installazioni sul sistema e aggiornamenti principali del sistema. La suite di strumenti apt include anche lo strumento `apt-cache' per interrogare l'elenco dei pacchettil Lo si puo` usare per trovare i pacchetti che forniscono una funzionalita` specifica, attraverso l'uso di interrogazioni con testo semplice o espressioni regolari e con interrogazioni sulle dipendenze nel sistema di gestione dei pacchetti. Alcuni dei modi comuni di usare `apt-cache' sono i seguenti. * Per trovare pacchetti la cui descrizione contiene : apt-cache search * Per stampare le informazioni dettagliate su un pacchetto: apt-cache show * Per stampare i pacchetti da cui dipende un dato pacchetto: apt-cache depends * Per stampare informazioni dettagliate sulle versioni disponibili di un pacchetto e le sue dipendenze inverse: apt-cache showpkg Per maggiori informazioni, si installi il pacchetto `apt' e si leggano apt-get(8), sources.list(5) e si installi il pacchetto `apt-doc' e si legga `/usr/share/doc/apt-doc/guide.html/index.html'. [1] Si noti che ci sono port che rendono disponibile questo strumento con altri sistemi di gestione dei pacchetti, come il gestore dei pacchetti di Red Hat, noto anche come `rpm'. 8.1.3. aptitude --------------- `aptitude' e` un gestore di pacchetti per sistemi Debian GNU/Linux che fornisce un frontend per l'infrastruttura di gestione dei pacchetti apt. `aptitude' e` un'interfaccia testuale che usa la libreria curses; puo` essere usata per effettuare compiti di gestione in modo facile e veloce. `aptitude' fornisce le funzionalita` di `dselect' e `apt-get', oltre a molte funzionalita` aggiuntive che non si trovano in nessuno degli altri due programmi: * `aptitude' offre un facile accesso a tutte le versioni di un pacchetto; * `aptitude' rende facile tenere traccia del software obsoleto elencandolo in "Pacchetti obsoleti e creati localmente"; * `aptitude' include un sistema piuttosto potente per cercare particolari pacchetti e limitare i pacchetti visualizzati. Gli utenti che hanno familiarita` con `mutt' impareranno presto ad usarlo, dato che la sintassi per le espressioni regolari e` stata ispirata da quella di `mutt'. * `aptitude' puo` essere usato per installare le attivita` predefinite disponibili. Per maggiori informazioni si veda Sezione 8.1.5, `tasksel'. * `aptitude' in modalita` a schermo intero ha una funzionalita` `su' incorporata e puo` essere eseguito da un utente normale. Richiama `su' (e chiedera` la password di root, se esiste) quando sono veramente necessari i privilegi di amministrazione. Si puo` usare `aptitude' attraverso un'interfaccia visiva (si esegua semplicemente `aptitude') o direttamente dalla riga di comando. La sintassi usata per la riga di comando e` molto simile a quella usata con `apt-get'. Per esempio, per installare il pacchetto , si puo` eseguire `aptitude install '. Si noti che `aptitude' e` il programma consigliato per la gestione quotidiana dei pacchetti dalla console. Per maggiori informazioni, si legga la pagina di manuale aptitude(8) e si installi il pacchetto `aptitude-doc' . 8.1.4. synaptic --------------- `synaptic' e` un gestore di pacchetti grafico. Permette di installare, aggiornare e rimuovere pacchetti software in modo amichevole. Oltre a tutte le funzionalita` offerte da aptitude, ha anche una funzionalita` per modificare l'elenco dei repository usati e supporta la navigazione di tutta la documentazione disponibile relativa ad un pacchetto. Si veda il sito web di synaptic (http://www.nongnu.org/synaptic/) per maggiori informazioni. 8.1.5. tasksel -------------- Quando si desidera fare una specifica attivita` puo` essere difficile trovare l'insieme appropriato di pacchetti che soddisfano le proprie necessita`. Gli sviluppatori Debian hanno definito delle `attivita`' (task): un'attivita` e` una raccolta di diversi pacchetti Debian individuali tutti relativi ad una specifica attivita`. Le attivita` possono essere installate tramite il programma `tasksel' o con `aptitude'. L'installatore Debian tipicamente installa automaticamente le attivita` associate con un sistema standard ed un ambiente desktop. L'ambiente desktop specifico installato dipende dal supporto CD/DVD usato, solitamente e` il desktop GNOME (attivita` `gnome-desktop'). Inoltre, a seconda delle selezioni dell'utente durante il processo di installazione, possono essere installate automaticamente delle attivita`. Per esempio, se si e` selezionata una lingua, anche l'attivita` associata viene automaticamente installata sul sistema e se si usa un sistema laptop riconosciuto dall'installatore viene installata anche l'attivita` `laptop'. 8.1.6. Altri strumenti per la gestione dei pacchetti ---------------------------------------------------- 8.1.6.1. dselect ---------------- Questo programma e` un'interfaccia a menu per il sistema di gestione dei pacchetti Debian. Per Woody e rilasci precedenti, era l'interfaccia principale di gestione dei pacchetti per l'installazione iniziale, ma attualmente gli utenti sono incoraggiati ad usare invece `aptitude'. Alcuni utenti possono sentirsi piu` a loro agio usando `aptitude' che e` anche raccomandato al posto di `dselect' per aggiornamenti su larga scala. Per maggiori informazioni su `aptitude' si veda Sezione 8.1.3, `aptitude'. `dselect' puo`: * guidare l'utente nella scelta dei pacchetti da installare o rimuovere, assicurandosi che non vengano installati pacchetti in conflitto uno con l'altro e che vengano installati tutti i pacchetti necessari per far funzionare ciascun pacchetto in modo corretto; * avvisare l'utente delle inconsistenze o incompatibilita` 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 ciascun pacchetto. `dselect' presenta inizialmente un menu di 7 voci, ognuna delle quali rappresenta una specifica azione. L'utente puo` selezionare una delle azioni usando i tasti freccia per muovere la barra di evidenziazione e premendo poi il tasto __ 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' procedera` semplicemente nell'esecuzione dell'azione specificata: per esempio, se l'utente ha selezionato l'azione `Rimuovi' (Remove), allora dselect procedera` nella rimozione di tutti i file selezionati per la rimozione l'ultima volta che l'utente ha usato l'azione `Seleziona'. Sia la voce di menu `Metodo' che la voce di menu `Seleziona' portano a menu aggiuntivi. In entrambi i casi, i menu vengono presentati come schermate divise; la schermata superiore fornisce un elenco scorribile di scelte, mentre la schermata inferiore fornisce una breve spiegazione ("info") per ogni scelta. E` disponibile un aiuto esaustivo in linea: si usi il tasto "?" per avere una schermata d'aiuto in qualsiasi momento. L'ordine nel quale le azioni sono presentate nel primo menu di `dselect' rappresenta l'ordine che un utente sceglierebbe normalmente per far installare pacchetti a `dselect'. Comunque, un utente puo` selezionare qualsiasi voce del menu principale quanto spesso vuole (anche non tutte, a seconda di cosa vuole fare). * Si inizi scegliendo un _Metodo d'accesso_. Questo e` il metodo con cui un utente ha intenzione di accedere ai pacchetti Debian; per esempio, alcuni utenti hanno pacchetti Debian disponibili su CD-ROM, mentre altri intendono scaricarli usando FTP anonimo. Il "Metodo d'accesso" selezionato viene memorizzato all'uscita da `dselect', cosi`, se non cambia, questa opzione non necessita di essere richiamata nuovamente. * Si aggiorni poi con _Aggiorna_ (Update) l'elenco dei pacchetti disponibili. Per fare questo, `dselect' legge il file "Packages.gz" che dovrebbe essere incluso nel livello piu` alto della directory dove sono archiviati i pacchetti Debian da installare. (Ma se non e` la`, `dselect' si offre di crearlo.) * Si selezionino con _Seleziona_ 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, vede il menu a schermata divisa per la scelta dei pacchetti da installare (o rimuovere). La parte superiore della schermata e` una finestra relativamente stretta sulla lista dei 29000 pacchetti Debian; la parte inferiore della schermata contiene una descrizione del pacchetto o del gruppo di pacchetti evidenziati nella parte superiore. Si puo` specificare su quali pacchetti si debba operare evidenziando un nome di pacchetto o una etichetta di un gruppo di pacchetti. Dopo di cio`, si possono selezionare pacchetti: Da installare: questo viene fatto premendo il tasto "+". Da cancellare: i pacchetti possono essere cancellati 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 Sezione 7.5, `Cos'e` un conffile Debian?') e le informazioni di configurazione del pacchetto. Questo viene fatto premendo il tasto "-". * eliminati: questo rimuove _ogni_ file che e` parte del pacchetto. Questo viene fatto premendo il tasto "_". Si noti che non e` possibile rimuovere "Tutti i pacchetti" ("All Packages"). Se si prova, il proprio sistema viene invece ridotto ai pacchetti base dell'installazione iniziale. Da bloccare ("hold") viene fatto premendo "=" e dice effettivamente a `dselect' di non aggiornare un pacchetto nemmeno se la versione attualmente installata sul sistema non e` recente come la versione disponibile nel repository Debian che si sta usando (e che e` stato specificato quando si e` impostato il _Metodo d'accesso_ e ottenuto quando si e` usato _Aggiorna_). Cosi` come si puo` bloccare un pacchetto, si puo` annullare questa impostazione premendo ":". Questo dice a `dselect' che il pacchetto puo` essere aggiornato se e` disponibile una versione piu` recente. Questa e` l'impostazione predefinita. Si puo` selezionare un ordine differente in cui presentare i pacchetti usando il tasto "o" per passare in modo ciclico a varie opzioni di ordinamento dei pacchetti. L'ordine predefinito presenta i pacchetti in base alla priorita`; all'interno di ogni priorita` i pacchetti vengono presentati in ordine di directory (alias sezioni) dell'archivio nel quale sono memorizzati. In base a quest'ordine, alcuni pacchetti nella sezione A (per esempio) possono essere presentati per primi, seguiti da alcuni pacchetti nella sezione B, seguiti da altri pacchetti (con priorita` piu` bassa) nella sezione A. Si possono anche espandere le etichette in cima alla schermata, usando il tasto "v" (verbose, prolisso). Questa azione spinge sulla destra molto del testo che precedentemente occupava la visualizzazione. Per vederlo si prema la freccia a destra; per scorrere di nuovo a sinistra si prema la freccia a sinistra. Se si seleziona un pacchetto per l'installazione o la rimozione, per esempio `pippo.deb', e quel pacchetto dipende da (o raccomanda) un altro pacchetto, per esempio `ciccio.deb', allora `dselect' porta l'utente in una sottoschermata della schermata di selezione principale. Li` si puo` scegliere tra i pacchetti correlati, accettando le azioni suggerite (installare o meno) o rifiutandole. Per fare quest'ultima azione, si prema Maiusc-D; per tornare alla prima si prema Maiusc-U. In ogni caso, si possono salvare le proprie selezioni e ritornare alla schermata principale di selezione premendo Maiusc-Q. * Gli utenti che ritornano al menu principale possono poi selezionare la voce di menu "Installa" ("Install") per spacchettare e configurare i pacchetti selezionati. In alternativa, gli utenti che desiderano rimuovere file possono scegliere la voce di menu "Rimuovi". In ogni momento, gli utenti possono scegliere "Termina" ("Quit") per uscire da dselect; le selezioni sono preservate da `dselect'. 8.1.7. dpkg-deb --------------- Questo programma manipola i file archivio Debian (`.deb'). Quelli che seguono sono alcuni degli usi comuni. * Scoprire tutte le opzioni: `dpkg-deb --help'. * Determinare quali file sono contenuti in un file archivio Debian: `dpkg-deb --contents pippo_VVV-RRR.deb' * Estrarre i file contenuti in un archivio Debian dentro una directory specificata dall'utente: `dpkg-deb --extract pippo_VVV-RRR.deb tmp' estrae ognuno dei file in `pippo_VVV-RRR.deb' nella directory `tmp/'. Questo e` comodo per esaminare il contenuto di un pacchetto in una directory localizzata, senza installare il pacchetto nel file system root. Si noti che ogni pacchetto che e` stato semplicemente spacchettato usando `dpkg-deb --extract' non sara` installato correttamente, si dovrebbe invece usare `dpkg --install'. Maggiori informazioni sono fornite nella pagina di manuale dpkg-deb(1). 8.1.8. dpkg-split ----------------- Questo programma divide un grosso pacchetto in file piu` piccoli (ad esempio per la scrittura su una serie di floppy disk) e puo` anche essere usato per riunire una serie di file divisi in un file singolo. Puo` venire usato solo su di un sistema Debian (cioe` un sistema contenente il pacchetto `dpkg'), perche' chiama il programma `dpkg-deb' per analizzare il pacchetto debian nei suoi componenti. Per esempio, per dividere un grosso file .deb in N parti, * Si esegua il comando `dpkg-split --split pippo.deb'. Questo produrra` N file ognuno approssimativamente lungo 460 KByte nella directory attuale. * Si copino gli N file su dei floppy disk. * Si copi il contenuto dei floppy disk sull'hard disk desiderato su un'altra macchina. * Si uniscano le parti dei file insieme usando `dpkg-split --join "pippo*"'. 8.2. Debian afferma di essere in grado di aggiornare un programma in esecuzione; come viene fatto? ---------------------------------------------------------------------------- Il kernel (file system) nei sistemi Debian GNU/Linux supporta la sostituzione dei file anche quando sono in uso. E` fornito anche un programma chiamato `start-stop-daemon' che viene usato per avviare i demoni all'avvio o fermarli quando il runlevel cambia (per esempio, da multiutente a singolo utente o all'arresto). Lo stesso programma viene usato dagli script di installazione quando viene installato un nuovo pacchetto contenente un demone, per fermare i demoni in esecuzione e riavviarli se necessario. 8.3. Come si puo` sapere quali pacchetti sono gia` 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 riassunto di una riga 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 al modello si esegua il comando: dpkg --list 'pippo*' Per ottenere un rapporto piu` prolisso per un particolare pacchetto si esegua il comando: dpkg --status nomepacchetto 8.4. Come mostrare i file installati da un pacchetto? ----------------------------------------------------- Per elencare tutti i file forniti dal pacchetto `pippo' installato si esegua il comando dpkg --listfiles pippo 8.5. Come posso scoprire quale pacchetto ha prodotto un particolare file? ------------------------------------------------------------------------- Per identificare il pacchetto che ha prodotto il file chiamato `pippo' si esegua uno dei comandi: * `dpkg --search nomefile' Questo cerca `nomefile' nei pacchetti installati. (E` (attualmente) equivalente a cercare nella directory `/var/lib/dpkg/info/' tutti i file aventi l'estensione `.list' e a sistemare l'output per stampare i nomi di tutti i pacchetti e le deviazioni che lo contengono.) * `zgrep pippo Contents-ARCH.gz' Questo cerca i file contenenti la sottostringa `pippo' nel loro nome di 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 (cioe` in `/debian/dists/squeeze'). Un file `Contents' si riferisce solo ai pacchetti nell'albero delle sottodirectory dove esso risiede. Quindi, un utente potrebbe dover cercare in piu` file `Contents' per trovare il pacchetto contenente il file `pippo'. Questo metodo ha il vantaggio rispetto a `dpkg --search' di trovare i file nei pacchetti che non sono attualmente installati sul proprio sistema. * `apt-file search ' Se si installa il pacchetto `apt-file', simile al precedente, esso cerca i file che contengono nel loro nome di percorso completo la sottostringa o l'espressione regolare `pippo'. Il vantaggio rispetto all'esempio precedente e` che non c'e` bisogno di recuperare i file `Contents-ARCH.gz' dato che cio` viene fatto automaticamente per tutti le fonti definite in `/etc/apt/sources.list' quando viene eseguito (come root) `apt-file update'. 8.6. Perche' "pippo-data" non viene rimosso quando viene disinstallato "pippo"? Come ci si puo` assicurare che vengano eliminati i vecchi pacchetti di librerie non utilizzati? ---------------------------------------------------------------------------- Alcuni pacchetti sono suddivisi nel programma ("pippo") e nei dati ("pippo-data") (o in "pippo" e "pippo-doc"). Questo sistema vale in Debian per molti giochi, applicazioni multimediali e dizionari ed e` stato introdotto dato che alcuni utenti possono voler accedere ai dati grezzi senza installare il programma o perche' il programma puo` essere eseguito senza i dati rendendoli cosi` opzionali. In questi casi, "pippo-data" non dipende da "pippo", percio` la maggior parte degli strumenti di gestione dei pacchetti non lo rimuove automaticamente quando viene rimosso il pacchetto "pippo". La stessa cosa si verifica per i pacchetti di libreria. Cio` e` necessario per evitare dipendenze cicliche. Se pero` si usa `aptitude' (si veda Sezione 8.1.3, `aptitude') come strumento di gestione dei pacchetti, esso tiene traccia automaticamente dei pacchetti installati e li rimuove quando sul sistema non rimane alcun pacchetto che ne abbia bisogno. ------------------------------------------------------------------------------- 9. Mantenere il proprio sistema Debian aggiornato ------------------------------------------------- Uno degli scopi di Debian e` quello di fornire un coerente percorso di aggiornamento ed un sicuro processo di aggiornamento. Viene sempre fatto tutto il possibile per rendere semplice l'aggiornamento a nuovi rilasci. Nel caso ci siano note importanti da aggiungere al processo di aggiornamento, i pacchetti avvisano l'utente e spesso forniscono una soluzione ad un possibile problema. Si dovrebbero inoltre leggere le Note di rilascio (Release Notes), documento che descrive i dettagli degli specifici aggiornamenti. Viene fornito su tutti i CD Debian e disponibile sul web all'indirizzo http://www.debian.org/releases/stable/releasenotes. 9.1. Come si puo` mantenere il proprio sistema Debian aggiornato? ----------------------------------------------------------------- Si puo` eseguire semplicemente un ftp anonimo ad un archivio Debian, poi esplorare le directory fino a quando si trova il file desiderato, scaricarlo e finalmente installarlo usando `dpkg'. Si noti che `dpkg' installa i file aggiornati al volo, anche su un sistema in esecuzione. Qualche volta, un pacchetto revisionato richiede l'installazione di una rinnovata versione di un altro pacchetto, in questo caso l'installazione fallisce fino a quando l'altro pacchetto non sara` installato. Molte persone trovano questo approccio troppo dispendioso in termini di tempo, dato che Debian si evolve molto rapidamente: tipicamente, sono caricati ogni settimana una dozzina o piu` di nuovi pacchetti. Questo numero aumenta appena prima di un nuovo rilascio principale. Per gestire questa valanga, molte persone preferiscono usare un metodo piu` automatico. Sono disponibili diversi pacchetti a questo scopo: 9.1.1. aptitude --------------- APT e` un'interfaccia avanzata per il sistema di gestione dei pacchetti di Debian. Ha un completo sistema di ordinamento delle installazioni, capacita` di gestire piu` fonti e molte altre funzionalita` uniche; si veda la Guida utente in `/usr/share/doc/apt-doc/guide.html/index.html' (e` necessario installare il pacchetto `apt-doc'). `aptitude' e` il gestore di pacchetti raccomandato per i sistemi Debian GNU/Linux. E` un'interfaccia testuale ad APT che usa la libreria curses e che puo` essere usata per eseguire compiti di gestione in modo veloce e semplice. Prima di poter usare `aptitude', e` necessario modificare il file `/etc/apt/sources.list' per configurarlo. Se si desidera aggiornare all'ultima versione stabile di Debian, probabilmente si vorra` usare una fonte simile a quella seguente: http://ftp.us.debian.org/debian stable main contrib non-free Si puo` sostituire ftp.us.debian.org con il nome di un mirror Debian piu` veloce e piu` vicino. Per maggiori informazioni si veda l'elenco dei mirror su http://www.debian.org/mirror/list. Ulteriori dettagli a questo proposito possono essere trovati nella pagina di manuale di sources.list(8). Per aggiornare il proprio sistema, eseguire aptitude update seguito da aptitude dist-upgrade Rispondere a tutte le domande eventualmente poste e il sistema sara` aggiornato. Si veda anche Sezione 8.1.3, `aptitude'. 9.1.2. apt-get, dselect e apt-cdrom ----------------------------------- `apt-get' e` uno strumento a riga di comando basato su APT per gestire i pacchetti ed il metodo APT di dselect e` un'interfaccia ad APT attraverso `dselect'. Entrambi forniscono un metodo semplice e sicuro per installare ed aggiornare pacchetti. Per usare `apt-get', installare il pacchetto `apt' e modificare il file `/etc/apt/sources.list' per configurarlo, proprio come per Sezione 9.1.1, `aptitude'. Poi eseguire apt-get update seguito da apt-get dist-upgrade Rispondere a tutte le domande eventualmente poste e il sistema sara` aggiornato. Si veda anche la pagina di manuale di apt-get(8), oltre a Sezione 8.1.2, `APT'. Per usare APT con `dselect', scegliere il metodo di accesso APT nella schermata di selezione dei metodi di dselect (opzione 0) e poi specificare le fonti da usare. Il file di configurazione e` `/etc/apt/sources.list'. Si veda anche Sezione 8.1.6.1, `dselect'. Se si vogliono usare dei CD per installare i pacchetti, si puo` usare `apt-cdrom'. Per dettagli, si veda nelle Note di rilascio (Release Notes) la sezione sull'impostazione di un aggiornamento da un mirror locale. Si noti che quando si ottengono e si installano i pacchetti, li si ha ancora nella gerarchia di directory in /var. Per evitare che la propria partizione strabordi, ricordarsi di eliminare i file in piu` usando `apt-get clean' e `apt-get autoclean', oppure di spostarli in qualche altro posto (consiglio: si usi `apt-move'). 9.1.3. aptitude --------------- `aptitude' e` un'interfaccia testuale al sistema di gestione dei pacchetti di Debian. Permette all'utente di visualizzare l'elenco dei pacchetti e di eseguire compiti di gestione dei pacchetti come installazioni, aggiornamenti e rimozioni (si veda Sezione 8.1.3, `aptitude'). Le azioni possono essere effettuate da un'interfaccia visuale o dalla riga di comando. Nella riga di comando le azioni sono simili a quelle di APT, percio` per aggiornare il proprio sistema eseguire aptitude update seguito da aptitude dist-upgrade `aptitude' non e` lo strumento raccomandato per aggiornare da un rilascio precedente. Si leggano le Note di rilascio su http://www.debian.org/releases/stable/releasenotes. Per i dettagli si vedano la pagina di manuale di aptitude(8) e il file `/usr/share/aptitude/README'. 9.1.4. mirror ------------- Questo script in Perl, e il suo (opzionale) programma di gestione chiamato `mirror-master', puo` essere usato per prelevare parti di alberi di directory specificate dall'utente da uno specifico host via FTP anonimo. `mirror' e` particolarmente utile per scaricare grandi quantita` di software. Dopo che i file sono stati scaricati da un sito per la prima volta, viene memorizzato nell'host locale un file chiamato `.mirrorinfo'. `mirror' tiene automaticamente traccia dei cambiamenti al file system remoto, paragonando questo file ad un file simile sul sistema remoto e scarica solo i file cambiati. Il programma `mirror' e` generalmente utile per aggiornare copie locali di alberi di directory remoti. I file prelevati non devono necessariamente essere file Debian. (Dato che `mirror' e` uno script in Perl, puo` anche essere eseguito su sistemi non Unix.) Sebbene il programma `mirror' fornisca meccanismi per escludere nomi di file che corrispondono a stringhe definite dall'utente, questo programma e` piu` utile quando l'obiettivo e` scaricare interi alberi di directory, piuttosto che pacchetti selezionati. 9.1.5. dpkg-mountable --------------------- dpkg-mountable aggiunge un metodo di accesso chiamato "mountable" alla lista di dselect, che permette di installare da qualsiasi filesystem specificato in /etc/fstab. Per esempio, l'archivio potrebbe essere una normale partizione di un hard disk o un server NFS che vengono, se necessario, montati e smontati automaticamente. Possiede anche alcune caratteristiche aggiuntive non presenti nei metodi standard di dselect, come la possibilita` di un albero locale di file (sia parallelo alla distribuzione principale sia totalmente separato), e il recupero dei soli pacchetti richiesti, piuttosto di una scansione ricorsiva delle directory dispendiosa in termini di tempo, cosi` come la registrazione di tutte le azioni di dpkg nel metodo di installazione. 9.2. E` necessario entrare in modalita` 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 viene invocato per fermare e poi riavviare i processi in esecuzione, se necessario, durante l'aggiornamento di un pacchetto. 9.3. E` necessario tenere tutti questi file di archivio .deb sul disco? ----------------------------------------------------------------------- No. Se i file sono stati scaricati nel proprio disco, possono essere rimossi dal sistema dopo l'installazione dei pacchetti; lo si puo` fare ad esempio eseguendo `aptitude clean'. 9.4. Come si puo` tenere un registro dei pacchetti che sono stati aggiunti al sistema? Vorrei sapere quali aggiornamenti e rimozioni di pacchetti sono stati fatti! ---------------------------------------------------------------------------- Passare l'opzione `--log' a `dpkg' fa si` che `dpkg' registri i cambiamenti di stato, gli aggiornamenti e le azioni. Registra sia l'invocazione di `dpkg' (ad esempio 2005-12-30 18:10:33 install hello 1.3.18 2.1.1-4 ) sia il risultato (ad esempio 2005-12-30 18:10:35 status installed hello 2.1.1-4 ) Se si desidera tenere un registro di tutte le proprie invocazioni di `dpkg' (anche quelle fatte attraverso frontend come `aptitude'), si puo` aggiungere log /var/log/dpkg.log al proprio `/etc/dpkg/dpkg.cfg'. Assicurarsi che il file di registro creato venga periodicamente ruotato. Se si usa `logrotate', questo puo` essere fatto creando un file `/etc/logrotate.d/dpkg' che contenga /var/log/dpkg { missingok notifempty } Si possono trovare ulteriori dettagli sul registro di `dpkg' nella pagina di manuale dpkg(1). `aptitude' tiene un registro delle installazioni, rimozioni e degli aggiornamenti di pacchetti che intende effettuare in `/var/log/aptitude'. Si noti che in questo file non sono registrati i _risultati_ di queste azioni. Un altro modo di registrare le proprie azioni e` di eseguire la propria sessione all'interno del programma script(1). 9.5. E` possibile aggiornare automaticamente il sistema? -------------------------------------------------------- Si`. Si puo` usare `cron-apt'; questo strumento aggiorna il sistema ad intervalli regolari usando un compito cron. In modo predefinito aggiorna solamente l'elenco dei pacchetti e scarica i nuovi pacchetti senza installarli. Nota bene: l'aggiornamento automatico di pacchetti _NON_ e` raccomandato nei sistemi _testing_ o _unstable_ dato che potrebbe portare a comportamenti inattesi e rimuovere pacchetti senza preavviso. 9.6. Se si hanno svariate macchine come e` possibile scaricare gli aggiornamenti una volta sola? ---------------------------------------------------------------------------- Se si ha piu` di una macchina Debian nella propria rete, e` utile usare `apt-proxy' per mantenere aggiornati tutti i propri sistemi Debian. `apt-proxy' riduce i requisiti in termini di banda per i mirror Debian, riducendo la frequenza degli aggiornamenti dei file Packages, Releases e Sources dal backend e scaricando ogni file una singola volta, indipendentemente dalle effettive richieste per esso al proxy. `apt-proxy' genera automaticamente un mirror HTTP Debian in base alle richieste che passano per il proxy. Per maggiori dettagli si veda la pagina web di apt-proxy all'indirizzo http://apt-proxy.sourceforge.net/. Naturalmente si possono ottenere gli stessi benefici se si sta gia` usando un proxy standard con cache e se tutti i propri sistemi sono configurati per farne uso. ------------------------------------------------------------------------------- 10. Debian e il kernel ---------------------- 10.1. Si puo` installare e compilare un kernel senza alcun adattamento specifico per Debian? ---------------------------------------------------------------------------- Si`. C'e` solo una trappola: le librerie C di Debian sono compilate con il piu` recente rilascio _stabile_ degli header del _kernel_. Se si ha bisogno di compilare un programma con gli header del kernel piu` nuovi rispetto a quelli nel ramo stabile allora si dovrebbe aggiornare il pacchetto contenente gli header (`libc6-dev') oppure usare i nuovi header da un albero di directory del kernel piu` recente. Cioe`, 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. 10.2. Quali strumenti fornisce Debian per costruire kernel personalizzati? -------------------------------------------------------------------------- Gli utenti che desiderano (o devono) compilare un kernel personalizzato sono incoraggiati a scaricare il pacchetto `kernel-package'. Questo pacchetto contiene lo script per compilare un pacchetto kernel e fornisce la possibilita` di creare un pacchetto Debian `linux-image-' semplicemente eseguendo il comando make-kpkg --initrd kernel_image nel livello piu` alto della directory dei sorgenti del kernel. L'aiuto e` disponibile eseguendo il comando make-kpkg --help e attraverso la pagina di manuale make-kpkg(1). Gli utenti devono scaricare separatamente il codice sorgente per il kernel piu` recente (o un kernel a propria scelta) dall'archivio del proprio sito Linux preferito, a meno che non sia disponibile un pacchetto `linux-source-' (dove rappresenta la versione del kernel). Istruzioni dettagliate sull'uso del pacchetto `kernel-package' sono fornite nel file `/usr/share/doc/kernel-package/README.gz'. 10.3. Come posso creare un floppy di avvio personalizzato? ---------------------------------------------------------- Questo compito e` 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 avvio nel formato `SYSLINUX'. Questi sono floppy formattati `MS-DOS' i cui master boot record sono stati alterati cosi` che possano avviare direttamente Linux (o qualsiasi 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. Maggiori informazioni su questo argomento si trovano nel file `/usr/share/doc/boot-floppies/README' dopo aver installato il pacchetto `boot-floppies'. 10.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 puo` essere usato per personalizzare la configurazione dei moduli. Questo script presenta un'interfaccia basata su menu che chiede all'utente dettagli sui driver di device caricabili nel suo sistema. Le risposte sono usate per personalizzare il file `/etc/modules.conf' (che elenca gli alias e 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' che sono ora disponibili per supportare la creazione di kernel personalizzati, il pacchetto `modconf' viene fornito con una serie di file di aiuto (in `/usr/lib/modules_help/') che forniscono informazioni dettagliate sugli argomenti appropriati per ognuno dei moduli. 10.5. Si puo` disinstallare in sicurezza un vecchio pacchetto kernel e, se si`, come? ---------------------------------------------------------------------------- Si`. Lo script `linux-image-.prerm' verifica se il kernel che si sta attualmente usando e` lo stesso che si sta tentando di disinstallare. Quindi si puo` rimuovere i pacchetti delle immagini del kernel non desiderate usando questo comando: dpkg --purge linux-image- (ovviamente sostituire con i propri versione e numero di revisione). ------------------------------------------------------------------------------- 11. Personalizzare la propria installazione di Debian GNU/Linux --------------------------------------------------------------- 11.1. Come ci si puo` assicurare che tutti i programmi usino lo stesso formato per la carta? ---------------------------------------------------------------------------- Si installi il pacchetto `libpaper1' che chiedera` il formato carta predefinito per tutto il sistema. Questa impostazione sara` memorizzata 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). 11.2. Come si puo` fornire accesso alle periferiche hardware senza compromettere la sicurezza? ---------------------------------------------------------------------------- Molti file di device nella directory `/dev' appartengono a 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, cioe` si faccia: adduser utente gruppo In questo modo non si dovranno cambiare i permessi dei file di device. Se lo si fa dall'interno di una shell utente o di un ambiente con interfaccia grafica si deve fare il logout e nuovamente il login per poter diventare un membro effettivo del gruppo specificato. Per controllare a quali gruppi si appartiene eseguire `groups'. Si noti che, a partire dall'introduzione di `udev', se si cambiano i permessi di una periferica hardware questi potrebbero essere modificati all'avvio per alcuni device; se cio` accade alle periferiche hardware a cui si e` interessati, sara` necessario modificare in modo appropriato le regole in `/etc/udev'. 11.3. Come caricare un tipo di carattere per la console all'avvio nella maniera Debian? ---------------------------------------------------------------------------- I pacchetti `kbd' e `console-tools' lo supportano: si modifichi il file `/etc/kbd/config' o `/etc/console-tools/config'. 11.4. Come si possono configurare le impostazioni predefinite per l'applicazione di un programma X11? ---------------------------------------------------------------------------- I programmi X di Debian installano le loro risorse di applicazione 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 sara` preservato durante gli aggiornamenti. 11.5. Ogni distribuzione sembra avere un metodo di avvio differente. Cosa dire di quello di Debian? ---------------------------------------------------------------------------- Come tutti gli Unix, Debian si avvia eseguendo il programma `init'. Il file di configurazione per `init' (che e` `/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 compatibilita`, esegue anche i file (eccetto quelli con un '.' nel nome del file) in `/etc/rc.boot/'. Ogni script in quest'ultima directory e` solitamente riservato all'uso da parte degli amministratori di sistema e il loro uso all'interno di pacchetti e` deprecato. 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 e` 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 (modalita` singolo-utente), * 2 - 5 (varie modalita` multi-utente) e * 6 (riavvia il sistema). I sistemi Debian vengono forniti con id=2, che indica che il runlevel predefinito sara` "2" quando si entra nello stato multiutente, e che gli script in `/etc/rc2.d/' verranno eseguiti. Di fatto, gli script in ognuna delle directory `/etc/rcN.d/' sono solo collegamenti 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/' vengono eseguiti. Specificatamente, prima di entrare in qualsiasi runlevel, sono eseguiti tutti gli script che iniziano con "K"; 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 sara` eseguito. Gli script con un numero minore sono eseguiti prima. Questo approccio funziona perche' tutti gli script in `/etc/init.d/' accettano un argomento che puo` 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 e` 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. 11.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 `pippo' all'avvio o all'ingresso di un particolare runlevel (System V). Allora l'amministratore di sistema dovrebbe: * Mettere lo script `pippo' nella directory `/etc/init.d/'. * Eseguire il comando Debian `update-rc.d' con gli argomenti appropriati, per specificare quali runlevel devono avviare il servizio e quali dovrebbero fermarlo. * Considerare l'opportunita` di riavviare il sistema per controllare che il servizio venga avviato correttamente (nell'ipotesi che si sia impostato il suo avvio nel runlevel predefinito). Altrimenti avviarlo manualmente eseguendo "`/etc/init.d/pippo start'". Si puo`, per esempio, fare in modo che lo script `pippo' venga eseguito all'avvio, mettendolo in `/etc/init.d/' ed eseguendo `update-rc.d pippo defaults 19'. L'argomento "defaults" fa riferimento ai runlevel predefiniti, il che significa (almeno in assenza di blocchi di commento LSB che specifichino diversamente) che il servizio viene avviato nei runlevel dal 2 al 5 e che viene fermato nei runlevel 0, 1 e 6. (Quasiasi direttiva Default-Start e Default-Stop in `pippo' ha la precedenza quando si usa la versione sysv-rc di update-rc.d, ma viene ignorata dalla versione attuale (v0.8.10) di file-rc di update-rc.d.) L'argomento "19" assicura che `pippo' venga chiamato dopo che siano stati completati tutti gli script il cui numero e` minore di 19 e prima di tutti gli script con numero uguale o maggiore di 20. 11.7. Come si comporta il sistema di manutenzione dei pacchetti nel caso di 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 e` generalmente una buona idea, perche' `dpkg' non sapra` nulla di quei file di configurazione se sono in un pacchetto differente, e potrebbe 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. Allora `dpkg' e il resto del sistema di gestione dei pacchetti vedono che i file sono stati modificati dall'"amministratore di sistema" locale e non cercano di sovrascriverli quando quei pacchetti verranno aggiornati. 11.8. Come sovrascrivere 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 "login-local" piuttosto del programma "login" fornito dal pacchetto `login' di Debian. _Non_: * Si sovrascriva `/bin/login' con `login-local'. Il sistema di gestione dei pacchetti non sapra` di questo cambiamento e semplicemente sovrascrivera` il `/bin/login' personalizzato ogni volta che `login' (o qualsiasi altro pacchetto che fornisce `/bin/login') verra` 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 il file `/bin/login' in `/bin/login.debian'. * Poi si esegua: cp login-local /bin/login per muovere il proprio programma al suo posto. Eseguire `dpkg-divert --list' per vedere quali deviazioni siano attualmente attive sul proprio sistema. I dettagli sono forniti nella pagina di manuale dpkg-divert(8). 11.9. Come si puo` far si` che un pacchetto generato localmente venga incluso nella lista dei pacchetti disponibili che il sistema di gestione dei pacchetti conosce? ---------------------------------------------------------------------------- Si esegua il comando: dpkg-scanpackages BIN_DIR OVERRIDE_FILE [PREFISSOPERCORSO] > mio_Packages dove: * BIN-DIR e` la directory dove sono contenuti i file di archivio Debian (che solitamente hanno estensione ".deb"). * OVERRIDE_FILE e` un file che viene modificato dai manutentori della distribuzione ed e` solitamente situato, per i pacchetti Debian nella sezione "main" in `indices/override.main.gz' nell'archivio FTP Debian. Puo` essere ignorato per pacchetti locali. * PREFISSOPERCORSO e` una stringa _opzionale_ che puo` essere posta prima del file `mio_Packages' prodotto. Una volta che si e` creato il file `mio_Packages', si informi il sistema di gestione dei pacchetti usando il comando: dpkg --merge-avail mio_Packages Se si sta usando APT, si puo` anche aggiungere il repository locale al proprio file sources.list(5). 11.10. Ad alcuni utenti piace mawk, ad altri gawk; ad alcuni piace vim, ad altri elvis; ad alcuni piace trn, ad altri tin; come supporta Debian le diversita`? ---------------------------------------------------------------------------- Ci sono diversi casi in cui due pacchetti forniscono due versioni differenti di un programma, che forniscono entrambe le stesse funzionalita` fondamentali. Gli utenti possono preferire l'una rispetto all'altra per abitudine o perche' l'interfaccia utente di un pacchetto e` in qualche modo piu` 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 piu` che forniscono la stessa funzionalita` di base pur continuando ancora a soddisfare i requisiti in termini di dipendenze dei pacchetti senza specificare un particolare pacchetto. Per esempio, potrebbero esistere due differenti versioni di lettori di newsgroup su un sistema. Il pacchetto del server per newsgroup potrebbe "raccomandare" la presenza di _un qualche_ lettore di newsgroup sul sistema, ma la scelta tra `tin' e `trn' e` lasciata all'utente. Cio` e` realizzato avendo entrambi i pacchetti `tin' e `trn' che forniscono il pacchetto virtuale `news-reader'. _Quale_ programma venga chiamato e` determinato da un collegamento che punta dal file con il nome del pacchetto virtuale `/etc/alternatives/news-reader' al file selezionato, per esempio `/usr/bin/trn'. Un solo collegamento e` 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 i predefiniti 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 qualche ragione, un pacchetto non si registra da solo come un window manager (si segnali il baco se c'e` un errore) o se si usa un window manager dalla directory /usr/local, le selezioni sullo schermo non conterranno la propria voce preferita. Si puo` aggiornare il collegamento attraverso opzioni da riga di comando, cosi`: update-alternatives --install /usr/bin/x-window-manager \ x-window-manager /usr/local/bin/wmaker-cvs 50 Il primo argomento dell'opzione '--install' e` il collegamento simbolico che punta a /etc/alternatives/NOME, dove NOME e` il secondo argomento. Il terzo argomento e` il programma al quale /etc/alternatives/NOME dovrebbe puntare e il quarto argomento e` la priorita` (maggiore e` il valore maggiore e` la probabilita` che l'alternativa sia scelta automaticamente). Per rimuovere un'alternativa che si e` aggiunta si esegua semplicemente: update-alternatives --remove x-window-manager /usr/local/bin/wmaker-cvs ------------------------------------------------------------------------------- 12. Ottenere supporto per Debian GNU/Linux ------------------------------------------ 12.1. Quale altra documentazione esiste su e per un sistema Debian? ------------------------------------------------------------------- * Istruzioni per l'installazione per l'attuale rilascio: si veda http://www.debian.org/releases/stable/installmanual. * La "Debian GNU/Linux Reference" copre molti aspetti dell'amministrazione di sistema attraverso esempi di comandi di shell. Vengono forniti tutorial di base, suggerimenti ed altre informazioni per molti argomenti diversi che spaziano dall'amministrazione di sistema alla programmazione. La si puo` ottenere con il pacchetto `debian-reference' o all'indirizzo http://www.debian.org/doc/user-manuals#quick-reference. * Il manuale "Debian Policy" documenta i requisiti delle linee guida della distribuzione, ovvero la struttura e il contenuto dell'archivio Debian, varie specifiche sulla progettazione del sistema operativo, ecc. Include anche i requisiti tecnici che ogni pacchetto deve soddisfare per essere incluso nella distribuzione e documenta gli aspetti tecnici di base dei pacchetti binari e sorgenti di Debian. Lo si puo` ottenere con il pacchetto `debian-policy' o su http://www.debian.org/doc/devel-manuals#policy. * La documentazione sviluppata dal progetto Debian Documentation Project. E` disponibile su http://www.debian.org/doc/ e include guide utente, guide per gli amministratori e guide di sicurezza relative al sistema operativo Debian GNU/Linux. * La documentazione sui pacchetti Debian installati. La maggior parte dei pacchetti ha dei file che vengono estratti in `/usr/doc/PACCHETTO'. * La documentazione sul progetto Linux. Il pacchetto Debian `doc-linux' installa tutte le piu` recenti versioni degli HOWTO e mini-HOWTO del Linux Documentation Project (http://www.tldp.org/). * Le pagine "man" in stile Unix. La maggior parte dei comandi ha le pagine di manuale scritte nello stile dei file "man" originali di Unix. Per esempio, per vedere la pagina di manuale del comando "ls", si esegua `man ls'. Si esegua `man man' per maggiori informazioni su come trovare e visualizzare le pagine di manuale. I nuovi utenti Debian dovrebbero notare che le pagine "man" di molti comandi generici di sistema non sono disponibili finche' non si installano i seguenti pacchetti: * `man-db', che contiene il programma `man' stesso ed altri programmi per manipolare le pagine di manuale. * `manpages', che contiene le pagine di manuale di sistema. (Si veda Sezione 5.9, `Come fa Debian a supportare le lingue diverse dall'inglese?'.) * Le pagine "info" in stile GNU. La documentazione utente per molti comandi, in particolare per gli strumenti GNU, non e` disponibile in forma di pagine di manuale, ma in 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 e` che viene usato un sistema ad ipertesto. Comunque, _non_ richiede il WWW; `info' puo` essere eseguito da una semplice console testuale. E` stato progettato da Richard Stallman ed ha preceduto il WWW. Si noti che si puo` accedere a molta documentazione presente nel proprio sistema utilizzando un browser WWW, attraverso i comandi "dwww", "dhelp" o "doccentral", che si trovano nei rispettivi pacchetti opppure usando "yelp". 12.2. Ci sono risorse on-line dove discutere su Debian? ------------------------------------------------------- Si`. Infatti, il metodo principale con cui Debian fornisce supporto ai propri utenti e` via posta elettronica. Verranno qui forniti alcuni dettagli e nominate alcune altre utili fonti di informazioni. Ulteriori risorse sono elencate nella pagina web di supporto di Debian (http://www.debian.org/support). 12.2.1. Mailing-list -------------------- Ci sono molte mailing-list relative a Debian (http://www.debian.org/MailingLists/). Su di un sistema con il pacchetto `doc-debian' installato c'e` un elenco completo delle mailing-list in `/usr/share/doc/debian/mailing-lists.txt'. Le mailing-list Debian sono denominate seguendo il modello debian-. Esempi sono debian-announce, debian-user, debian-news. Per iscriversi a una qualsiasi delle liste debian-, si invii un messaggio di posta a debian--request@lists.debian.org con la parola "subscribe" nell'intestazione Subject:. Ci si assicuri di ricordare di aggiungere _-request_ all'indirizzo di posta elettronica quando si utilizza questo metodo per iscriversi o disiscriversi. In caso contrario il vostro messaggio di posta andra` alla lista stessa, il che potrebbe essere imbarazzante o fastidioso, a seconda del proprio punto di vista. Ci si puo` iscrivere alle mailing-list utilizzando il modulo WWW (http://www.debian.org/MailingLists/subscribe). Ci si puo` anche disiscrivere utilizzando un modulo WWW (http://www.debian.org/MailingLists/unsubscribe). L'indirizzo di posta elettronica dell'amministratore delle mailing-list e` , nel caso si abbia qualsiasi problema. Le mailing-list sono punti di discussione pubblici. Tutti i messaggi inviati alle liste vengono anche copiati nell'archivio pubblico dove tutti (compreso chi non e` iscritto) possono sfogliarli o fare ricerche. Assicurarsi di non inviare mai alle liste materiale confidenziale o per il quale non si hanno i diritti. Sono inclusi gli indirizzi di posta elettronica; e` degno di attenzione particolare il fatto che le fonti di spam sono noti per abusare degli indirizzi di posta elettronica inviati alle mailing-list Debian. Si veda la politica sulla privacy delle Mailing List (http://www.debian.org/MailingLists/index.en.html#disclaimer) per maggiori informazioni. Gli archivi delle mailing-list Debian sono disponibili via WWW su http://lists.debian.org/. 12.2.1.1. Qual e` il codice di condotta per le mailing-list? ------------------------------------------------------------ Quando si usano le mailing-list Debian, per favore si seguano queste regole: * Non inviare spam. Si veda il Regolamento Debian per la pubblicita` sulle mailing-list (http://www.debian.org/MailingLists/#ads). * Evitare i flame; non e` educato. Le persone che sviluppano Debian sono tutti volontari, 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 e` illegale. * Assicurarsi di utilizzare la lista corretta. _Mai_ inviare la propria richiesta di (dis)iscrizione alla mailing-list stessa. [1] * Si veda la sezione Sezione 12.5, `Come segnalo un baco in Debian?' per le note sulla segnalazione di bachi. [1] Si utilizzi l'indirizzo debian--REQUEST@lists.debian.org per quello. 12.2.2. Forum web ----------------- debianHELP (http://debianhelp.org/) e Debian User Forums (http://forums.debian.net/) sono forum web in cui si possono porre domande su Debian e ottenere risposte da altri utenti. (Non fanno ufficialmente parte del progetto Debian.) 12.2.3. Wiki ------------ Le soluzioni a problemi comuni, HOWTO, guide, suggerimenti e altra documentazione possono essere trovati nel Debian Wiki (http://wiki.debian.org/) in costante evoluzione. 12.2.4. Manutentori ------------------- Gli utenti possono rivolgere domande ai manutentori dei singoli pacchetti usando la posta elettronica. Per raggiungere un manutentore di un pacchetto chiamato xyz, si invii un messaggio a _xyz@packages.debian.org_. 12.2.5. Gruppi di discussione (newsgroup) Usenet ------------------------------------------------ Gli utenti dovrebbero rivolgere le domande non specifiche per Debian in uno dei gruppi USENET Linux, 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, ad esempio sui siti Linux Online (http://www.linux.org/docs/usenet.html) e LinuxJournal (http://www.linuxjournal.com/helpdesk.php). 12.3. C'e` un modo rapido per cercare informazioni su Debian GNU/Linux? ----------------------------------------------------------------------- Ci sono svariati motori di ricerca che forniscono 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 esperienza ha avuto la gente nel trovare dei driver per i controller Promise sotto Debian, si provi a cercare l'espressione `Promise Linux driver'. Questo mostrera` tutti i messaggi che contengono queste stringhe, ovvero quelli dove la gente ha discusso questi argomenti. Se si aggiunge `Debian' a quella stringa di ricerca, si avranno inoltre i messaggi attinenti specificatamente a Debian. * Tutti i comuni motori di ricerca del web, come AltaVista (http://www.altavista.com/) o Google (http://www.google.com/), purche' si usino i termini di ricerca corretti. Per esempio, cercare la stringa "cgi-perl" fornisce una spiegazione piu` dettagliata di questo pacchetto rispetto alla breve descrizione nel suo control file. 12.4. Ci sono registri dei bachi conosciuti? -------------------------------------------- I rapporti sui problemi irrisolti (e su quelli chiusi) sono disponibili pubblicamente: Debian ha promesso di fare cosi` dichiarando nel Contratto sociale Debian (http://www.debian.org/social_contract) "Noi non nasconderemo i problemi". La distribuzione Debian GNU/Linux ha un sistema di tracciamento bachi (BTS, bug tracking system) che registra i dettagli dei bachi riportati da utenti e sviluppatori. Ad ogni baco viene assegnato un numero e viene archiviato. Una volta che e` stato risolto, viene segnato come tale. Copie di queste informazioni sono disponibili su http://www.debian.org/Bugs/. Un server di posta fornisce accesso al database del sistema di tracciamento bachi via posta elettronica. Per ottenere le istruzioni si invii un messaggio a request@bugs.debian.org con "help" nel corpo del messaggio. 12.5. Come segnalo un baco in Debian? ------------------------------------- Se si e` trovato un baco in Debian si leggano le istruzioni per la segnalazione di un baco. Queste istruzioni possono essere ottenute in uno di vari modi. * Dal WWW. Una copia delle istruzioni e` mostrata in http://www.debian.org/Bugs/Reporting. * Su qualsiasi sistema Debian con installato il pacchetto `doc-debian'. Le istruzioni sono nel file `/usr/share/doc/debian/bug-reporting.txt'. * Via FTP anonimo. I siti mirror Debian contengono le istruzioni nel file `doc/bug-reporting.txt'. Si puo` usare il pacchetto `reportbug' che guida l'utente attraverso il processo di segnalazione ed invia il messaggio all'indirizzo corretto, aggiungendo automaticamente alcuni dettagli aggiuntivi sul sistema. Mostra anche un elenco di bachi gia` segnalati per il pacchetto interessato dalla segnalazione in corso, in modo che, nel caso che il baco sia gia` stato segnalato in precedenza, si possono aggiungere ulteriori informazioni alla segnalazione esistente. Ci si aspetti di ricevere un messaggio automatico di attestazione della propria segnalazione. A questa verra` anche assegnato un numero di tracciamento bachi, verra` immessa nel registro dei bachi ed inoltrata alla mailing-list debian-bugs-dist. ------------------------------------------------------------------------------- 13. Contribuire al progetto Debian ---------------------------------- Donazioni (http://www.debian.org/donations) 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 nuove piattaforme di test come pure hardware per gli archivi) possono aiutare il progetto. 13.1. Come si puo` diventare uno sviluppatore di software Debian? ----------------------------------------------------------------- Lo sviluppo di Debian e` aperto a tutti e nuovi utenti con le giuste capacita` e/o con la volonta` di imparare sono necessari per mantenere pacchetti gia` esistenti resi "orfani" dai loro precedenti manutentori, per sviluppare nuovi pacchetti e fornire supporto agli utenti. La descrizione su come diventare sviluppatore Debian puo` essere trovata all'Angolo del nuovo manutentore (http://www.debian.org/devel/join/newmaint) sul sito web Debian. 13.2. Come si possono fornire risorse al progetto Debian? --------------------------------------------------------- Dato che il progetto mira a creare una quantita` sostanziale di software accessibile rapidamente e facilmente da tutto il mondo, i mirror sono enormemente necessari. E` 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 lavoro di mirror e` 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 velocita`, i mezzi per fare il mirror di tutta o di parte della distribuzione e si e` disposti a dedicare tempo (o a trovare qualcuno) per poter fornire una regolare manutenzione al sistema, allora per favore si contatti . 13.3. Come si puo` contribuire finanziariamente al progetto Debian? ------------------------------------------------------------------- Chiunque puo` fare donazioni individuali ad una delle due organizzazioni che che sono fondamentali per lo sviluppo del progetto Debian. 13.3.1. Software in the Public Interest --------------------------------------- Software in the Public Interest (SPI) e` un'organizzazione IRS 501(c)(3) senza fini di lucro, formata quando la FSF ritiro` il proprio appoggio a Debian. Lo scopo dell'organizzazione e` 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 puo` essere raggiunta su: http://www.spi-inc.org/. 13.3.2. Free Software Foundation -------------------------------- In questo momento non c'e` nessuna connessione formale tra Debian e la Free Software Foundation. Comunque, la Free Software Foundation e` responsabile di alcuni dei piu` importanti componenti software in Debian, inclusi il compilatore C di GNU, GNU Emacs e gran parte della libreria run-time C che e` usata da tutti i programmi sul sistema. La FSF e` stata pioniera di molto di quello che il software libero e` attualmente: ha scritto la General Public License che e` 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 puo` essere raggiunta su: http://www.fsf.org/. ------------------------------------------------------------------------------- 14. Redistribuire Debian GNU/Linux come prodotto commerciale ------------------------------------------------------------ 14.1. Si possono creare e vendere CD Debian? -------------------------------------------- Certamente. Non e` necessario il permesso per distribuire qualcosa che abbiamo _rilasciato_, quindi ci si puo` 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, pubblichiamo una lista dei produttori di CD che donano denaro, software e tempo al progetto Debian, e incoraggiamomo gli utenti a comperare dai produttori che donano, quindi fare donazioni e` una buona pubblicita`. 14.2. Debian puo` essere impacchettata con software non-libero? --------------------------------------------------------------- Si`. Sebbene tutti i componenti principali di Debian siano software libero, e` fornita 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, a seconda dei termini delle licenze o dei loro accordi privati con gli autori di quei pacchetti software. I produttori di CD possono inoltre distribuire il software non-libero che ricevono da altri sorgenti sullo stesso CD. Non e` niente di nuovo: software libero e commerciale sono distribuiti sullo stesso CD dai produttori ora. Ovvio che incoraggiamo sempre gli autori del software a rilasciare i programmi che scrivono come software libero. 14.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? ---------------------------------------------------------------------------- Si`. Distribuzioni derivate da Debian vengono attualmente create sia in stretta collaborazione con il progetto Debian stesso, sia da terze parti. Si puo` usare l'infrastruttura Distribuzioni Debian personalizzate (http://cdd.alioth.debian.org/) per lavorare insieme a Debian; Skolelinux (http://www.skolelinux.org/) e` uno progetto di questo tipo. Ci sono diverse altre distribuzioni derivate da Debian gia` sul mercato, come Progeny Debian, Linspire, Knoppix e Ubuntu, 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 di file specifici in modo che non vengano sovrascritti quando altri pacchetti vengono aggiornati. Questo e` discusso meglio nella domanda su Sezione 11.8, `Come sovrascrivere un file installato da un pacchetto in modo che ne venga usata una versione differente?'. 14.4. Posso mettere il mio programma commerciale in un "pacchetto" Debian cosicche' si possa installare senza fatica su ogni sistema Debian? ---------------------------------------------------------------------------- Certamente. Lo strumento per i pacchetti e` software libero; i pacchetti possono essere o meno software libero, li puo` installare tutti. ------------------------------------------------------------------------------- 15. Cambiamenti attesi nel prossimo rilascio principale di Debian ----------------------------------------------------------------- 15.1. Supporto esteso per gli utenti non-inglesi ------------------------------------------------ Debian ha gia` un ottimo supporto per utenti non-inglesi, si veda Sezione 5.9, `Come fa Debian a supportare le lingue diverse dall'inglese?'. Speriamo di trovare persone che forniscano supporto per ancora piu` lingue e che traducano. Alcuni programmi supportano gia` l'internazionalizzazione, cosi` abbiamo bisogno di traduttori dei cataloghi dei messaggi. Rimangono ancora molti programmi che devono essere correttamente internazionalizzati. Il progetto GNU di traduzione (GNU Translation Project) ftp://ftp.gnu.org/pub/gnu/ABOUT-NLS lavora sull'internazionalizzazione dei programmi GNU. Specificamente per Debian Lenny stiamo lavorando su cose come quelle che seguono: * Supporto i18n in tutti i pacchetti che usano debconf: i pacchetti che usano la gestione Debian della configurazione devono permettere la traduzione di tutti i messaggi presentati all'utente durante la configurazione del pacchetto. * Supporto i18n per le descrizioni dei pacchetti: aggiornare le interfacce alla gestione dei pacchetti in modo che usino le descrizioni tradotte dei pacchetti. * debian/changelog e debian/control UTF-8. In questo modo e` possibile, per esempio, stampare correttamente nei changelog i nomi delle persone provenienti dai paesi asiatici. 15.2. Avvio piu` veloce: sequenza di avvio basata su dipendenze --------------------------------------------------------------- Si sta lavorando sulla conversione della sequenza di avvio di Debian (http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot) in modo da usare un ordine dinamico e basato sulle dipendenze invece di numeri di sequenza prefissati. Una volta che cio` sara` stato fatto, i sistemi Debian si avvieranno in modo molto piu` veloce. 15.3. Miglioramenti nell'installatore Debian -------------------------------------------- E` stato fatto molto lavoro sull'installatore Debian che ha portato a grandi miglioramenti. Ne citeremo qui solo due. Avvio dell'installatore da Microsoft Windows: e` ora possibile avviare l'installatore direttamente da Microsoft Windows senza bisogno di modificare le impostazioni del BIOS. All'inserimento di un CD-ROM, DVD-ROM o pennina USB, un programma eseguito automaticamente verra` avviato, offrendo una procedura passo-passo per avviare l'installatore Debian. L'installatore Debian include ora il supporto sperimentale per l'installazione di Debian su sistemi con Serial ATA RAID. 15.4. Piu` architetture ----------------------- Un sistema Debian completo su altre architetture come ARM EABI (http://wiki.debian.org/ArmEabiPort) (chiamata "armel") (affianco alla vecchia "arm") sara` probabilmente supportato in Lenny. Il supporto per SuperH (http://wiki.debian.org/SHPort) e` atteso presto. Si noti che benche' alcune architetture vengano dismesse per un dato rilascio, ci potrebbe comunque essere un modo per installarle e aggiornarle usando la piu` recente `sid'. 15.5. Piu` kernel ----------------- In aggiunta a Debian GNU/Hurd, Debian sta facendo il port anche per i kernel BSD, in particolare per FreeBSD (http://www.debian.org/ports/kfreebsd-gnu/). Questo port gira sia su macchine AMD64 ("kfreebsd-amd64") sia su Intel tradizionali ("kfreebsd-i386"). ------------------------------------------------------------------------------- 16. Informazioni generali sulla FAQ ----------------------------------- 16.1. Autori ------------ La prima edizione di questa FAQ e` stata 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 e` stata mantenuta da Santiago Vila e successivamente da Josip Rodin. L'attuale manutentore e` Javier Fernandez-Sanguino. Parti delle informazioni provengono da: * l'annuncio del rilascio di Debian-1.1, di Bruce Perens (http://www.perens.com/); * la Linux FAQ, di Ian Jackson (http://www.chiark.greenend.org.uk/~ijackson/); * gli archivi delle mailing list Debian (http://lists.debian.org/); * il manuale per programmatori di dpkg e il manuale Debian Policy (si veda Sezione 12.1, `Quale altra documentazione esiste su e per un sistema Debian?'); * molti sviluppatori, volontari e beta tester e * la memoria traballante dei suoi autori :-); * inoltre Choosing a Debian distribution FAQ (http://people.cornell.edu/pages/kk288/debian_choosing_distribution.html) di Kamaraju Kusumanchi, che la ha gentilmente resa GPL in modo che potessi includerla come un nuovo capitolo (si veda Capitolo 3, `Scegliere una distribuzione Debian'). 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. 16.2. Feedback -------------- Commenti ed aggiunte a questo documento sono sempre i benvenuti. Mandate un messaggio di posta elettronica a o inviate una segnalazione di baco di tipo wishlist sul pacchetto `debian-faq (http://bugs.debian.org/debian-faq)'. 16.3. Reperibilita` ------------------- L'ultima versione di questo documento puo` essere letta sulle pagine WWW di Debian all'indirizzo http://www.debian.org/doc/FAQ/. E` anche disponibile per essere scaricata nei formati testo puro, HTML, PostScript e PDF all'indirizzo http://www.debian.org/doc/user-manuals#faq. Inoltre, ci sono li` anche diverse traduzioni. Questo documento e` disponibile nel pacchetto `debian-faq'. Traduzioni sono disponibili in `debian-faq-de', `debian-faq-fr' e altri pacchetti. I file SGML originali usati per creare questo documento sono inoltre disponibili nel pacchetto sorgente `debian-faq' o nel SVN agli indirizzi: `svn://svn.debian.org/svn/ddp/manuals/trunk/debian-faq' e http://svn.debian.org/viewsvn/ddp/manuals/trunk/debian-faq/. 16.4. Formato del documento --------------------------- Questo documento e` stato scritto usando il DTD SGML DebianDoc (riscritto da LinuxDoc SGML). I sistemi SGML DebianDoc ci permettono di creare file in una varieta` di formati da un unico sorgente, per esempio questo documento puo` essere visto come HTML, testo puro, TeX DVI, PostScript, PDF e GNU info. Le utilita` di conversione per l'SGML DebianDoc sono disponibili nel pacchetto Debian `debiandoc-sgml'. ------------------------------------------------------------------------------- The Debian GNU/Linux FAQ Gli autori sono elencati in Autori delle FAQ Debian versione 5.0, 27 August 2011