it-swarm.it

Qual è l'equivalente di yum di 'apt-get update'?

Debian's apt-get update recupera e aggiorna l'indice del pacchetto. Poiché sono abituato a questo modo di fare le cose, sono stato sorpreso di scoprire che yum update fa tutto ciò e aggiorna il sistema. Questo mi ha incuriosito su come aggiornare l'indice del pacchetto senza installare nulla.

99
tshepang

Il comando check-update Aggiorna l'indice del pacchetto e verifica la disponibilità di aggiornamenti:

yum check-update
98
wag

Mentre yum check-update controllerà gli aggiornamenti per i pacchetti installati, se deve essere aggiornato, così come la maggior parte degli altri comandi.

Il comando che è strettamente l'equivalente di apt-get update è yum makecache ... tuttavia in genere non è consigliabile eseguirlo direttamente, in yum.

31
James Antill

Sfortunatamente yum check-update Per impostazione predefinita non annulla le modifiche dai repository remoti fino a quando il parametro metadata_expire di yum.conf È scaduto (impostazione predefinita 90m). Apparentemente il suo scopo è "sapere se il tuo computer ha avuto degli aggiornamenti che dovevano essere applicati senza eseguirlo interattivamente", quindi in pratica è "controlla se alcuni pacchetti sono in grado di aggiornare" non "aggiorna l'elenco dei pacchetti che potrei aggiornare" come te mi sarei aspettato.

Quindi se esegui yum check-update E ottieni questo:

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

packagename      version     repo

Ciò significa che check-update non sta eseguendo un aggiornamento, come fa apt-get update.

Puoi vedere quanto tempo ci vorrà prima di eseguire l '"aggiornamento automatico" eseguito da tutti i comandi, eseguendo questo : yum repolist enabled -v

Aggirare:

sayum clean expire-cache (o yum clean all) per primo, quindi eventuali comandi yum futuri aggiorneranno automaticamente la cache "quando vengono eseguiti". . Poiché i futuri comandi yum aggiornano la cache, questo è in pratica lo stesso di apt-get update.

Oppure modifica il parametro metadata_expire di yum.conf su un valore inferiore a 90min predefinito, suppongo.

Oppure esegui yum makecache (Dalle altre risposte) che sembra rimuovere la cache e quindi scaricare nuove copie in quel momento. Ma sembra richiedere più tempo di clean all (?) FWIW.

23
rogerdpack

Questo è il comando per aggiornare la cache locale, quindi

yum makecache

sembra essere il comando che stai cercando, secondo Lavorare con Yum cache .

Normalmente non è necessario eseguire questo comando direttamente poiché yum controlla e aggiorna già i metadati in base al valore metadata_expire in yum.conf, il valore predefinito è 6 ore.

Tuttavia, potrebbe esserci almeno un caso d'uso, che si trova in un playbook Ansible, in quanto non esiste un modo in un playbook Ansible per aggiornare solo la cache senza installare alcun pacchetto (vedere Problemi di Ansible 461 = e 40068 , che sembra essere stato risolto nella versione 2.8, 4618 ). Il modulo Ansum yum richiede un nome pacchetto per l'opzione 'update_cache: yes' per avere un effetto. Quindi, come alternativa al 'comando: yum makecache' può essere usato nel playbook.

dnf ha anche un comando makecache, sebbene sia anche possibile forzare la sincronizzazione dei metadati con l'opzione --refresh.

2
Tufan K