Ed. italiana Copyright © Eugenia Franzoni, 2000.
"APT" e questo documento sono software libero, e li si può ridistribuire e/o modificare secondo i termini della Licenza Pubblica Generica GNU (GPL), pubblicata dalla Free Software Foundation, nella versione 2 o (se preferite) qualsiasi versione successiva.
"APT" and this document are free software; you can redistribute them and/or modify them under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
Per ulteriori dettagli sui sistemi GNU/Linux si veda il testo completo della licenza nel file /usr/share/common-licenses/GPL.
Il pacchetto APT al momento contiene due sezioni, il metodo APT
Il sistema di pacchettizzazione di Debian contiene un gran numero di
informazioni associate a ciascun pacchetto, per assicurarsi che si
integri facilmente ed in maniera pulita nel sistema; la più
importante di esse è il sistema di dipendenze.
Il sistema di dipendenze permette ai singoli programmi di fare uso
degli elementi condivisi del sistema, quali le librerie; per
ridurre il numero di elementi che l'utente medio debba installare,
le porzioni di programmi che non vengono usate spesso vengono poste
in pacchetti separati. Inoltre, è possibile avere più di una scelta per
cose quali i programmi di posta elettronica, i server X e così via.
Il primo passo per capire il sistema di dipendenze è la
comprensione del concetto di dipendenza semplice: un pacchetto richiede
che un altro sia installato insieme ad esso per poter
funzionare.
Ad esempio, mail-crypt è un'estensione di emacs che aiuta a criptare le
mail con PGP. Se PGP non è installato, mail-crypt è inutile, quindi
mail-crypt ha una dipendenza semplice da PGP. Inoltre, dato che si tratta
di un'estensione di emacs, mail-crypt dipende anche da emacs, senza il
quale è totalmente inutile.
L'altro tipo di dipendenza importante da capire è la dipendenza di
conflitto; con questa, un pacchetto che venga installato insieme ad un
altro pacchetto non funziona, e si hanno seri problemi al sistema.
Come esempio, si consideri un programma di trasporto della posta,
quale sendmail, exim o qmail: non è possibile averne due contemporaneamente,
perché entrambi hanno bisogno di restare in ascolto sulla stessa porta di rete
per ricevere la posta. Tentare di installarne due danneggerebbe seriamente il
sistema, quindi ciascun programma di trasporto della posta ha una
dipendenza di conflitto con tutti gli altri.
Come ulteriore complicazione, c'è la possibilità che un pacchetto
voglia prendere il posto di un altro; ad esempio, exim e sendmail per molte
cose sono identici, dato che entrambi gestiscono la posta e comprendono
un'interfaccia comune, quindi il sistema di pacchettizzazione deve dichiarare
che sono entrambi agenti di trasporto della posta, e che gli altri
pacchetti a cui serve uno dei due devono dipendere da un pacchetto
fittizio agente-di-trasporto-della-posta. Quando si modificano
a mano i pacchetti, questo può portare a moltissima confusione.
In ciascun momento una singola dipendenza può essere soddisfatta o meno
dai pacchetti già installati; APT cerca di risolvere i problemi
di dipendenze con un buon numero di algoritmi automatici, che aiutano
a selezionare i pacchetti da installare.
La prima
Dopo aver aggiornato l'elenco si possono usare molti comandi:
È importante controllare attentamente cosa intende fare dist-upgrade,
dato che le sue decisioni a volte possono essere abbastanza sorprendenti.
Il metodo APT di
Per abilitare il metodo APT dovete selezionare [A]ccess in
La configurazione delle fonti inizia chiedendo la base dell'archivio Debian,
propone come default un mirror HTTP, e poi chiede la distribuzione
da scaricare.
La distribuzione (``distribution'') fa riferimento alla versione Debian
dell'archivio: stable> è l'ultima rilasciata, ed unstable>
è quella di sviluppo. non-US> è disponibile solo su alcuni mirror,
e contiene dei pacchetti in cui viene usata della tecnologia di criptazione
o altre cose che non possano essere esportate dagli Stati Uniti; importare
questi pacchetti negli US è però legale.
L'elenco dei componenti (``components'') si riferisce alla lista di
sotto-distribuzioni da scaricare. Ciascuna distribuzione viene divisa in
base al copyright del software: la main contiene pacchetti la cui licenza
soddisfa le DFSG, mentre contrib e non-free contengono software che ha
diverse restrizioni sull'uso e sulla distribuzione.
Si possono inserire un qualsiasi numero di fonti, e lo script di
configurazione continuerà a chiedere fino a che abbiate specificato tutti gli
elementi che volete.
Prima di cominciare ad usare
Si può a questo punto continuare selezionando i pacchetti desiderati
usando [S]elect e poi installando con [I]nstall. Se si usa il metodo APT,
i comandi [C]onfig e [R]emove non hanno significato, dato che entrambe le
fasi sono contenute in [I]nstall.
Per default APT rimuoverà automaticamente i pacchetti che sono stati installati
con successo. Per modificare questo comportamento, si inserisca
Dselect::clean "prompt";> in /etc/apt/apt.conf.
Entrambi i metodi,
Prima di ciascuna operazione, eccetto l'aggiornamento della lista, APT
compie alcune operazioni per prepararsi, oltre a dei controlli dello
stato del sistema. In qualsiasi momento le stesse operazioni possono essere
fatte con apt-get check>
La prima cosa che fa è leggere tutti i file dei pacchetti in memoria,
usando uno schema di caching in modo da rendere la stessa operazione più
veloce la seconda volta che la si fa. Se alcuni dei file dei pacchetti
non vengono trovati, sono ignorati e viene stampato un avvertimento
all'uscita di apt-get.
L'operazione finale consiste in un'analisi dettagliata delle
dipendenze del sistema: viene controllato che tutte le dipendenze dei
singoli pacchetti installati o non scompattati siano soddisfatte.
Se vengono individuati dei problemi, viene stampato un resoconto,
ed
In questo esempio il sistema ha molti problemi, tra cui uno piuttosto serio
con la libreadlineg2. Per ciascun pacchetto che ha dipendenze non soddisfatte,
viene stampata una linea che indica il pacchetto che crea il problema e
quali problemi ci sono. Viene inclusa inoltre una breve spiegazione
del perché il pacchetto ha un problema di dipendenze.
Ci sono due modi in cui un sistema possa arrivare in uno stato problematico
di questo genere: il primo è causato dal fatto che
La seconda possibilità è meno seria della prima, dato che APT gestisce
l'ordine di installazione dei pacchetti; in entrambi i casi l'opzione
-f> di
Se viene usata però l'opzione -f> per correggere un sistema in uno
stato molto problematico, è possibile che anche con l'opzione il programma
fallisca, subito o durante la sequenza di installazione. In entrambi i casi
è necessario usare dpkg a mano (probabilmente usando delle opzioni
di forzatura) per correggere quanto basta per poter fare continuare APT.
Prima di procedere,
L'elenco dei pacchetti Extra mostra tutti i pacchetti che verranno installati
o aggiornati oltre a quelli indicati sulla linea di comando. Viene generato
solo per il comando install>. I pacchetti elencati sono spesso il
risultato di un'operazione di auto installazione (Auto Install).
L'elenco dei pacchetti da rimuovere (Remove) indica tutti i pacchetti che
verranno rimossi dal sistema. Può essere mostrato per una qualsiasi delle
operazioni, e deve sempre essere esaminato attentamente per assicurarsi
che non venga eliminato qualcosa di importante. Con l'opzione -f>
è particolarmente probabile che vengano eliminati dei pacchetti, ed in questo
caso va fatta estrema attenzione. La lista può contenere dei pacchetti
che verranno rimossi perché sono già rimossi parzialmente, forse a causa
di un'installazione non terminata correttamente.
L'elenco dei nuovi pacchetti installati (New) è semplicemente un appunto
su quello che accadrà. I pacchetti nell'elenco non sono al momento installati
nel sistema, ma lo saranno alla fine delle operazioni di APT.
In ogni caso in cui il sistema viene aggiornato nel suo insieme, c'è la
possibilità che non possano venire installate nuove versioni di alcuni
pacchetti, dato che potrebbero richiedere l'installazione di pacchetti non
presenti nel sistema, o entrare in conflitto con altri già presenti.
In questo caso, il pacchetto viene elencato nella lista di quelli
trattenuti (Kept Back). Il miglior modo per convincere i pacchetti
elencati in questa lista è di installarli con apt-get install> o
usare
A volte si può richiedere ad APT di installare un pacchetto
che è stato trattenuto; in questi casi viene stampato un messaggio di
attenzione, che avverte che il pacchetto verrà modificato. Questo
dovrebbe accadere solo durante operazioni di dist-upgrade o di install.
Infine, APT stamperà un riassunto di tutte le modifiche che accadranno.
La prima linea del riassunto è semplicemente una versione ridotta di tutte
le liste, ed include il numero di aggiornamenti -- cioè dei pacchetti
già installati per cui sono disponibili nuove versioni. La seconda
linea indica il numero di pacchetti con problemi di configurazione,
probabilmente in conseguenza di un'installazione non andata a buon fine.
La linea finale indica i requisiti di spazio dell'installazione: i primi
due numeri indicano rispettivamente il numero di byte che devono
essere trasferiti da posizioni remote, ed il secondo la dimensione totale
di tutti gli archivi necessari per l'installazione. Il numero successivo
indica la differenza in dimensione tra i pacchetti già installati
e quelli che lo saranno, ed è approssimativamente equivalente allo spazio
richiesto in /usr dopo l'installazione. Se si stanno rimuovendo dei
pacchetti, il valore può indicare lo spazio che verrà liberato.
Si possono generare altri resoconti usando l'opzione -u per mostrare
i pacchetti da aggiornare, ma sono simili all'esempio precedente.
Durante il download degli archivi e dei file dei pacchetti, APT
stampa una serie di messaggi di stato.
Le linee che cominciano con Get> vengono stampate quando APT inizia
a scaricare un file, e l'ultima linea indica il progresso dell'operazione.
Il primo valore in percentuale indica la percentuale totale di tutti i file;
dato che la dimensione dei file Package non è nota, purtroppo a volte
apt-get update> fa una stima poco accurata.
La sezione successiva della linea di stato viene ripetuta una volta per
ciascuna fase del download, ed indica l'operazione in corso, insieme
ad alcune informazioni utili su cosa stia accadendo. A volte questa
sezione contiene solamente Forking>, che significa che il sistema
operativo sta caricando il modulo. La prima parola dopo la parentesi quadra
aperta è il nome breve dell'oggetto che si sta scaricando, che per gli archivi
è il nome del pacchetto.
All'interno delle virgolette c'è una stringa informativa, che indica il
progresso della fase di negoziazione del download. Tipicamente comincia con
Connecting>, procede con Waiting for file> e poi con
Downloading> o Resuming>. Il valore finale è il numero di byte
che sono stati scaricati dal sito remoto: una volta cominciato il
download viene rappresentato come 102/10.2k>, che indica che
sono stati scaricati 102 byte di 10.2 kilobyte. La dimensione totale
viene sempre espressa in notazione a quattro cifre, per risparmiare
spazio. Dopo la dimensione viene indicato un indicatore
progressivo della percentuale del file. Il penultimo elemento è la velocità
istantanea media, che viene aggiornata ogni 5 secondi, e riflette la
velocità di trasferimento dei dati in quel periodo. Infine, viene
visualizzato il tempo stimato per il trasferimento, che viene aggiornato
periodicamente e riflette il tempo necessario per completare tutte le
operazioni alla velocità di trasferimento mostrata.
La visualizzazione dello stato viene aggiornata ogni mezzo secondo per
fornire un feedback costante del processo di download, e le linee Get
scorrono indietro quando viene cominciato il download di un nuovo file.
Dato che la visualizzazione dello stato viene costantemente
aggiornata, non è adatta per essere registrata in un file; per non
visualizzarla si può usare l'opzione -q>.
APT usa