'Apt-get dist-upgrade' kann aufgrund eines appstreamcli-Datenbankfehlers nicht ausgeführt werden

20

Ich habe einen USB-Stick mit einem beständigen Ubuntu 16.04 (Release-Version) erstellt. Ich habe verschiedene Methoden mit Startup Disk Creator und MultiSystem ausprobiert, aber ich erhalte das gleiche Endergebnis.

Wenn ich über USB boote und 'apt-get update' mache, ist alles in Ordnung. Wenn ich 'apt-get dist-upgrade' versuche, erhalte ich:

** (appstreamcli: 2761): CRITICAL **: Fehler beim Verschieben der alten Datenbank aus dem Weg. AppStream-Cache-Aktualisierung fehlgeschlagen.

Der einzige Hinweis auf diese Fehlermeldung, den ich finden kann, ist https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1561472 , scheint jedoch behoben zu sein, zumindest zum Zeitpunkt der Veröffentlichung der Ubuntu-Version 16.04.

Nebenbei: Ich möchte Unity8 testen, wozu auch die Installation von Software gehört. Ich habe keinen Ersatzcomputer, daher dachte ich, dass ein beständiger USB-Anschluss das Problem lösen würde.

Irgendwelche Abnehmer?

Bernmeister
quelle
2
Hilft das rm -rf /var/lib/apt/lists /var/cache/apt; apt update; apt clean?
Olathe
Dies ist mir einmal mit einem nicht persistenten Live-USB passiert. Für mich sudo rm -rf /var/lib/apt/listsreichte es aus, ausgeführt zu werden, apt updateund eine nachfolgende Installation funktionierte wieder, obwohl derselbe Fehler dahingehend auftrat, dass auf der "CD-ROM" keine Release-Datei vorhanden war.
Mwfearnley
1
Könnten Sie bitte eine neue Frage eröffnen , wenn Sie eine neue Frage oder eine Folgefrage haben? Wenn Sie kaum verwandte Fragen auf vorhandene Fragen anwenden, erweitern Sie deren Umfang, was die Beantwortung erschwert. Darüber hinaus macht es wahrscheinlich vorhandene Antworten ungültig. Ich habe mir erlaubt, die Folgefrage zu streichen. Vielen Dank.
David Foerster
2
Dabei sudo apt-get updateist genau derselbe Fehler aufgetreten , und die hier aufgeführten Lösungen haben nicht geholfen: Ich habe versucht, /var/lib/apt/listsund zu entfernen, /var/cache/aptund dies hat das Problem nicht gelöst. Berechtigungen für /var/cache/app-info/xapian/defaultwurden bereits korrekt eingerichtet. Was hat geholfen ist cd /var/cache/app-info/xapian; sudo mv default default_old; sudo mv default_old default. Dies wird hier erklärt: bugs.launchpad.net/ubuntu/+source/appstream/+bug/1601971 (Kommentar # 11).
Fiktor

Antworten:

29

Dies geschah mir auch mit 16.04.1 Live Ubuntu persistenten USB-Stick.

Die Lösung von uncledave funktionierte zunächst nicht, aber wie vorgeschlagen, war die Änderung der Rechte die endgültige Lösung.

Dann habe ich die Antwort # 11 von daniel-gimpelevich für den Fehler 1601971 gefunden. Die folgenden Befehle haben mir bei der Reparatur geholfenapt-get update

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

Wie habe ich erraten, dass 755 die richtige Maske ist? Der Unterschied zwischen

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

und

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

Nach diesem Update lief apt-get einwandfrei.

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

Hinweis1 Es wird nicht empfohlen, einen permanenten Live-USB-Stick auf diese Weise zu aktualisieren. Dies führt zu Problemen, wenn zu viele Pakete installiert / aktualisiert werden.

Hinweis2 Es ist eine bessere Idee, Ubuntu direkt auf dem USB-Stick zu installieren, wenn Sie es als bootfähiges "Schweizer Taschenmesser" verwenden möchten.

linux64kb
quelle
Die Qualität dieser Antwort ist großartig.
Weiter
// Ich kann bestätigen, dass dies unter 16.04.3 LTS auf einem Live-USB-Laufwerk auf einem Dell XPS funktioniert.
Nathan Basanese
Diese Arbeit für mich .. in der WSL auch .. Danke für die Info ..
Buddhika Chaturanga
2

Eine Google-Suche führte mich zu diesem Link: auf Github

Ich habe diesen Befehl ausprobiert und er funktioniert bei mir:

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

uncledave
quelle
6
Bitte empfehlen 0777Sie die Berechtigungen "Bitte hacken Sie mein System und zerstören Sie meine Daten" nicht ohne ersichtlichen Grund! Es gibt so gut wie keinen Grund, dies zu tun, da dies durch sinnvollere Änderungen wie das Ändern der (Gruppen-) Eigentümerschaft vermieden werden kann. Siehe die Antwort von linux64kb als Referenz. −1
David Foerster
//, @uncledave, funktioniert 0755das auch? Sie haben übrigens ungefähr 20.000 Menschen erreicht.
Nathan Basanese
1
@ NathanBasanese 755 funktioniert auf
jeden Fall
1

Auf meinem persistenten Live-USB mit 16.04.1, einfach getippt

sudo -i

Dann wie Root

sudo apt-get update Und alles war gut. Dann

exit

Und zurück zu meinem ursprünglichen Pfad ubuntu @ ubuntu.

susansdad
quelle
0

Auf meinem System (basierend auf Ubuntu Xenial) war dies das anfängliche Perms-Layout:

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

Beachten Sie, dass die Gruppe keinen 'w'-Zugriff hatte. Das Update war

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

, also keine gefahren hier (wie in c0m3h4ckm3 :))

terebinT
quelle
-1

Ich weiß nicht, wie ich dieses Problem richtig beheben kann, aber apt-get dist-upgradezweimaliges Aufrufen funktioniert bei mir. Ich kann es auf einem installierten Ubuntu reproduzieren (beim ersten Aufruf tritt der Fehler auf, aber der zweite Aufruf funktioniert).

Defman
quelle
Versuchte das - es "reparierte" es, aber dann, als ich versuchte, den Prozess zu wiederholen, erhielt den gleichen Fehler. Also keine Banane. Der Vorschlag von Olathe oben hat geholfen, aber dann zu einem anderen Fehler geführt ... siehe Kommentar oben.
Bernmeister