Wenn ich versuche, eine App zu installieren, stoße ich oft auf die Meldung "Eine andere App hält gerade die yum-Sperre; wartet darauf, dass sie beendet wird ...", und ich muss yum manuell beenden. Wie kann ich das vermeiden? Gibt es eine einfache Methode, um yum freizuschalten?
Es scheint, dass nur eine Instanz von yum ausgeführt werden kann. Ist es dasselbe mit anderen Paketmanagern (apt-get, pacman)?
sudo yum -y update
, wurden alle Pakete zusammen mit Open-VPN aktualisiert. Nachdem das open-VPN-Paket aktualisiert wurde, wurde ich vom VPN getrennt. Ich melde mich wieder an, versuche das YUM-Update erneut und es steht das Gleiche.Antworten:
Ich denke, dass es durch PackageKit verursacht wird. Sie müssen nach PackageKit suchen und es deaktivieren (ich nehme an, es ist CentOS 7 mit
systemctl
, ansonsten können Sieservice
und verwendenchkconfig
) (wie in den Kommentaren erwähnt, ist der Dienstnamepackagekit
nichtpackagekitd
):Ein anderer Ansatz (unter CentOS / RHEL 6, Fedora 19 oder früher) ist das Öffnen
/etc/yum/pluginconf.d/refresh-packagekit.conf
mit einem Texteditor und der Wechselenabled=1
zuenabled=0
.Oder Sie können es komplett entfernen:
quelle
packagekit.service
auf meinem Centos 7Gehen Sie wie folgt vor, um das Problem zu lösen:
Sie können Ihr yum auch nachträglich aktualisieren
quelle
Sie können yum entsperren, indem Sie zwei einfache Schritte ausführen:
1) Laufen Sie, um
ps aux | grep yum
zu sehen, welcher Prozess yum sperrt. 2)kill <process_id>
um den Prozess abzubrechen.Führen
ps aux | grep yum
Sie den Vorgang erneut aus, um festzustellen, ob der Prozess beendet wurde oder nicht. Yum wird nach dem Beenden des Prozesses freigeschaltet.quelle
In meinem Fall war ich über VPN (Open VPN) mit einem Server verbunden. Sobald ich lief
sudo yum -y update
, wurden alle Pakete zusammen mit Open-VPN aktualisiert. Nachdem das open-VPN-Paket aktualisiert wurde, wurde ich vom VPN getrennt. Ich habe mich wieder angemeldet, das YUM-Update erneut versucht und es wurde gemeldet, dass ein anderer Prozess die YUM-Sperre hält.Ich habe nachgefragt
ps ax | grep yum
und der alte Prozess lief noch. Ich habe 5 Minuten gewartet, bis es "fertig" war, aber der Prozess lief einfach weiter. Dann dachte ich, ich könnte mit kill den Abzug betätigen, also rannte ich loskill <PID of the yum update process>
Das hat den Prozess nicht beendet. Versuchte das noch ein paar Mal und immer noch keinen Erfolg.
Schließlich musste ich wirklich den Stecker ziehen, indem ich lief:
kill -9 <PID of the yum update process>
Versucht yum Update erneut, aber das gleiche Problem. Ich lief dann:
rm -f /var/run/yum.pid
und dann versucht Update und bekam diese Ausgabe:
Glaube, alles ist gut, aber ich habe nicht gern an so vielen Dingen den Stecker gezogen!
quelle
systemctl disable packagekit
ist nicht genug . Das PackageKit wird beim Neustart ausgeführt. Verwenden Sie denmask
Befehl anstelle desdisable
Befehls.Beim Neustart sehen Sie dann ...
quelle