Jeśli w repozytorium YUM dostępne są dwie (lub więcej) wersje danego RPM, jak mogę polecić yum
zainstalowanie żądanej wersji?
Przeglądając usługę kompilacji Koji, zauważam, że istnieje kilka wersji.
Jeśli w repozytorium YUM dostępne są dwie (lub więcej) wersje danego RPM, jak mogę polecić yum
zainstalowanie żądanej wersji?
Przeglądając usługę kompilacji Koji, zauważam, że istnieje kilka wersji.
Aby zobaczyć, jakie poszczególne wersje są dostępne za pośrednictwem yum
, możesz użyć --showduplicates
przełącznika. Daje ci listę taką jak „nazwa pakietu. Wersja architektury”:
$ 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
Jeśli chodzi o instalację konkretnej wersji? Możesz dołączyć informacje o wersji do nazwy pakietu, usuwając nazwę architektury, w następujący sposób:
$ sudo yum install <package name>-<version info>
Na przykład w tym przypadku, jeśli chciałbym zainstalować starszą wersję, 2.4.6-6, zrobiłbym następujące:
$ sudo yum install httpd-2.4.6-6
Możesz także dołączyć informacje o wersji przy określaniu pakietu. W tym przypadku, ponieważ mam do czynienia z Fedorą 20 (F20), informacja o wydaniu to „fc20”, a także informacje o architekturze.
$ sudo yum install httpd-2.4.6-6.fc20
$ sudo yum install httpd-2.4.6-6.fc20.x86_64
Jeśli nie masz pewności, czy konstruujesz argumenty, możesz również skonsultować się z nimi 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
Możesz także skorzystać z jednej z poniższych opcji, aby pobrać określony RPM z Internetu, a następnie użyć go, yum
aby go zainstalować.
$ yum --downloadonly <package>
-or-
$ yumdownloader <package>
A następnie zainstaluj tak:
$ sudo yum localinstall <path to rpm>
Co jeśli chcę pobrać wszystko, czego wymaga pakiet X?
$ 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
Zauważ, że wykonuje sprawdzenie zależności, a następnie pobiera brakujące elementy. Zobacz moją odpowiedź, która obejmuje go bardziej szczegółowo tutaj: Jak pobrać plik z repozytorium i zainstalować go później bez połączenia z Internetem? .
@updates
a początkową wersją dla zlokalizowanego systemu operacyjnego@fedora
. Na przykład, jeśli spróbujesz zainstalowaćhttpd-2.4.8-1
,yum
powiesz , że pakiet nie jest dostępny.python-libs-2.7.5-12.fc20.x86_64
został kiedyś zainstalowany na moim komputerze, ale od tego czasu został wymieniony. Zakładając, że teraz chcę zainstalować ten konkretny pakiet,yumdownloader python-libs-2.7.5-12*
powiedziałbymNo Match for argument python-libs-2.7.5-12* Nothing to download
. Próbuję powiedzieć, że po przybyciu nowej paczki stary nie będzie już dostępny od yum. Możesz zainstalować tylko najnowszy pakiet lub wersję początkową, ale nie wersje pomiędzy.yum downgrade ...
jeśli pakiet został już zainstalowany i próbujesz wrócić do niego później. W moim QI próbowałem pokazać, w jaki sposób można wybrać konkretną wersję pakietu, który nie został jeszcze zainstalowany. docs.fedoraproject.org/en-US/Fedora/14/html/…Inną opcją jest pobranie
rpm
pliku, a następnie polecenieyum
wykonanialocalinstall
:Dobrym miejscem na zdobycie potrzebnych paczek jest rpmfind.com i wyszukiwanie nazwy paczki.
źródło
yum --downloadonly <package>
, a następnieyum localinstall <path to package>
. Możesz także użyć tego narzędziayumdownloader <package>
.Możesz także użyć polecenia Option:
źródło