Impossibile "apt-get dist-upgrade" a causa dell'errore del database appstreamcli


20

Ho creato una chiavetta USB con Ubuntu 16.04 persistente (versione di rilascio). Ho provato un paio di modi, usando Startup Disk Creator e MultiSystem, ma ho ottenuto lo stesso risultato finale.

Quando avvio in USB e eseguo 'apt-get update', va tutto bene. Quando provo 'apt-get dist-upgrade' ottengo:

** (appstreamcli: 2761): CRITICO **: errore durante lo spostamento del vecchio database. Aggiornamento della cache AppStream non riuscito.

L'unico riferimento a questo messaggio di errore che riesco a trovare è https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1561472 ma sembrerebbe corretto, almeno fissato al momento in cui la versione di rilascio di Ubuntu 16.04.

A parte: voglio testare Unity8, che include l'installazione di software. Non ho un computer di riserva, quindi ho pensato che una USB persistente avrebbe funzionato.

Qualche acquirente?


2
Does rm -rf /var/lib/apt/lists /var/cache/apt; apt update; apt cleanaiuto?
Olathe,

Questo mi è successo in un'occasione con un Live USB non persistente. Per me, correre sudo rm -rf /var/lib/apt/listsera abbastanza per ottenere apt updatee una successiva installazione funzionava di nuovo, anche se con lo stesso errore sul "CD-ROM" che non aveva un file di rilascio.
mwfearnley,

1
Potresti per favore aprire una nuova domanda se hai una domanda nuova o successiva? Se affronti domande difficilmente correlate su domande esistenti stai allargando il loro campo di applicazione, il che rende loro più difficile rispondere. Inoltre, probabilmente invalida le risposte esistenti. Mi sono preso la libertà di rimuovere la domanda di follow-up. Grazie.
David Foerster,

2
Ho ottenuto esattamente lo stesso errore quando si fa sudo apt-get update, e le soluzioni qui non ha aiutato: Ho provato a rimuovere /var/lib/apt/listse /var/cache/apte questo non ha risolto il problema. Le autorizzazioni per /var/cache/app-info/xapian/defaulterano già impostate correttamente. Ciò che ha aiutato è cd /var/cache/app-info/xapian; sudo mv default default_old; sudo mv default_old default. Questo è spiegato qui: bugs.launchpad.net/ubuntu/+source/appstream/+bug/1601971 (commento # 11).
Fiktor

Risposte:


29

Questo è successo anche a me usando la chiavetta USB persistente Ubuntu 16.04.1 live.

La soluzione di uncledave all'inizio non ha funzionato, ma come suggerito, cambiare i diritti è stata la soluzione finale.

Poi ho trovato la risposta n. 11 di daniel-gimpelevich per il bug 1601971 I seguenti comandi mi hanno aiutato a riparareapt-get update

sudo chmod -R a+rX,u+w /var/cache/app-info/xapian/default

Come ho immaginato che 755 fosse la maschera giusta? La differenza tra

ls -ld /var/cache/app-info/xapian
drwxr-xr-x 1 root root 4096 Nov 19 20:35 /var/cache/app-info/xapian/

e

ls -ld /var/cache/app-info/xapian/default
drw-r--r-- 2 root root 4096 Jul 19 20:54 /var/cache/app-info/xapian/default

Dopo questo aggiornamento apt-get ha funzionato bene.

sudo apt-get update
Hit:1 http://archive.ubuntu.com/ubuntu xenial InRelease
Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [94.5 kB]
Get:3 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [95.7 kB]      
Fetched 190 kB in 0s (312 kB/s)                                                
Reading package lists... Done

Nota1 L' aggiornamento di una chiavetta USB permanente persistente in questo modo non è suggerito, poiché potrebbero essere installati o aggiornati troppi pacchetti.

Nota 2 È meglio installare Ubuntu direttamente sulla chiavetta USB se si desidera utilizzarlo come "Swiss Army Knife" avviabile.


La qualità di questa risposta è ottima. Continuate così :)
ThatGuy

//, posso confermare che funziona su 16.04.3 LTS su un'unità USB live su un Dell XPS.
Nathan Basanese,

questo lavoro per me .. anche in WSL .. grazie per le informazioni ..
Buddhika Chaturanga,

2

Una ricerca su Google mi ha portato a questo link: su github

Ho provato questo comando e funziona per me:

chmod 777 /var/cache/app-info/xapian/default -R


6
Si prega di non raccomandare 0777aka autorizzazioni "per favore-hack-my-system-and-destroy-my-data" senza motivo apparente! Non c'è quasi mai motivo di farlo perché può essere evitato con modifiche più sensate come cambiare la proprietà (del gruppo). Vedi la risposta di linux64kb come riferimento. −1
David Foerster,

//, @uncledave, 0755funziona anche? Hai raggiunto ~ 20k persone, a parte.
Nathan Basanese,

1
@NathanBasanese 755 funziona di sicuro
linux64kb

1

Sulla mia persistente USB live con 16.04.1, appena digitata

sudo -i

Quindi come ha fatto root

sudo apt-get update E tutto andava bene. Poi

exit

E torniamo al mio percorso originale ubuntu @ ubuntu.


0

Sul mio sistema (basato su Ubuntu xenial) questo era il layout dei permessi iniziali:

drwxr-xr-x 2 root root 4096 Sep 28 12:32 /var/cache/app-info/xapian/default/

Nota, il gruppo non aveva accesso "w". La correzione era

chmod g+w /var/cache/app-info/xapian/default

, quindi nessun pericolo qui (come in c0m3h4ckm3 :))


-1

Non so come risolvere correttamente questo problema, ma chiamare apt-get dist-upgradedue volte funziona per me, sono in grado di riprodurlo su un Ubuntu installato (alla prima chiamata ci sarà l'errore, ma la seconda chiamata funziona).


Ci ho provato - lo ha "riparato", ma poi quando ho provato a ripetere il processo, ho avuto lo stesso errore. Quindi niente banana. Il suggerimento di Olathe sopra ha aiutato, ma poi ha portato a un altro errore ... vedi commento sopra.
Bernmeister,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.