Package-Management
如何指示 yum 安裝特定版本的包 X?
如果 YUM 儲存庫中有兩個(或更多)版本的給定 RPM,我如何指示
yum
安裝我想要的版本?查看 Koji 建構服務,我注意到有幾個版本。
要查看哪些特定版本可供您
yum
使用,您可以使用--showduplicates
switch 。它為您提供了一個類似“包名稱.架構版本”的列表:$ 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
至於安裝特定版本?您可以將版本資訊附加到包的名稱,刪除架構名稱,如下所示:
$ sudo yum install <package name>-<version info>
例如,在這種情況下,如果我想安裝舊版本 2.4.6-6,我會執行以下操作:
$ sudo yum install httpd-2.4.6-6
您還可以在指定包時包含發布資訊。在這種情況下,因為我正在處理 Fedora 20 (F20),所以發布資訊將是“fc20”,架構資訊也是。
$ sudo yum install httpd-2.4.6-6.fc20 $ sudo yum install httpd-2.4.6-6.fc20.x86_64
回購
如果您不確定自己建構的論點是否正確,您也可以諮詢
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
下載和安裝
您還可以使用以下選項之一從 Web 下載特定 RPM,然後使用
yum
它來安裝它。$ yum --downloadonly <package> -or- $ yumdownloader <package>
然後像這樣安裝它:
$ sudo yum localinstall <path to rpm>
如果我想下載包 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
請注意,它正在執行依賴項檢查,然後下載失去的部分。請在此處查看我的答案,其中包含更多詳細資訊:如何從 repo 下載文件,然後在沒有網際網路連接的情況下安裝它?.
參考