APT: Errori (non così) frequenti

Da Guide@Debianizzati.Org.

Guida da adottare! Bannermv.png


Debian-swirl.png Versioni Compatibili
Tutte le versioni supportate di Debian

Indice

Introduzione

Questa pagina ha lo scopo di raccogliere i casi più frequenti di errori legati all'utilizzo degli strumenti APT di Debian, quali apt-get, dpkg, ed altri.

apt-get

Problema con la firma GPG

Con l'introduzione, da Etch in poi, di una nuova forma di autenticazione dei pacchetti, può capitare di trovarsi davanti ad un messaggio del genere:

W: GPG error: http://ftp.debian-unofficial.org sarge Release: \ 
The following signatures couldn't be verified because the public key is not available: \
NO_PUBKEY F82E5CC04B2B2B9E

Questo avviso indica che la chiave gpg usata per firmare l'archivio non è disponibile sul computer in uso.

Per ovviare a questo problema, è sufficiente eseguire i seguenti comandi:

# gpg --recv-keys #numerochiaveindicatonelmessaggio
# gpg --armor --export #numerochiaveindicatonelmessaggio | apt-key add - 
Info.png Aggiornamento:
per risolvere questo problema è sufficiente installare il pacchetto debian-keyring.deb dando il comando:
 # apt-get install debian-keyring


Problema con la Dynamic MMap

APT usa un file di cache, in cui vengono archiviate le informazioni disponibili sui pacchetti, che al momento dell'utilizzo viene mappato in memoria (RAM) in un'area di grandezza fissata, chiamata "Dynamic MMap". Aggiungendo dei repository al /etc/apt/sources.list può succedere che la grandezza fissata di default non sia più sufficiente a contenere le informazioni ottenute, e APT restituisce il seguente errore:

Error: Dynamic MMap ran out of room

Per ovviare all'inconveniente è sufficiente inserire (o modificare) una riga nel file /etc/apt/apt.conf, creandolo se non esiste, in cui viene specificato un limite più alto per la Dynamic MMap: la riga

APT::Cache-Limit 16777216;

imposta il limite a 16 MB, che nei moderni PC è un valore ragionevole.

Per controllare al volo quanta RAM avete disponibile al momento potete usare cat /proc/meminfo. La voce interessante è quella che inizia con Active (non con Free), infatti Linux è solito usare la memoria libera per mantenere una cache, cosa che permette di velocizzare le operazioni più comuni, e la libera al volo in caso di necessità: la memoria attiva è la memoria totale usata, meno quella impiegata come cache ;-)

Vedere anche: Introduzione all'APT System

dpkg

ldconfig e start-stop-daemon non in PATH

È possibile che, a partire da Buster in poi, appaia il seguente messaggio d'errore durante un aggiornamento:

dpkg: attenzione: "ldconfig" non è stato trovato in PATH o non è un eseguibile
dpkg: attenzione: "start-stop-daemon" non è stato trovato in PATH o non è un eseguibile
dpkg: errore: 2 programmi attesi non sono stati trovati in PATH o non sono eseguibili
Nota: la variabile PATH di root dovrebbe contenere /usr/local/sbin, /usr/sbin e /sbin
E: Sub-process /usr/bin/dpkg returned an error code (2)

Ciò è dovuto al cambiamento del comportamento del comando "su": adesso la variabile d'ambiente PATH non viene più preservata.
La soluzione consiste nell'utilizzare il comando:

$ su -

anziché:

$ su

per ottenere i privilegi di amministrazione.

Si veda anche questo link[1].

Link utili

[1] ldconfig e start-stop-daemon non in PATH (BTS)

Strumenti personali
Namespace
Varianti
Azioni
Navigazione
Risorse
Strumenti