O que é yum equivalente a 'apt-get update'?

86

O Debian apt-get updatebusca e atualiza o índice do pacote. Como estou acostumado a esse modo de fazer as coisas, fiquei surpreso ao descobrir que yum updatefaz tudo isso e atualiza o sistema. Isso me deixou curioso sobre como atualizar o índice do pacote sem instalar nada.

tshepang
fonte

Respostas:

90

O check-updatecomando atualizará o índice do pacote e verificará as atualizações disponíveis:

yum check-update
abanar
fonte
3
Este comando permite determinar se há atualizações disponíveis para os pacotes instalados . yumretorna uma lista de todas as atualizações de pacotes de todos os repositórios, se houver alguma disponível. apt-get updateatualizar arquivos de índice, mas yum check-updatenão.
SuB
Isso não funciona se yumjá tiver sido executado recentemente, ver alguns dos outros respostas para alternativas ...
rogerdpack
29

O Enquanto yum check-updateverificará as atualizações dos pacotes instalados, se precisar ser atualizado, assim como a maioria dos outros comandos.

O comando estritamente equivalente apt-get updateé yum makecache... no entanto, geralmente não é recomendável executá-lo diretamente, no yum.

James Antill
fonte
11
Eu não entendo a primeira frase. Você pode reformular talvez?
tshepang
8
Isso significa que outros yumcomandos, por exemplo, yum upgradeserão executados automaticamente, yum check-updatese necessário. Em outras palavras, yum upgradeé basicamente o mesmo que apt-get update; apt-get upgrade.
Mikel
Obrigado! O yum check-update não me ajudou contra erros 404. Mas yum makecache ajuda! ENORME obrigado!
socketpair
O original era sobre atualizar automaticamente os repodados para apresentar as informações mais recentes (algo que o apt-get não faz, ou pelo menos não fez em 2011). Após a edição agora é tipo de estranhamente sem sentido :(.
James Antill
Por que não é recomendado executar yum makecache? Ele está listado na página do manual e parece funcionar como apt-get update... observe também que yum check-updatenem sempre executa uma atualização, consulte outras respostas, FWIW :)
rogerdpack
21

Infelizmente, yum check-updatepor padrão, não retira as alterações dos repositórios remotos até que yum.confo parâmetro metadata_expire tenha decorrido (padrão 90m). Aparentemente, seu objetivo é "saber se a sua máquina possui atualizações que precisavam ser aplicadas sem executá-la de forma interativa"; basicamente, é "verificar se algum pacote pode ser atualizado", não "atualizar a lista de pacotes para os quais eu poderia atualizar", como você esperaria.

Então, se você executar yum check-updatee conseguir isso:

$ sudo yum check-update
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile

packagename      version     repo

Isso significa que a atualização de verificação não está executando uma atualização, como apt-get updatefaz.

Você pode ver quanto tempo levará antes de fazer a "atualização automática" que todos os comandos executam abaixo, executando o seguinte :yum repolist enabled -v

Gambiarra:

use yum clean expire-cache (ou yum clean all) primeiro, então qualquer comando yum futuro atualizará automaticamente o cache "quando executado". . Como os comandos yum futuros atualizam o cache, na prática é o mesmo que apt-get update.

Ou altere o parâmetro metadata_expire do yum.conf para menos do que o padrão de 90 minutos, eu acho.

Ou execute yum makecache(a partir das outras respostas) que parece remover o cache e baixar cópias novas imediatamente. Mas parece demorar mais que clean all(?) FWIW.

rogerdpack
fonte
2
Não sei por que essa resposta está definhando na parte inferior. Esta parece ser a resposta óbvia e simples.
Cbmanica
2

Esse é o comando para atualizar o cache local, portanto,

yum makecache

parece ser o comando que você está procurando, de acordo com Trabalhando com o cache do Yum .

Normalmente, você não precisa executar esse comando diretamente, já que o yum já verifica e atualiza os metadados com base no valor metadata_expire no yum.conf, o padrão é 6 horas.

No entanto, pode haver pelo menos um caso de uso, que está em um manual do Ansible, pois você não tem como, em um manual do Ansible, atualizar apenas o cache sem instalar nenhum pacote (consulte Ansible issues 33461 and 40068 , o que parece ser corrigido na versão 2.8, 46183 ). O módulo yum Ansible requer um nome de pacote para a opção 'update_cache: yes' ter efeito. Portanto, como um 'comando: yum makecache' alternativo pode ser usado no manual.

O dnf também possui um comando makecache, embora também seja possível forçar a sincronização de metadados com a opção --refresh.

Tufan K
fonte
Essa resposta existente já menciona yum makecache; talvez você possa expandir sua resposta para torná-la mais útil, por exemplo, explicando por que yum makecachenão é recomendado ou qual é o dnfequivalente.
Stephen Kitt