APT: Errori (non così) frequenti: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
(obsoleta (prima era "da adottare"), tutto è gestito da debian-keyring e cache-limit è ora illimitato di default)
 
(6 versioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
{{Old}}
{{Versioni compatibili}}
{{Versioni compatibili}}
== Introduzione ==
== 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.
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 ==
== apt-get ==
Riga 27: Riga 26:
=== Problema con la Dynamic MMap ===
=== Problema con la Dynamic MMap ===


[[Introduzione_all%27_Apt_System | 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".
[[Introduzione all'APT System | 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 <code>/etc/apt/sources.list</code> può succedere che la grandezza fissata di default non sia più sufficiente a contenere le informazioni ottenute, e APT restituisce il seguente errore:
Aggiungendo dei repository al <code>/etc/apt/sources.list</code> può succedere che la grandezza fissata di default non sia più sufficiente a contenere le informazioni ottenute, e APT restituisce il seguente errore:
<pre>
<pre>
Riga 42: Riga 41:
La voce interessante è quella che inizia con <code>Active</code> (non con <code>Free</code>), 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 ;-)
La voce interessante è quella che inizia con <code>Active</code> (non con <code>Free</code>), 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]]
Vedere anche: [[Introduzione all'APT System]]
 
=== Aggiornamento al cambio di release ===
Il seguente messaggio:
<pre>
Il repository "nome" ha modificato il valore "Suite" da "testing" a "stable"
N: Ciò deve essere accettato prima di poter applicare gli aggiornamenti da questo repository. Per maggiori informazioni consultare la pagina man apt-secure(8).
</pre>
o anche:
<pre>
Il repository "nome" ha modificato il valore "Suite" da "buster" a "testing"
N: Ciò deve essere accettato prima di poter applicare gli aggiornamenti da questo repository. Per maggiori informazioni consultare la pagina man apt-secure(8).
</pre>
o simile potrebbe comparire durante l'aggiornamento se si è verificato un rilascio con conseguente cambio dell'associazione [[codename]]/release (ad esempio [[buster]] è diventata stable e non è più testing).<br(>
Questo messaggio andrà via dopo un:
<pre>
# apt --allow-releaseinfo-change update
</pre>
oppure rispondendo "s" e non "N" o [INVIO] se viene posta la domanda di accettare il cambio di informazioni sulla reelase.


== dpkg ==
== 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:
<pre>
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)
</pre>
Ciò è dovuto al cambiamento del comportamento del comando "su": adesso la [[variabili d'ambiente|variabile d'ambiente]] [[Esecuzione di programmi: la variabile PATH|PATH]] non viene più preservata.<br/>
La soluzione consiste nell'utilizzare il comando:
<pre>$ su -</pre>
anziché:
<pre>$ su</pre>
per ottenere i [[Privilegi di amministrazione|privilegi di amministrazione]].
Si veda anche questo link<sup>[[#Link utili|[1]]]</sup>.


== Link utili ==
== Link utili ==
[1] [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=904988 ldconfig e start-stop-daemon non in PATH] ([[BTS]])<br/>


----
{{Autori
|Autore=[[Utente:S3v|S3v]] 16:55, 7 lug 2019 (CEST)<br/>
(guida originariamente scritta da Maxer)
|Verificata_da=
:[[Utente:HAL 9000|HAL 9000]] 20:14, 3 nov 2019 (CET)
:[[Utente:Marcomg|HAL 9000]] 21:22, 23 lug 2020 (CET)
|Numero_revisori=2
}}


[[Categoria:Apt]]
[[Categoria:Apt]]

Versione attuale delle 19:26, 23 lug 2020

Debian-swirl.png Versioni Compatibili

Tutte le versioni supportate di Debian

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

Aggiornamento al cambio di release

Il seguente messaggio:

Il repository "nome" ha modificato il valore "Suite" da "testing" a "stable"
N: Ciò deve essere accettato prima di poter applicare gli aggiornamenti da questo repository. Per maggiori informazioni consultare la pagina man apt-secure(8).

o anche:

Il repository "nome" ha modificato il valore "Suite" da "buster" a "testing"
N: Ciò deve essere accettato prima di poter applicare gli aggiornamenti da questo repository. Per maggiori informazioni consultare la pagina man apt-secure(8).

o simile potrebbe comparire durante l'aggiornamento se si è verificato un rilascio con conseguente cambio dell'associazione codename/release (ad esempio buster è diventata stable e non è più testing).<br(> Questo messaggio andrà via dopo un:

# apt --allow-releaseinfo-change update

oppure rispondendo "s" e non "N" o [INVIO] se viene posta la domanda di accettare il cambio di informazioni sulla reelase.

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)




Guida scritta da: S3v 16:55, 7 lug 2019 (CEST)

(guida originariamente scritta da Maxer)

Swirl-auth60.png Debianized 60%
Estesa da:
Verificata da:
HAL 9000 20:14, 3 nov 2019 (CET)
HAL 9000 21:22, 23 lug 2020 (CET)

Verificare ed estendere la guida | Cos'è una guida Debianized