Debian apt-get update
va chercher et met à jour l'index du paquet. Parce que je suis habitué à cette façon de faire, j'ai été surpris de constater que cela yum update
fait tout cela et met à niveau le système. Cela m'a rendu curieux de savoir comment mettre à jour l'index du paquet sans rien installer.
package-management
yum
apt
Tshepang
la source
la source
yum
renvoie une liste de toutes les mises à jour de paquets de tous les référentiels, le cas échéant.apt-get update
actualise les fichiers d'index maisyum check-update
ne le fait pas.yum
a déjà été exécuté récemment, voir d'autres réponses pour des alternatives ...Alors que
yum check-update
va vérifier les mises à jour pour les paquets installés, s'il doit être actualisé, la plupart des autres commandes le seront aussi.La commande qui est strictement équivalente à
apt-get update
estyum makecache
... Cependant, il n'est généralement pas recommandé de l'exécuter directement, en yum.la source
yum
commandes, par exempleyum upgrade
, s'exécuteront automatiquementyum check-update
si nécessaire. En d'autres termes,yum upgrade
est fondamentalement la même chose queapt-get update; apt-get upgrade
.yum makecache
? Il est répertorié dans la page de manuel et semble fonctionner de la même façonapt-get update
... notez également que l'yum check-update
actualisation n'est pas toujours effectuée, voir les autres réponses, FWIW :)Malheureusement,
yum check-update
par défaut, les modifications ne sont pas prises en compte par les référentiels distants tant queyum.conf
le paramètre metadata_expire du paramètre n'est pas écoulé (90 m par défaut). Apparemment, son objectif est de "savoir si votre machine comportait des mises à jour devant être appliquées sans l'exécuter de manière interactive", donc il s'agit en gros de "vérifier si des packages pouvant être mis à jour sont" non "actualisez la liste des packages que je pourrais mettre à jour" en tant que J'attendais.Donc, si vous courez
yum check-update
et obtenez ceci:Cela signifie que check-update n'effectue pas de mise à jour, comme c'est le
apt-get update
cas.Vous pouvez voir combien de temps cela prendra avant de faire le "rafraîchissement automatique" que toutes les commandes font en dessous, en lançant ceci :
yum repolist enabled -v
Solution de contournement:
utilisez
yum clean expire-cache
(ouyum clean all
) d’abord, toutes les futures commandes yum actualiseront automatiquement le cache "à l’exécution". . Comme les futures commandes yum actualisent le cache, il s’agit en pratique de la même chose queapt-get update
.Ou modifiez le paramètre metadata_expire de yum.conf en dessous de la valeur par défaut 90min, je suppose.
Ou exécutez
yum makecache
(à partir des autres réponses) ce qui semble enlever le cache et déroulez de nouvelles copies juste à ce moment-là. Mais cela semble prendre plus de temps queclean all
(?) FWIW.la source
C’est la commande pour mettre à jour le cache local, donc
semble être la commande que vous recherchez, selon Travailler avec Yum cache .
Normalement, vous n'avez pas besoin d'exécuter cette commande directement car yum vérifie et actualise déjà les métadonnées en fonction de la valeur metadata_expire dans yum.conf, la valeur par défaut étant 6 heures.
Cependant, il peut y avoir au moins un cas d'utilisation, qui se trouve dans un livre de lecture Ansible, car vous ne pouvez pas mettre ce cache en mémoire uniquement pour mettre à jour le cache sans installer de paquet (voir Ansible, numéros 33461 et 40068 , ce qui semble être le cas). être corrigé dans la version 2.8, 46183 ). Le module yum Ansible nécessite un nom de package pour que l'option 'update_cache: yes' ait un effet. Donc, une alternative 'commande: yum makecache' peut être utilisée dans le livre de jeu.
dnf a également une commande makecache, bien qu'il soit également possible de forcer la synchronisation des métadonnées avec le commutateur --refresh.
la source
yum makecache
; Peut-être pourriez-vous développer votre réponse pour la rendre plus utile, par exemple en expliquant pourquoi ceyum makecache
n'est pas recommandé ou l'dnf
équivalent.