如何在CentOS和Ubuntu中安裝特定版本的軟體包?


作為Linux使用者,我們經常需要在系統上使用不同版本的軟體包。有時,我們需要使用僅在新版本軟體包中才有的特定功能,或者系統上的其他軟體可能存在相容性問題,而這些問題只有特定版本的軟體包才能解決。這就是安裝特定軟體包版本非常方便的地方。

在本文中,我們將介紹在CentOS和Ubuntu中安裝特定版本軟體包的各種方法。我們將探討使用包管理器、RPM或DEB軟體包檔案以及從原始碼編譯的方法。需要注意的是,本文中使用的命令假設您擁有系統上的root或sudo許可權。讓我們開始閱讀本文,並確保閱讀到最後才能完全理解。

方法一:使用Yum或Apt-Get包管理器

有時,作為Linux使用者,我們需要在系統上安裝特定版本的軟體包,可能是因為我們想要使用新功能,或者因為較新版本的軟體包與系統上的其他軟體存在不相容問題。最簡單的方法是使用內建的包管理器,CentOS使用Yum(Yellowdog Updater Modified),Ubuntu使用Apt-Get。這些包管理器允許您安裝所需的特定版本軟體包。

步驟1  列出所有可用版本

在使用Yum方法或命令安裝特定版本的軟體包之前,必須檢查當前機器上所有可用的軟體包版本。為此,可以在終端或提示符中使用以下命令 

yum --showduplicates list [package-name]

例如,如果您想安裝Apache Web伺服器的1.2.3版本,則可以執行 

yum --showduplicates list httpd

上述命令將顯示指定軟體包的所有可用版本列表,包括其對應的儲存庫來源和安裝狀態。例如,請參見以下輸出 

httpd.x86_64           2.2.15-69.el6.centos.2       updates
httpd.x86_64           2.2.15-69.el6.centos.3       updates
httpd.x86_64           2.2.15-69.el6.centos.4       updates
httpd.x86_64           3.0.3-1.el6                  epel

步驟2  安裝所需版本

確定要安裝的版本後,可以使用以下命令安裝它:

yum install [package-name]-[version]

例如,要安裝Apache Web伺服器的3.0.3版本,可以執行以下命令 

yum install httpd-3.0.3-1.el6

輸出可能如下所示:

Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile
   * base: mirror.its.sfu.ca
   * extras: mirror.its.sfu.ca
   * updates: mirror.its.sfu.ca
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:3.0.3-1.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
===========================================================================================================================================================
 Package                        Arch                                 Version                                      Repository                           Size
===========================================================================================================================================================
Installing:
 httpd                          x86_64                               3.0.3-1.el6                                  epel                                2.7 M
Transaction Summary
===========================================================================================================================================================
Install       1 Package(s)
Total download size: 2.7 M
Installed size: 6.3 M
Is this ok [y/N]: y
Downloading Packages:
httpd-3.0.3-1.el6.x86_64.rpm                                                                                                        | 2.7 MB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
   Installing : httpd-3.0.3-1.el6.x86_64                                                                                                                1/1
   Verifying  : httpd-3.0.3-1.el6.x86_64                                                                                                                1/1
Installed:
   httpd.x86_64 0:3.0.3-1.el6

Complete!

在上面的輸出中,您將看到包管理器解析依賴關係並下載指定版本的軟體包。然後,它安裝軟體包並驗證其安裝是否成功。

使用Apt-Get包管理器

當我們需要在Ubuntu系統上安裝特定版本的軟體包時,可以使用apt-get包管理器方法。Apt-Get是一個命令列包管理實用程式,專為基於Debian的Linux系統(如Ubuntu)設計。要使用Apt-Get命令安裝特定版本的軟體包,請按照以下步驟操作:

步驟1  列出所有可用版本

要使用Apt-Get安裝特定版本的軟體包,第一步是使用以下命令列出所有可用的軟體包版本:

apt-cache showpkg [package-name]

例如,假設我們想安裝Python程式語言的2.7.18版本,我們可以編寫以下命令:

apt-cache showpkg python

輸出將類似於:

Package: python
Versions: 2.7.18-1ubuntu1.6 (/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_bionic-updates_main_binary-amd64_Packages) (/var/lib/dpkg/status)
   Description Language:
File:/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_bionic-updates_main_binary-amd64_Packages MD5: fbafe6f0b

方法二:使用RPM或DEB軟體包檔案

此方法涉及下載和安裝RPM或DEB軟體包檔案。CentOS使用RPM包管理器,而Ubuntu使用DEB。

首先,讓我們談談RPM軟體包檔案。要安裝RPM軟體包檔案,需要從可信來源下載該檔案。獲得檔案後,可以使用以下命令安裝它 

rpm -ivh [package-file-name].rpm

舉個例子。假設我們想在我的CentOS系統上安裝GIMP影像編輯軟體的3.6.1版本,但它在預設儲存庫中不可用。我們找到了一個名為gimp-3.6.1.rpm的RPM軟體包檔案,並將其下載到“下載”目錄,然後執行以下命令安裝軟體包:

sudo rpm -ivh gimp-3.6.1.rpm

此處使用sudo命令是因為我們需要root許可權才能在系統範圍內安裝軟體包。-ivh選項告訴rpm命令以詳細模式安裝軟體包,這將顯示有關安裝過程的詳細資訊,並在安裝過程中顯示進度條。

如果安裝成功,終端輸出將類似於:

Preparing...   ################################# [100%]
Updating / installing...
 1:gimp-3.6.1-1 ################################# [100%]

接下來是DEB軟體包檔案,這些檔案用於Ubuntu系統。與RPM軟體包類似,您必須首先從可靠的來源下載軟體包檔案。獲得DEB軟體包檔案後,可以使用以下命令安裝它:

sudo dpkg -i vlc_2.4.3.deb

此處使用sudo命令是因為我們需要root許可權才能在系統範圍內安裝軟體包。-i選項告訴dpkg命令安裝軟體包。

如果安裝成功,終端輸出將類似於:

Selecting previously unselected package vlc.
(Reading database ... 234362 files and directories currently installed.)
Preparing to unpack vlc_2.4.3.deb ...
Unpacking vlc (2.4.3) ...
Setting up vlc (2.4.3) ...
Processing triggers for desktop-file-utils (0.24-1ubuntu3) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu1) ...

如果您需要系統儲存庫中沒有的特定軟體包版本,則方法二——使用RPM或DEB軟體包檔案——是一個不錯的替代方案。但是,務必從可信來源下載軟體包,以避免安裝未知來源的軟體包可能造成的安全風險。

結論

總之,在CentOS和Ubuntu中安裝特定版本軟體包的方法有很多,每種方法都有其自身的優缺點。方法一,使用包管理器並指定版本號,是最簡單直接的方法,但它依賴於軟體包在儲存庫中可用。方法二,下載和安裝RPM或DEB軟體包檔案,如果軟體包在儲存庫中不可用,這是一個不錯的選擇,但是需要從可信來源下載軟體包。

總的來說,瞭解這些不同的方法並選擇最適合您需求和技能水平的方法非常重要。按照本文中概述的步驟,無論您選擇哪種方法,都應該能夠成功地在CentOS和Ubuntu中安裝特定版本的軟體包。

更新於:2023年7月27日

瀏覽量:641

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.