Saya sering menjumpai pesan "Aplikasi lain sedang memegang kunci yum; menunggu untuk keluar ..." ketika mencoba menginstal aplikasi dan saya harus membunuh yum secara manual. Bagaimana saya bisa menghindarinya? Apakah ada metode sederhana untuk membuka kunci yum?
Tampaknya hanya satu instance dari yum yang dapat berjalan. Apakah sama dengan paket manger lainnya (apt-get, pacman)?
sudo yum -y update
, semua paket diperbarui, bersama dengan VPN terbuka. Setelah paket VPN terbuka, saya terputus dari VPN. Saya masuk kembali, mencoba pembaruan yum lagi dan mengatakan hal yang sama.Jawaban:
Saya pikir ini disebabkan oleh PackageKit. Anda harus memeriksa PackageKit dan menonaktifkannya (saya menganggap itu adalah CentOS 7 dengan
systemctl
, kalau tidak Anda dapat menggunakanservice
danchkconfig
) (seperti yang disebutkan dalam komentar, nama layananpackagekit
tidakpackagekitd
):Pendekatan lain (Pada CentOS / RHEL 6, Fedora 19 atau sebelumnya) adalah membuka
/etc/yum/pluginconf.d/refresh-packagekit.conf
dengan editor teks, dan mengubahnyaenabled=1
menjadienabled=0
.Atau Anda dapat menghapusnya sepenuhnya:
sumber
packagekit.service
pada Centos 7 sayalakukan hal berikut untuk menyelesaikan masalah:
Anda juga dapat memperbarui yum Anda sesudahnya
sumber
Anda dapat membuka kunci yum dengan mengikuti dua langkah sederhana,
1) Jalankan
ps aux | grep yum
untuk melihat proses mana yang mengunci yum. 2)kill <process_id>
untuk mematikan proses.Sekali lagi lari
ps aux | grep yum
untuk melihat apakah prosesnya mati atau tidak. Yum akan dibuka setelah membunuh prosesnya.sumber
Dalam kasus saya, saya terhubung ke server melalui VPN (VPN terbuka). Setelah saya jalankan
sudo yum -y update
, semua paket diperbarui, bersama dengan VPN terbuka. Setelah paket VPN terbuka, saya terputus dari VPN. Saya login kembali, mencoba pembaruan yum lagi dan dikatakan proses lain memegang kunci yum.Saya memeriksa
ps ax | grep yum
dan proses lama masih berjalan. Saya menunggu 5 menit untuk "menyelesaikan", tetapi proses terus berjalan. Lalu saya pikir saya bisa "menarik pelatuknya" dengan membunuh, jadi saya berlarikill <PID of the yum update process>
Itu tidak mematikan prosesnya. Mencoba itu beberapa kali lagi, dan masih belum berhasil.
Akhirnya saya harus benar-benar menarik stekernya, dengan menjalankan:
kill -9 <PID of the yum update process>
Mencoba memperbarui yum lagi, tetapi masalah yang sama. Saya kemudian berlari:
rm -f /var/run/yum.pid
dan kemudian mencoba memperbarui dan mendapatkan output ini:
Percayalah semuanya baik-baik saja, tetapi saya tidak suka mencabut banyak hal!
sumber
systemctl disable packagekit
tidak cukup . packagekit akan berjalan saat reboot. Gunakanmask
perintah sebagai gantidisable
perintah.Kemudian saat reboot Anda akan melihat ...
sumber