Muitas vezes encontro a mensagem "Outro aplicativo está retendo o bloqueio do yum; aguarde até que ele saia ..." ao tentar instalar um aplicativo e preciso matá-lo manualmente. Como posso evitar isso? Existe algum método simples para desbloquear o yum?
Parece que apenas uma instância do yum pode estar em execução. É o mesmo com outros gerenciadores de pacotes (apt-get, pacman)?
sudo yum -y update
, todos os pacotes estavam sendo atualizados, juntamente com a VPN aberta. Depois que o pacote VPN aberto foi atualizado, eu fui desconectado da VPN. Faço login novamente, tente a atualização do yum novamente e ela diz a mesma coisa.Respostas:
Eu acho que é causado pelo PackageKit. Você precisa verificar o PackageKit e desativá-lo (presumo que seja o CentOS 7 com
systemctl
, caso contrário, você pode usá-loservice
echkconfig
) (como mencionado nos comentários, o nome do serviçopackagekit
não épackagekitd
):Outra abordagem (no CentOS / RHEL 6, Fedora 19 ou anterior) é abrir
/etc/yum/pluginconf.d/refresh-packagekit.conf
com um editor de texto e mudarenabled=1
paraenabled=0
.Ou você pode removê-lo completamente:
fonte
packagekit.service
no meu Centos 7faça o seguinte para resolver o problema:
você também pode atualizar seu yum depois
fonte
Você pode desbloquear o yum seguindo duas etapas simples,
1) Execute
ps aux | grep yum
para ver qual processo está bloqueando o yum. 2)kill <process_id>
para matar o processo.Novamente, execute
ps aux | grep yum
para ver se o processo está morto ou não. Yum será desbloqueado após o término do processo.fonte
No meu caso, eu estava conectado a um servidor via VPN (VPN aberta). Depois que eu executei
sudo yum -y update
, todos os pacotes estavam sendo atualizados, juntamente com a VPN aberta. Depois que o pacote VPN aberto foi atualizado, eu fui desconectado da VPN. Eu entrei novamente, tentei a atualização do yum novamente e dizia que outro processo está retendo o bloqueio do yum.Eu verifiquei
ps ax | grep yum
e o processo antigo ainda estava em execução. Esperei 5 minutos para que "terminasse", mas o processo continuou em execução. Então eu pensei que poderia "puxar o gatilho" com matar, então eu corrikill <PID of the yum update process>
Isso não matou o processo. Tentei isso mais algumas vezes, e ainda sem sucesso.
Finalmente, tive que realmente puxar o plugue, executando:
kill -9 <PID of the yum update process>
Tentei atualizar yum novamente, mas o mesmo problema. Eu então corri:
rm -f /var/run/yum.pid
e tentei atualizar e obtive esta saída:
Acredite que está tudo bem, mas eu não gostei de puxar o plugue com tantas coisas!
fonte
systemctl disable packagekit
não é suficiente . O packagekit será executado na reinicialização. Use omask
comando em vez dodisable
comando.Então, após a reinicialização, você verá ...
fonte