it-swarm.com.de

Ubuntu 16.04: appstreamcli-Fehler beim get-update

Ich versuche, WiFi zu aktivieren. Ich habe es mit Sudo apt-get update versucht. Aber ich erhalte diesen Fehler:

The AppStream system cache was updated, but some errors were detected, which might lead to missing metadata. Refer to the verbose log for more information.
Reading package lists... Done
E: Problem executing scripts APT::Update::Post-Invoke-Success 'if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli; then appstreamcli refresh-cache > /dev/null; fi'
E: Sub-process returned an error code

Wie kann ich Sudo apt-get update vervollständigen und Wifi in Ubuntu-16.04 aktivieren?

11
Nidhi Mehta

Ich hatte das gleiche Problem und das Problem war, dass (in meinem Fall) in der Datei /var/cache/app-info/xmls/fwupd.xml in Zeile 265 ein unangemessen maskiertes Zeichen vorlag, das die XML-Datei beschädigte, daher der Fehler. In der Zeile <checksum filename="Firmware_SF30&SN30_Pro_V1.26.dat" target="content" type="sha1">3ef2bdee8aca2a45b9f53b4d4cce9722523f57f8</checksum> muss das & -Symbol &amp; codiert sein, damit es sich um eine gültige XML handelt.

11
Nikola

Ein ähnlicher Fehler wurde gemeldet hier

Diese Antwort schlug das Folgende vor, um es zu lösen (ein paar Leute sagten, dass es ihnen half):

Das Entfernen von /usr/bin/appstreamcli ist in Ordnung, wenn Sie das feste Paket anschließend installieren.

Um dies manuell zu installieren, gehen Sie wie folgt vor (für AMD64 passen Sie die URLs für andere Architekturen an):

cd /tmp && mkdir asfix
cd asfix
wget https://launchpad.net/ubuntu/+archive/primary/+files/appstream_0.9.4-1ubuntu1_AMD64.deb
wget https://launchpad.net/ubuntu/+archive/primary/+files/libappstream3_0.9.4-1ubuntu1_AMD64.deb
Sudo dpkg -i *.deb
4
Yaron

Obwohl dies nicht auf xenial zurückportiert ist, kann man pgrade von libappstream-glib8 auf die Version in bionic einrichten, um Upgrades für dieses Paket (aber nicht den Rest) von bionic zu erhalten.

Verfahren

Wenn Sie sich in einem der mit ABORT gekennzeichneten Fälle befinden, machen Sie einfach alle bisher durchgeführten Schritte rückgängig und führen Sie Sudo apt update am Ende aus (ich erwarte jedoch nicht, dass dies geschieht, sie dienen lediglich als Schutz). .

  1. speichere eine Datei mit dem Namen (say) future.list in dir /etc/apt/sources.list.d (du brauchst Sudo) mit folgendem Inhalt:

    deb mirror://mirrors.ubuntu.com/mirrors.txt bionic main
    deb mirror://mirrors.ubuntu.com/mirrors.txt bionic-updates main
    deb mirror://mirrors.ubuntu.com/mirrors.txt bionic-security main
    
  2. speichere eine Datei mit dem Namen (say) future.pref in dir /etc/apt/preferences.d (du brauchst wieder Sudo) mit folgendem Inhalt:

    Package: *
    Pin: release a=bionic*
    Pin-Priority: 50
    
  3. Sudo apt update

  4. apt list -u und bestätigen, dass es nur "Listing ... Done" zurückgibt. Wenn es mehr Sachen zurückgibt, ABORT (siehe oben).
  5. Sudo apt install -assume-no -t=bionic libappstream-glib8. Wenn apt zu diesem Zeitpunkt behauptet, dass mehr erforderlich ist, um Abhängigkeiten zu erfüllen, als nur die alte Version durch die neue, ABORT, zu ersetzen (siehe oben).
  6. Sudo mv /var/cache/app-info/xmls/fwupd.xml ~/fwupd.xml.bck
  7. neustart (Ich fand, dass dies erforderlich war, wahrscheinlich, um die neue Version der gemeinsam genutzten Bibliothek zu laden, vielleicht, um einen Dienst neu zu starten)
  8. Sudo fwupdmgr refresh
  9. Sudo appstreamcli refresh
0
ricab