appstreamcli hängt bei 100% CPU-Auslastung während des Updates

76

appstreamcliüberhitzt meinen Laptop, indem er ständig 100% eines Kerns verwendet. Meine einzige Lösung ist es, es zu töten. Hier ist ein Screenshot von top:

Ausgabe von Top zeigt appstreamcli mit 100% CPU-Auslastung

Ich kann appstreamclientweder mit oder töten . Aber sobald ich das tue , kehrt der Prozess wieder zurück und hängt das Update auf. Wenn ich es dann töte, erhalte ich die folgende Ausgabe:sudo kill pidsudo killall appstreamclisudo apt updateappstreamcli

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 > /dev/null;
 fi'
E: Sub-process returned an error code

Was ist das für ein Prozess und warum verbraucht er so viel CPU?

nazar2sfive
quelle
2
Es ist ein Fehler. Siehe diese Frage: askubuntu.com/questions/774918/…
Bitte
9
68 Grad sind eine gute Temperatur, um ein Ei zu kochen, aber Sie brauchen viel höhere Temperaturen, um einen Laptop zu kochen.
Michael Hampton
@MichaelHampton Mein Laptop wird gekocht, wenn ein dummer Kernelprozess die gesamte CPU-Zeit in Anspruch nimmt. es wird ziemlich leicht bis zu 100 Grad Celsius. Dann schaltet es ab.
Katze
@cat Richtig, 100 ist die magische Zahl, auf der Ihr Laptop kocht. Vielleicht lohnt es sich, den Lüfter zu reinigen und die Wärmeleitpaste auf der CPU zu erneuern.
Michael Hampton
@MichaelHampton 100 ist die magische Zahl, bei der die CPU sagt: "Ich schalte ab oder ich werde anhalten und Feuer fangen !!!" . Der Lüfter ist sauber und die Wärmeleitpaste neu, sie ist einfach alt.
Katze

Antworten:

78

Dies wird durch einen Fehler verursacht https://bugs.launchpad.net/ubuntu/+source/appstream/+bug/1579712
Die Arbeitslösung (nur versucht , mich):

Zuerst appstreamclientweder manuell oder mit töten

sudo kill -KILL $(pgrep appstreamcli)

oder

sudo pkill -KILL appstreamcli

Dann:

wget -P /tmp https://launchpad.net/ubuntu/+archive/primary/+files/appstream_0.9.4-1ubuntu1_amd64.deb https://launchpad.net/ubuntu/+archive/primary/+files/libappstream3_0.9.4-1ubuntu1_amd64.deb
sudo dpkg -i /tmp/appstream_0.9.4-1ubuntu1_amd64.deb /tmp/libappstream3_0.9.4-1ubuntu1_amd64.deb

Danach können Sie wie gewohnt mit apt-get update fortfahren

sam50
quelle
12
Genau mein Problem, aber was ist appstreamcli übrigens?
Charles-Antoine Fournel
17
Seien Sie vorsichtig, dies funktioniert auf einem 64-Bit-System. auf einem 32-Bit, müssen Sie ändern , amd64um i386in den Links.
Rmano
1
Nach sudo kill {pid}dem Übergeben der Fehlermeldung " dpkg status database is locked by another process " ( dpkg-Statusdatenbank ist durch einen anderen Prozess gesperrt)
Andrea
Das Problem ist , dass appstreamcli als root ausgeführt wird, so dass die Datenbanksperre zu umgehen, einfach tun: sudo killall appstreamcli
Wespe
2
Da dieser Fehler (laut Beschreibung) nur sehr selten auftritt, muss der Fix durch einen Testfall getestet werden. Das Ausführen sudo appstreamcli refresh --forceohne zu hängen wird bestätigen, dass das Update funktioniert. Es hat bei mir funktioniert. Danke für die Lösung!
Nolexa
2

Wenn Sie aus irgendeinem Grund kein Out-of-Repo-Paket installieren und nur auf ein Update warten möchten, können Sie es auch vollständig deinstallieren.

Dadurch wird Discover on KDE: Plasma entfernt, und ich gehe davon aus, dass dadurch auch die Gnome-Software entfernt wird, oder was auch immer Ihr Ubuntu-Flavor hinzufügt. In diesem Fall können Sie nur Muon auf Kubuntu oder Synaptic auf GTK-basierten DEs verwenden.

Bevor Sie dies ausführen, stellen Sie sicher, dass Sie die zu entfernenden Pakete überprüfen, um sicherzustellen, dass dies für Sie in Ordnung ist.

Sie können herausfinden, was etwas ist, indem Sie ausführen

apt show appstream

um appstream run zu deinstallieren

sudo apt remove appstream
Goddard
quelle