Comment installer un package avec yum sans mettre à jour les informations du référentiel?

10

Je veux installer des paquets de dépôt , mais toujours quand je suis en train de yum install packagenameyum db mises à jour:

Loaded plugins: fastestmirror, langpacks, presto, refresh-packagekit
Determining fastest mirrors
updates/metalink                                                                                                                      |  23 kB     00:00     
 * fedora: nl.mirror.eurid.eu
 * rpmfusion-free: ftp.astral.ro
 * rpmfusion-free-updates: ftp.astral.ro
 * rpmfusion-nonfree: ftp.astral.ro
 * rpmfusion-nonfree-updates: ftp.astral.ro
 * updates: nl.mirror.eurid.eu
fedora-awesome                                                                                                                    | 3.3 kB     00:00     
google-chrome                                                                                                                     |  951 B     00:00     
rpmfusion-free-updates                                                                                                        | 3.3 kB     00:00     
rpmfusion-free-updates/primary_db                                                                                             | 272 kB     00:08     
rpmfusion-nonfree-updates                                                                                                     | 3.3 kB     00:00     
rpmfusion-nonfree-updates/primary_db                                                                                          |  93 kB     00:05     
updates                                                                                                                       | 4.7 kB     00:00     
updates/primary_db                                                                                                            | 4.6 MB     02:35     
updates/group                                                                                                                     | 1.9 MB     00:33     

Donc, l'utilisation yum install packagename -Cne fonctionne pas non plus (l'erreur "cache introuvable" se produit et yum makecachene donne pas trop de résultats). Mais je veux juste installer des packages sans mettre à jour db.

Clark
la source
3
Pourquoi? La mise à jour de la base de données signifie que vous disposez des dernières versions de la liste des packages
Smudge
De quoi parlons-nous? Le cache repo / package yum?
thinice
1
@sam parce que ma vitesse Internet est trop lente pour mettre à jour le référentiel pour chaque installation.
Clark
1
@thinice yes comme vous le voyez dans le journal, il y a une mise à jour pour le référentiel ever. Je n'en ai pas besoin pour le faire. Je veux simplement installer le package sans mise à jour du référentiel.
Clark
1
@purple Ensuite, vous devriez utiliser un référentiel local, yum est conçu pour fonctionner avec un accès complet aux données de repo, que ce soit à distance ou que yum local s'en fiche, mais il devrait l'avoir.
Smudge

Réponses:

12

Si vous voulez vous yumcomporter comme apt-get(ne pas mettre à jour les métadonnées à chaque exécution), éditez /etc/yum.confet mettez-y:

metadata_expire=never

ou

metadata_expire=7d

au cas où vous voudriez mettre à jour les métadonnées après une semaine. Si vous exécutez yum makecache, vos métadonnées seront mises à jour comme apt-get updatedans Debian.

Mais gardez à l'esprit que si vous utilisez "jamais" dans le fichier de configuration, vous devrez vous en occuper manuellement. Si vous utilisez par exemple "7d", vous économiserez votre bande passante de données, mais après une semaine, les métadonnées seront mises à jour automatiquement pour vous.

Voici la metadata_expiredocumentation:

Vous pouvez également passer de l'utilisation par défaut des secondes à l'utilisation des jours, des heures ou des minutes en ajoutant respectivement ad, h ou m. La valeur par défaut est de 6 heures, pour compléter yum-updatesd en cours d'exécution une fois par heure. Il est également possible d'utiliser le mot "jamais", ce qui signifie que les métadonnées n'expireront jamais.

Rafael van Horn
la source
va 2wfonctionner aussi bien?
Sebastian Godelet
Non, 2wça ne marche pas. La valeur par défaut est de 6 heures, pour compléter yum-updatesd en cours d'exécution une fois par heure. Vous pouvez passer de la valeur par défaut d'utilisation des secondes à l'utilisation des jours, heures ou minutes en ajoutant a d, h or mrespectivement.
Shubham Chaudhary
4

Ce que vous demandez est hors de l'esprit du miam à certains égards. Yum est un package complet et un gestionnaire de dépendances . Afin de faire son travail et de ne pas bousiller votre système en mélangeant et en associant des packages incompatibles, il doit avoir ces données que vous ne voulez pas mettre à jour.

Vous pouvez analyser manuellement les dépendances d'un package en les utilisant deplist <packagename>et en les installant manuellement.

Ne pas avoir miam à jour semble être une étrange demande quelles que soient les circonstances ...

mince
la source
Mais pourquoi apt-get ne met pas à jour le référentiel lorsque vous tapez la commande install? Il mettra à jour le référentiel uniquement et uniquement lorsque vous tapez mise à jour. Je veux que miam fasse la même chose.
Clark
1
Si vous exécutez apt-get install foo - et que la version du package distant a changé, vous obtiendrez des messages comme celui-ci: bitbucket.org/ianb/silverlining/issue/26/… - De même avec toutes les dépendances qui ont été mises à jour dans le référentiel ainsi que. (Essentiellement, vous forçant à exécuter la mise à jour).
thinice
2
Oui, mais lorsque j'exécute yum pour installer une application qui n'a pas été modifiée, elle met également à jour db.
Clark
4

Si vous souhaitez installer un package sans mettre à jour la base de données, vous téléchargez le rpm directement (soit via yumdownloader, ftp ou un navigateur Web), puis l'installez directement avec le rpm:

rpm -ivh packagename

Je ne vous recommande pas de faire cela, car c'est beaucoup plus de travail pour traquer les dépendances (c'est pourquoi yum est créé) et cela pourrait casser les futures installations via yum.

Rilindo
la source
Oui, mais pourquoi apt-get, par exemple, ne met pas à jour le référentiel lorsque vous lui dites simplement d'installer le package? Et pour la mise à jour, utilisez la commande «apt-get update».
Clark