it-swarm.com.de

Wie vermeide ich "Yum Lock" Ärger?

Beim Versuch, eine App zu installieren, wird häufig die Meldung "Eine andere App hält derzeit die Yum-Sperre; Warten auf das Beenden ..." angezeigt, 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)?

36
PHPst

Ich denke, es wird durch PackageKit verursacht. Sie müssen nach PackageKit suchen und es deaktivieren (ich nehme an, es ist CentOS 7 mit systemctl, andernfalls können Sie service und chkconfig verwenden) (wie in den Kommentaren erwähnt, der Dienst Name ist packagekit nicht packagekitd):

systemctl stop packagekit
systemctl disable packagekit

Ein anderer Ansatz (unter CentOS/RHEL 6, Fedora 19 oder früher) ist das Öffnen von /etc/yum/pluginconf.d/refresh-packagekit.conf mit einem Texteditor und ändern Sie enabled=1 bis enabled=0.

Oder Sie können es vollständig entfernen:

yum remove PackageKit
29
taliezin

gehen Sie wie folgt vor, um das Problem zu lösen:

cd /var/run
rm -f yum.pid

sie können Ihr Yum auch später aktualisieren

yum -y update
10
Lucky

Sie können yum freischalten, indem Sie zwei einfache Schritte ausführen:

1) Führen Sie ps aux | grep yum um zu sehen, welcher Prozess yum sperrt. 2) kill <process_id> um den Prozess abzubrechen.

Führen Sie erneut ps aux | grep yum um zu sehen, ob der Prozess abgebrochen wird oder nicht. Yum wird nach Beendigung des Vorgangs freigeschaltet.

4
MayurKubavat

systemctl disable packagekitist nicht genug. Das Paketkit wird beim Neustart ausgeführt. Verwenden Sie den Befehl mask anstelle des Befehls disable.

[[email protected] yum.repos.d]# systemctl mask packagekit
Created symlink from /etc/systemd/system/packagekit.service to /dev/null.

Beim Neustart sehen Sie dann ...

[[email protected] ~]$ systemctl status packagekit
● packagekit.service
   Loaded: masked (/dev/null; bad)
   Active: inactive (dead)
1
shrewmouse

In meinem Fall war ich über VPN (offenes VPN) mit einem Server verbunden. Einmal lief ich 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 festgestellt, dass ein anderer Prozess die Yum-Sperre hält.

Ich habe mit 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

kill <PID of the yum update process>

Das hat den Prozess nicht beendet. Versuchte das noch ein paar Mal und immer noch kein 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 rannte dann:

rm -f /var/run/yum.pid

und dann versuchte Update und bekam diese Ausgabe:

Loaded plugins: fastestmirror
Setting up Update Process
Loading mirror speeds from cached hostfile
 * base: mirror.sigmanet.com
 * epel: mirror.sjc02.svwh.net
 * extras: mirrors.vpsie.com
 * updates: mirror.pac-12.org
No Packages marked for Update

Glaube, alles ist gut, aber ich habe es nicht gemocht, an so vielen Dingen den Stecker zu ziehen!

1
arun