S'il existe deux (ou plus) versions d'un RPM donné disponibles dans un référentiel YUM, comment puis-je demander à yum
d'installer la version que je souhaite?
En parcourant le service de construction Koji, je remarque qu'il existe plusieurs versions.
Pour voir quelles versions particulières sont disponibles via yum
, vous pouvez utiliser le --showduplicates
commutateur. Il vous donne une liste comme "package name.architecture version":
$ yum --showduplicates list httpd | expand
Loaded plugins: fastestmirror, langpacks, refresh-packagekit
Loading mirror speeds from cached hostfile
* Fedora: mirror.steadfast.net
Available Packages
httpd.x86_64 2.4.6-6.fc20 Fedora
httpd.x86_64 2.4.10-1.fc20 updates
En ce qui concerne l'installation d'une version particulière? Vous pouvez ajouter les informations de version au nom du package, en supprimant le nom de l'architecture, comme ceci:
$ Sudo yum install <package name>-<version info>
Par exemple, dans ce cas, si je voulais installer l'ancienne version, 2.4.6-6, je ferais ce qui suit:
$ Sudo yum install httpd-2.4.6-6
Vous pouvez également inclure les informations de version lors de la spécification d'un package. Dans ce cas, étant donné que je traite de Fedora 20 (F20), les informations de version seraient "fc20", ainsi que les informations d'architecture.
$ Sudo yum install httpd-2.4.6-6.fc20
$ Sudo yum install httpd-2.4.6-6.fc20.x86_64
Si vous n'êtes pas sûr de bien construire les arguments, vous pouvez également consulter repoquery
.
$ Sudo yum install yum-utils # (to get `repoquery`)
$ repoquery --show-duplicates httpd-2.4*
httpd-0:2.4.6-6.fc20.x86_64
httpd-0:2.4.10-1.fc20.x86_64
Vous pouvez également utiliser l'une des options suivantes pour télécharger un RPM particulier à partir du Web, puis utiliser yum
pour l'installer.
$ yum --downloadonly <package>
-or-
$ yumdownloader <package>
Et puis installez-le comme ceci:
$ Sudo yum localinstall <path to rpm>
Et si je veux télécharger tout ce dont le package X a besoin?
$ yumdownloader --resolve <package>
$ yumdownloader --resolve vim-X11
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
--> Running transaction check
---> Package vim-X11.x86_64 2:7.3.315-1.fc14 set to be reinstalled
--> Finished Dependency Resolution
vim-X11-7.3.315-1.fc14.x86_64.rpm | 1.1 MB 00:01
Notez qu'il effectue une vérification des dépendances, puis télécharge les pièces manquantes. Voir ma réponse qui le couvre plus en détail ici: Comment télécharger un fichier depuis le référentiel et l'installer plus tard sans connexion Internet? .
Une autre option, vous pouvez télécharger le fichier rpm
puis demander à yum
de faire un localinstall
:
yum localinstall /path/to/package.rpm
Un bon endroit pour obtenir les packages dont vous avez besoin est rpmfind.com et recherchez le nom du package.
Vous pouvez également utiliser la commande d'option:
yum install --nogpgcheck pckg-name-version