Я часто сталкиваюсь с сообщением «В настоящее время другое приложение удерживает блокировку yum; ожидает его выхода ...» при попытке установить приложение, и мне приходится убивать yum вручную. Как я могу избежать этого? Есть ли простой способ разблокировать ням?
Кажется, что может работать только один экземпляр yum. То же самое с другими менеджерами пакетов (apt-get, pacman)?
sudo yum -y update
все пакеты обновлялись вместе с open-VPN. После обновления пакета open-VPN я был отключен от VPN. Я снова вхожу в систему, попробуйте обновить Yum снова, и он говорит то же самое.Ответы:
Я думаю, что это вызвано PackageKit. Вы должны проверить пакет PackageKit и отключить его (я предполагаю, что это CentOS 7 с
systemctl
, в противном случае вы можете использоватьservice
иchkconfig
) (как упоминалось в комментариях, имя службыpackagekit
не являетсяpackagekitd
):Другой подход (в CentOS / RHEL 6, Fedora 19 или более ранней версии) - открыть
/etc/yum/pluginconf.d/refresh-packagekit.conf
с помощью текстового редактора и изменитьenabled=1
наenabled=0
.Или вы можете полностью удалить его:
источник
packagekit.service
на моем Centos 7Для решения проблемы сделайте следующее:
Вы также можете обновить свой ням позже
источник
Вы можете разблокировать Yum, выполнив два простых шага,
1) Запустите,
ps aux | grep yum
чтобы увидеть, какой процесс блокирует ням. 2)kill <process_id>
убить процесс.Снова запустите,
ps aux | grep yum
чтобы увидеть, если процесс убит или нет. Yum будет разблокирован после завершения процесса.источник
В моем случае я был подключен к серверу через VPN (открытый VPN). После запуска
sudo yum -y update
все пакеты обновлялись вместе с open-VPN. После обновления пакета open-VPN я был отключен от VPN. Я снова вошел в систему, снова попробовал обновление yum и он сказал, что другой процесс удерживает блокировку yum.Я проверил,
ps ax | grep yum
и старый процесс все еще работал. Я ждал 5 минут, пока он «закончил», но процесс просто продолжался. Тогда я подумал, что смогу спустить курок с помощью killkill <PID of the yum update process>
Это не убило процесс. Пробовал это еще несколько раз, но все равно безуспешно.
В конце концов мне пришлось действительно подключиться к нему, запустив:
kill -9 <PID of the yum update process>
Пробовал yum update снова, но та же проблема. Я тогда побежал:
rm -f /var/run/yum.pid
а затем попытался обновить и получил этот вывод:
Поверьте, все хорошо, но мне не нравилось тянуть на себя так много вещей!
источник
systemctl disable packagekit
не достаточно . packagekit будет запущен после перезагрузки. Используйтеmask
команду вместоdisable
команды.После перезагрузки вы увидите ...
источник