在 Fedora 中安裝替代版本的 RPM 包
| 2019-06-21 01:45 收藏: 1
模組化使 Fedora 能夠在倉庫中提供替代版本的 RPM 軟體包。每個 Fedroa 版本可以原生構建不同應用、語言執行時和工具版本的多個版本。
Fedora Magazine 大約一年前就寫了 Fedora 28 伺服器版的模組化。那時,它只是一個有附加內容的可選倉庫,並且明確只支援伺服器版。到目前為止,它已經發生了很多變化,現在模組化是 Fedora 發行版的核心部分。一些軟體包已完全變成模組。在編寫本文時,Fedora 30 的 49,464 個二進位制 RPM 軟體包中的 1,119(2.26%)來自模組(關於這個數字的更多資訊)。
模組化基礎知識
由於許多軟體包有不同的版本會讓人難以承受(並且難以管理),所以包被分組為模組,它可以代表一個應用程式、一個語言執行時或任何其他合理的組。
模組通常有多個流,這通常代表軟體的主要版本。它可以並行使用,但在給定系統上只能安裝每個模組的一個流。
為了不讓使用者因為太多選擇而難以承受,每個 Fedora 版本都有一組預設,因此只需要在需要時做出決定。
最後,為了簡化安裝,可以根據用例使用預定義的 profile 選擇性地安裝模組。例如,資料庫模組可以作為客戶端,服務端或同時安裝。
實際使用模組化
當你在 Fedora 系統上安裝 RPM 軟體包時,它很可能它來自模組流。你可能沒有注意到的原因之一是模組化的核心原則之一是在你探究之前保持不可見。
讓我們比較以下兩種情況。首先,安裝流行的 i3 平鋪視窗管理器,然後安裝極簡化的 dwm 視窗管理器:
$ sudo dnf install i3
...
Done!
正如所料,上面的命令會在系統上安裝 i3 包及其依賴項。這裡沒有其他事情發生。但另一個會怎麼樣?
$ sudo dnf install dwm
...
Enabling module streams:
dwm 6.1
...
Done!
感覺是一樣的,但後臺發生了一些事情 。它啟用了預設的 dwm 模組流(6.1),並且安裝了模組中的 dwm 包。
為了保持透明,輸出中有一條關於模組自動啟用的訊息。但除此之外,使用者不需要了解模組化的任何資訊,以便按照他們一貫的方式使用他們的系統。
但如果他們使用模組化方式呢?讓我們看看如何安裝不同版本的 dwm。
使用以下命令檢視可用的模組流:
$ sudo dnf module list
...
dwm latest ...
dwm 6.0 ...
dwm 6.1 [d] ...
dwm 6.2 ...
...
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
輸出顯示 dwm 模組有四個流,6.1 是預設值。
要安裝不同版本的 dwm 包,例如,安裝 6.2 的流。啟用它,然後使用以下兩個命令安裝軟體包:
$ sudo dnf module enable dwm:6.2
...
Enabling module streams:
dwm 6.2
...
Done!
$ sudo dnf install dwm
...
Done!
最後,讓我們看下配置,以 PostgreSQL 為例。
$ sudo dnf module list
...
postgresql 9.6 client, server ...
postgresql 10 client, server ...
postgresql 11 client, server ...
...
要安裝 PostgreSQL 11 服務端,使用以下命令:
$ sudo dnf module install postgresql:11/server
請注意,除了啟用流之外,我們可以指定配置從而使用一條命令安裝模組。
可以立即安裝多個版本。要新增客戶端工具,使用下面的命令:
$ sudo dnf module install postgresql:11/client
還有許多其他帶有多個流的模組可供選擇。在編寫本文時,Fedora 30 中有 83 個模組流。包括兩個版本的 MariaDB、三個版本的 Node.js、兩個版本的 Ruby 等等。
有關完整的命令集(包括從一個流切換到另一個流),請參閱模組化的官方使用者文件。
via: https://fedoramagazine.org/installing-alternative-rpm-versions-in-fedora/
作者:Adam Šamalík 選題:lujun9972 譯者:geekpi 校對:wxy
相關文章
- yum/dnf/rpm 等 檢視rpm 包安裝路徑 (fedora 中 pygtk 包內容安裝到哪裡了)
- Postgresql Linux版本安裝——RPM包安裝SQLLinux
- 在Ubuntu/Fedora/CentOS中安裝GitblitUbuntuCentOSGit
- yum如何解除安裝已安裝的rpm並安裝本地rpm包
- mysql安裝------RPM包安裝及解除安裝MySql
- RPM 包安裝報錯
- rpm包安裝和管理
- Mysql 5.7在OL 6上以RPM包安裝MySql
- RPM包的安裝與升級
- rpm包安裝升級與解除安裝
- linux 安裝ps需要先安裝的rpm包Linux
- RPM包安裝與介紹
- linux jdk rpm包安裝LinuxJDK
- 在Fedora 30系統中安裝深度DDE桌面
- RPM應用——查詢(已安裝包和未安裝包)
- CentOS下使用rpm包安裝MySQLCentOSMySql
- mysql 5.6 for linux (rpm包安裝)MySqlLinux
- rpm包方式安裝Percona serverServer
- 強制安裝一個RPM包
- centos以RPM包方式安裝redis的方法CentOSRedis
- mysql8.0.30的RPM包安裝方法MySql
- centos(linux): rpm -V 驗證rpm包安裝程式的安全CentOSLinux
- 在 MacBook Air 上安裝 Fedora 26MacAI
- OpenSSH9.6p1的EL7版本rpm安裝包製作
- linux怎樣檢視rpm安裝包的安裝路徑Linux
- redhat配置yum環境安裝rpm包Redhat
- 檢查RPM包是否已經安裝
- Greenplum_原始碼編譯安裝和RPM包安裝原始碼編譯
- (轉)CentOS 下 rpm包與 yum 安裝與解除安裝CentOS
- 透過yum在centos6.6上安裝mysql5.7.21rpm包CentOSMySql
- Oracle 10G在fedora core4上的安裝Oracle 10G在fedora core4上的安裝Oracle 10g
- 在 Fedora 上安裝 MongoDB 伺服器MongoDB伺服器
- 在Fedora FC5安裝vmware 5.5
- 把Discord安裝在Fedora Linux上Linux
- 【DB寶3】在Docker中使用rpm包的方式安裝Oracle 19cDockerOracle
- Linux RPM包安裝、解除安裝、升級命令講解Linux
- yum安裝軟體之後如何儲存rpm安裝包
- Percona MySQL 5.6 RPM包方式安裝流程MySql