RH214|第十四章 安裝和更新軟件

紅帽支持的注冊(cè)系統(tǒng)

目標(biāo)

完成本節(jié)后落塑,您應(yīng)該能夠使用Red Hat Subscription Management將系統(tǒng)注冊(cè)到您的Red Hat帳戶并為其分配軟件更新和支持服務(wù)的權(quán)利望伦。

紅帽訂閱管理

紅帽訂閱管理提供了可用于使機(jī)器獲得產(chǎn)品訂閱授權(quán)的工具提针,從而使管理員可以獲取軟件包的更新并跟蹤有關(guān)系統(tǒng)使用的支持合同和訂閱的信息。 PackageKityum等標(biāo)準(zhǔn)工具可以通過Red Hat提供的內(nèi)容分發(fā)網(wǎng)絡(luò)獲取軟件包和更新隙疚。

使用Red Hat訂閱管理工具執(zhí)行四項(xiàng)基本任務(wù):

  • 注冊(cè)系統(tǒng)將該系統(tǒng)關(guān)聯(lián)到Red Hat帳戶姆另。 這使Subscription Manager可以唯一地盤點(diǎn)系統(tǒng)撩轰。 當(dāng)不再使用時(shí),系統(tǒng)可能會(huì)被取消注冊(cè)啃沪。
  • 訂閱一個(gè)系統(tǒng)粘拾,使其有權(quán)獲得選定的 Red Hat 產(chǎn)品的更新。訂閱有特定的支持級(jí)別谅阿、過期日期和默認(rèn)存儲(chǔ)庫半哟。這些工具可以用來自動(dòng)附加或選擇特定的權(quán)限。隨著需求的變化签餐,訂閱可以被刪除寓涨。
  • 啟用存儲(chǔ)庫以提供軟件包。每個(gè)訂閱都默認(rèn)啟用了多個(gè)版本庫氯檐,但可以根據(jù)需要啟用或禁用其他版本庫戒良,如更新或源代碼等。
  • 查看和跟蹤可用或已使用的權(quán)利冠摄。 訂閱信息可以在特定系統(tǒng)上本地查看糯崎,也可以在紅帽客戶門戶網(wǎng)站的“訂閱”頁面或“訂閱資產(chǎn)管理器”(SAM)中查看几缭。

注冊(cè)系統(tǒng)

有許多不同的方法可以向Red Hat客戶門戶注冊(cè)系統(tǒng)。有一個(gè)圖形界面沃呢,您可以使用GNOME應(yīng)用程序或通過Web控制臺(tái)服務(wù)訪問年栓,還有一個(gè)命令行工具。

要向GNOME應(yīng)用程序注冊(cè)系統(tǒng)薄霜,請(qǐng)通過選擇Activities啟動(dòng)Red Hat Subscription Manager某抓。在要搜索的類型中鍵入訂閱。惰瓜。否副。字段并單擊Red Hat Subscription Manager。在提示進(jìn)行身份驗(yàn)證時(shí)輸入適當(dāng)?shù)拿艽a崎坊。這將顯示以下“ Subscriptions ”窗口:

Figure 14.1: The main window of Red Hat Subscription Manager

要注冊(cè)系統(tǒng)备禀,請(qǐng)?jiān)凇坝嗛啞贝翱谥袉螕簟白?cè)”按鈕。 這將顯示以下對(duì)話框:

Figure 14.2: The service location and account information dialog of Red Hat Subscription Manager

該對(duì)話框向訂閱服務(wù)器注冊(cè)系統(tǒng)奈揍。 默認(rèn)情況下曲尸,它將服務(wù)器注冊(cè)到Red Hat Customer Portal。 提供應(yīng)向其注冊(cè)系統(tǒng)的Red Hat Customer Portal帳戶的登錄名和密碼打月,然后單擊“注冊(cè)”按鈕队腐。

注冊(cè)后,系統(tǒng)會(huì)自動(dòng)附加一個(gè)訂閱(如果有)奏篙。

在注冊(cè)系統(tǒng)并分配了訂閱后柴淘,請(qǐng)關(guān)閉“訂閱”窗口。 現(xiàn)在秘通,該系統(tǒng)已正確訂閱为严,可以接收來自Red Hat的更新或安裝新軟件。

從命令行注冊(cè)

使用subscription-manager(8)在不使用圖形環(huán)境的情況下注冊(cè)系統(tǒng)肺稀。subscription-manager命令可以自動(dòng)將系統(tǒng)附加到系統(tǒng)的最佳匹配兼容訂閱第股。

  • 向Red Hat帳戶注冊(cè)系統(tǒng):
[user@host ~]$ subscription-manager register --username=yourusername -password=yourpassword
  • 查看可用訂閱:
[user@host ~]$ subscription-manager list --available | less
  • 自動(dòng)附加訂閱:
[user@host ~]$ subscription-manager attach --auto
  • 或者,從可用的訂閱列表中附加一個(gè)特定池的訂閱
[user@host ~]$ subscription-manager attach --pool=poolID
  • 查看已使用的訂閱:
[user@host ~]$ subscription-manager list --consumed
  • 解除注冊(cè)系統(tǒng):
[user@host ~]$ subscription-manager unregister

權(quán)利證書

授權(quán)是附加到系統(tǒng)的訂閱话原。數(shù)字證書用于存儲(chǔ)有關(guān)本地系統(tǒng)上的權(quán)利的當(dāng)前信息夕吻。一旦注冊(cè),權(quán)利證書就存儲(chǔ)在/etc/pki及其子目錄中繁仁。

  • /etc/pki/products 包含表明系統(tǒng)上安裝了哪些 Red Hat 產(chǎn)品的證書涉馅。
  • /etc/pki/consumer 包含標(biāo)識(shí)系統(tǒng)注冊(cè)的 Red Hat 帳戶的證書。
  • /etc/pki/entitlement 包含了表明哪些訂閱被附加到系統(tǒng)中的證書黄虱。

可以使用rct實(shí)用程序直接檢查證書稚矿,但是subscription-manager工具提供了更簡(jiǎn)便的方法來檢查附加到系統(tǒng)的訂閱。

解釋和調(diào)查RPM軟件包

目標(biāo)

完成本節(jié)之后,您能夠解釋如何將軟件作為RPM包提供晤揣,并研究使用Yum和RPM安裝在系統(tǒng)上的包桥爽。

軟件包和RPM

RPM包管理器最初是由Red Hat開發(fā)的,它提供了一種標(biāo)準(zhǔn)的軟件打包發(fā)布的方式昧识。以RPM包的形式管理軟件比簡(jiǎn)單地從存檔中提取到文件系統(tǒng)中的軟件要簡(jiǎn)單得多钠四。它可以讓管理員跟蹤軟件包安裝了哪些文件,如果卸載了哪些文件需要?jiǎng)h除滞诺,并在安裝時(shí)檢查確保支持的軟件包是否存在形导。有關(guān)已安裝軟件包的信息存儲(chǔ)在每個(gè)系統(tǒng)上的本地 RPM 數(shù)據(jù)庫中。Red Hat 為 Red Hat Enterprise Linux 提供的所有軟件都以 RPM 包的形式提供习霹。

RPM軟件包文件名包含四個(gè)元素(加上.rpm后綴):name-versionrelease.architecture

[圖片上傳失敗...(image-24064-1587396135508)]


Figure 14.3: RPM file name elements
  • NAME是描述內(nèi)容的一個(gè)或多個(gè)單詞(coreutils)。
  • VERSION是原始軟件的版本號(hào)(8.30)炫隶。
  • RELEASE是基于該版本的軟件包的版本號(hào)淋叶,由打包者設(shè)置,打包者可能不是最初的軟件開發(fā)人員(4.el8)伪阶。
  • ARCH是編譯包以運(yùn)行的處理器架構(gòu)煞檩。noarch表示此包的內(nèi)容不是特定于體系結(jié)構(gòu)的(x86_64用于64位x86平臺(tái)、aarch64用于64位ARM等)栅贴。

從存儲(chǔ)庫安裝軟件包只需要軟件包名稱斟湃。如果存在多個(gè)版本,則安裝版本號(hào)較高的包檐薯。如果存在單個(gè)版本的多個(gè)版本凝赛,則安裝具有更高版本號(hào)的包。

每個(gè)RPM軟件包都是一個(gè)特殊的歸檔文件坛缕,它由以下三個(gè)部分組成:

  • 軟件包安裝的文件墓猎。
  • 有關(guān)軟件包(元數(shù)據(jù))的信息,例如名稱赚楚,版本毙沾,發(fā)行版和目錄; 包裝的摘要和說明宠页; 是否需要安裝其他軟件包左胞; 許可; 包裝變更日志举户; 和其他詳細(xì)信息烤宙。
  • 在安裝,更新或刪除此程序包時(shí)可能運(yùn)行的腳本敛摘,或者在安裝门烂,更新或刪除其他程序包時(shí)觸發(fā)的腳本。

通常,軟件提供商使用GPG密鑰對(duì)RPM軟件包進(jìn)行數(shù)字簽名(Red Hat對(duì)所發(fā)布的所有軟件包進(jìn)行數(shù)字簽名)屯远。 RPM系統(tǒng)通過確認(rèn)軟件包已由適當(dāng)?shù)腉PG密鑰簽名來驗(yàn)證軟件包的完整性蔓姚。 如果GPG簽名不匹配,則RPM系統(tǒng)拒絕安裝軟件包慨丐。

使用RPM包更新軟件

紅帽會(huì)生成一個(gè)完整的RPM軟件包來更新軟件坡脐。 安裝該軟件包的管理員僅獲得該軟件包的最新版本。 Red Hat不需要先安裝較舊的軟件包房揭,然后再打補(bǔ)丁备闲。 要更新軟件,RPM會(huì)刪除軟件包的舊版本并安裝新版本捅暴。 更新通常保留配置文件恬砂,但是新版本的打包程序定義了確切的行為。

在大多數(shù)情況下蓬痒,一次只能安裝一個(gè)版本或版本的軟件包泻骤。但是,如果生成的包沒有沖突的文件名梧奢,則可能會(huì)安裝多個(gè)版本狱掂。最重要的例子是 kernel 包。由于新內(nèi)核只能通過引導(dǎo)到該內(nèi)核來測(cè)試亲轨,因此該包是專門設(shè)計(jì)的趋惨,以便可以同時(shí)安裝多個(gè)版本。如果新內(nèi)核無法引導(dǎo)惦蚊,則舊內(nèi)核仍然可用且可引導(dǎo)器虾。

檢查RPM包

rpm 工具是一個(gè)底層工具,它可以獲得有關(guān)包文件和安裝包的內(nèi)容的信息养筒。默認(rèn)情況下曾撤,它從本地安裝的軟件包數(shù)據(jù)庫中獲取信息。但是晕粪,你可以使用 -p 選項(xiàng)來指定你要獲取下載的軟件包文件的信息挤悉。你可能想這樣做,以便在安裝包文件之前檢查包文件的內(nèi)容巫湘。

查詢的一般形式是:

  • rpm -q [select-options] [query-options]

    RPM查詢:有關(guān)已安裝軟件包的常規(guī)信息

  • rpm -qa:列出所有已安裝的軟件包

  • rpm -qf FILENAME: 找出提供FILENAME的軟件包

[user@host ~]$ rpm -qf /etc/yum.repos.d 
redhat-release-8.0-0.39.el8.x86_64

RPM查詢:有關(guān)特定軟件包的信息

  • rpm -q: 列出當(dāng)前安裝的軟件包的版本装悲。
[user@host ~]$ rpm -q yum 
yum-4.0.9.2-4.el8.noarch
  • rpm -qi:獲取軟件包的詳細(xì)信息

  • rpm -ql: 列出軟件包安裝的文件

[user@host ~]$ rpm -ql yum
/etc/yum.conf
/etc/yum/pluginconf.d
/etc/yum/protected.d
/etc/yum/vars
/usr/bin/yum
/usr/share/man/man1/yum-aliases.1.gz
/usr/share/man/man5/yum.conf.5.gz
/usr/share/man/man8/yum-shell.8.gz
/usr/share/man/man8/yum.8.gz
  • rpm -qc: 只列出該軟件包安裝的配置文件
[user@host ~]$ rpm -qc openssh-clients
/etc/ssh/ssh_config
/etc/ssh/ssh_config.d/05-redhat.conf
  • rpm-qd:只列出軟件包安裝的文檔文件
[user@host ~]$ rpm -qd openssh-clients
/usr/share/man/man1/scp.1.gz
/usr/share/man/man1/sftp.1.gz
/usr/share/man/man1/ssh-add.1.gz
/usr/share/man/man1/ssh-agent.1.gz
/usr/share/man/man1/ssh-copy-id.1.gz
/usr/share/man/man1/ssh-keyscan.1.gz
/usr/share/man/man1/ssh.1.gz
/usr/share/man/man5/ssh_config.5.gz
/usr/share/man/man8/ssh-pkcs11-helper.8.gz
  • rpm -q --scripts:列出在安裝或刪除軟件包之前或之后運(yùn)行的shell腳本
[user@host ~]$ rpm -q --scripts openssh-server 
preinstall scriptlet (using /bin/sh): 
getent group sshd >/dev/null || groupadd -g 74 -r sshd || :
getent passwd sshd >/dev/null || \   
    useradd -c "Privilege-separated SSH" -u 74 -g sshd \   
    -s /sbin/nologin -r -d /var/empty/sshd sshd 2> /dev/null || : 
postinstall scriptlet (using /bin/sh):

if [ $1 -eq 1 ] ; then         
        # Initial installation 
        /usr/bin/systemctl preset sshd.service sshd.socket >/dev/null 2>&1 || : 
fi 
preuninstall scriptlet (using /bin/sh):

if [ $1 -eq 0 ] ; then         
        # Package removal, not upgrade 
        /usr/bin/systemctl --no-reload disable sshd.service sshd.socket > /dev/ null 2>&1 || :         
        /usr/bin/systemctl stop sshd.service sshd.socket > /dev/null 2>&1 || : 
fi 
postuninstall scriptlet (using /bin/sh):

/usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : 
if [ $1 -ge 1 ] ; then         
        # Package upgrade, not uninstall 
        /usr/bin/systemctl try-restart sshd.service >/dev/null 2>&1 || : 
fi
  • rpm -q --changelog:列出軟件包的更改信息
[user@host ~]$ rpm -q --changelog audit 
* Wed Jan 09 2019 Steve Grubb <sgrubb@redhat.com> 3.0-0.10.20180831git0047a6c 
resolves: rhbz#1655270] Message "audit: backlog limit exceeded" reported 
- Fix annobin failure

* Fri Dec 07 2018 Steve Grubb <sgrubb@redhat.com> 3.0-0.8.20180831git0047a6c
resolves: rhbz#1639745 - build requires go-toolset-7 which is not available 
resolves: rhbz#1643567 - service auditd stop exits prematurely 
resolves: rhbz#1616428 - Update git snapshot of audit package 
- Remove static libs subpackage 
...output omitted...

查詢本地包文件:

[user@host ~]$ ls -l wonderwidgets-1.0-4.x86_64.rpm
-rw-rw-r--. 1 user user 257 Mar 13 20:06 wonderwidgets-1.0-4.x86_64.rpm
[user@host ~]$ rpm -qlp wonderwidgets-1.0-4.x86_64.rpm
/etc/wonderwidgets.conf
/usr/bin/wonderwidgets
/usr/share/doc/wonderwidgets-1.0
/usr/share/doc/wonderwidgets-1.0/README.txt

安裝RPM軟件包

rpm命令還可用于安裝已下載到本地目錄的RPM軟件包。

[root@host ~]# rpm -ivh wonderwidgets-1.0-4.x86_64.rpm
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%] Updating / installing...
   1:wonderwidgets-1.0-4              ################################# [100%]
[root@host ~]# 

但是尚氛,本章的下一節(jié)將討論一個(gè)更強(qiáng)大的工具诀诊,用于從命令行管理RPM安裝和更新,即yum阅嘶。

您可以從RPM軟件包文件中提取文件属瓣,而無需安裝軟件包载迄。 rpm2cpio實(shí)用程序可以將RPM的內(nèi)容傳遞給名為cpio的特殊存檔工具,該工具可以提取所有文件或單個(gè)文件抡蛙。

rpm2cpio PACKAGEFILE.rpm的輸出通過管道傳輸?shù)?strong>cpio -id中护昧,以提取存儲(chǔ)在RPM軟件包中的所有文件。 相對(duì)于當(dāng)前工作目錄粗截,根據(jù)需要?jiǎng)?chuàng)建子目錄樹惋耙。

[user@host tmp-extract]$ rpm2cpio wonderwidgets-1.0-4.x86_64.rpm | cpio -id

通過指定文件路徑提取單個(gè)文件:

[user@host ~]$ rpm2cpio wonderwidgets-1.0-4.x86_64.rpm | cpio -id "*txt"
11 blocks 
[user@host ~]$ ls -l usr/share/doc/wonderwidgets-1.0/ 
total 4 
-rw-r--r--. 1 user user 76 Feb 13 19:27 README.txt

rpm 查詢命令總結(jié)

可以使用rpm命令直接查詢已安裝的軟件包。添加-p選項(xiàng)以在安裝之前查詢包文件熊昌。

命令 作用
rpm -qa 列出當(dāng)前安裝的所有RPM軟件包
rpm -q NAME 顯示系統(tǒng)上安裝的名稱版本
rpm -qi NAME 顯示有關(guān)包的詳細(xì)信息
rpm -ql NAME 列出包中包含的所有文件
rpm -qc NAME 列出包中包含的配置文件
rpm -qd NAME 列出包中包含的文檔文件
rpm -q --changelog NAME 顯示新軟件包發(fā)布原因的簡(jiǎn)短摘要
rpm -q --scripts NAME 顯示在軟件包安裝绽榛,升級(jí)或刪除時(shí)運(yùn)行的shell腳本顯示在軟件包安裝,升級(jí)或刪除時(shí)運(yùn)行的shell腳本

用yum安裝和更新軟件包

目標(biāo)

完成本節(jié)內(nèi)容后婿屹,你能夠使用yum命令查找灭美、安裝和更新軟件包。

用yum管理軟件包

低級(jí)的rpm命令可以用來安裝包昂利,但它的設(shè)計(jì)并不是為了與包倉庫一起工作冲粤,也不是為了自動(dòng)解決來自多個(gè)源的依賴關(guān)系。

Yum是為管理基于RPM的軟件安裝和更新而設(shè)計(jì)的一個(gè)更好的系統(tǒng)页眯。yum命令允許你安裝、更新厢呵、刪除和獲取軟件包及其依賴關(guān)系的信息窝撵。你可以獲得執(zhí)行的事物的歷史記錄,并與多個(gè)Red Hat和第三方軟件庫合作襟铭。

使用Yum查找軟件

  • yum help顯示使用信息碌奉。
  • yum list 顯示已安裝和可用的軟件包。
[user@host ~]$ yum list 'http*' 
Available Packages 
http-parser.i686              2.8.0-2.el8                        rhel8-appstream 
http-parser.x86_64            2.8.0-2.el8                        rhel8-appstream httpcomponents-client.noarch  4.5.5-4.module+el8+2452+b359bfcd   rhel8-appstream httpcomponents-core.noarch    4.4.10-3.module+el8+2452+b359bfcd  rhel8-appstream httpd.x86_64                  2.4.37-7.module+el8+2443+605475b7  rhel8-appstream 
httpd-devel.x86_64            2.4.37-7.module+el8+2443+605475b7  rhel8-appstream 
httpd-filesystem.noarch       2.4.37-7.module+el8+2443+605475b7  rhel8-appstream 
httpd-manual.noarch           2.4.37-7.module+el8+2443+605475b7  rhel8-appstream 
httpd-tools.x86_64            2.4.37-7.module+el8+2443+605475b7  rhel8-appstream
  • yum search KEYWORD 僅按名稱和摘要字段中的關(guān)鍵字列出軟件包寒砖。

要搜索在名稱赐劣、摘要和描述字段中有 "web server "的軟件包,請(qǐng)使用 search all哩都。

[user@host ~]$ yum search all 'web server' 
================= Summary & Description Matched: web server ==================== 
pcp-pmda-weblog.x86_64 : Performance Co-Pilot (PCP) metrics from web server logs nginx.x86_64 : A high performance web server and reverse proxy server ======================== Summary Matched: web server =========================== libcurl.x86_64 : A library for getting files from web servers 
libcurl.i686 : A library for getting files from web servers 
libcurl.x86_64 : A library for getting files from web servers 
====================== Description Matched: web server ========================= httpd.x86_64 : Apache HTTP Server
git-instaweb.x86_64 : Repository browser in gitweb 
...output omitted...
  • yum info PACKAGENAME 返回一個(gè)軟件包的詳細(xì)信息魁兼,包括安裝所需的磁盤空間。

要獲得關(guān)于Apache HTTP服務(wù)器的信息:

[user@host ~]$ yum info httpd
Available Packages
Name         : httpd
Version      : 2.4.37
Release      : 7.module+el8+2443+605475b7
Arch         : x86_64
Size         : 1.4 M
Source       : httpd-2.4.37-7.module+el8+2443+605475b7.src.rpm
Repo         : rhel8-appstream
Summary      : Apache HTTP Server
URL          : https://httpd.apache.org/
License      : ASL 2.0
Description  : The Apache HTTP Server is a powerful, efficient, and extensible              : web server.

  • yum provides PATHNAME可以顯示與指定的路徑名稱匹配的包(通常包括通配符)漠嵌。

要找到提供/var/www/html目錄的軟件包咐汞,請(qǐng)使用:

[user@host ~]$ yum provides /var/www/html 
httpd-filesystem-2.4.37-7.module+el8+2443+605475b7.noarch : The basic directory  layout for the Apache HTTP server 
Repo        : rhel8-appstream Matched from:
Filename    : /var/www/html

用yum安裝和刪除軟件

yum install PACKAGENAME 獲取并安裝一個(gè)軟件包,包括任何依賴項(xiàng)儒鹿。

[user@host ~]$ yum install httpd 
Dependencies resolved.
================================================================================
 Package                  Arch       Version             Repository        Size ================================================================================
Installing:
 httpd                    x86_64     2.4.37-7.module...  rhel8-appstream   1.4 M Installing dependencies:
 apr                      x86_64     1.6.3-8.el8         rhel8-appstream   125 k  
 apr-util                 x86_64     1.6.1-6.el8         rhel8-appstream   105 k ...output omitted...
Transaction Summary
================================================================================
Install  9 Packages

Total download size: 2.0 M
Installed size: 5.4 M
Is this ok [y/N]: y 
Downloading Packages:
(1/9): apr-util-bdb-1.6.1-6.el8.x86_64.rpm           464 kB/s |  25 kB     00:00
(2/9): apr-1.6.3-8.el8.x86_64.rpm                    1.9 MB/s | 125 kB     00:00 
(3/9): apr-util-1.6.1-6.el8.x86_64.rpm               1.3 MB/s | 105 kB     00:00 ...output omitted...
Total                                                8.6 MB/s | 2.0 MB     00:00
Running transaction check Transaction check succeeded.
Running transaction test Transaction test succeeded.
Running transaction
  Preparing        :                                                         1/1
  Installing       : apr-1.6.3-8.el8.x86_64                                  1/9
  Running scriptlet: apr-1.6.3-8.el8.x86_64                                  1/9   Installing       : apr-util-bdb-1.6.1-6.el8.x86_64                         2/9 
  ...output omitted...
Installed:
  httpd-2.4.37-7.module+el8+2443+605475b7.x86_64 
  apr-util-bdb-1.6.1-6.el8.x86_64   
  apr-util-openssl-1.6.1-6.el8.x86_64            
  apr-1.6.3-8.el8.x86_64 
  ...output omitted...
Complete!

yum update PACKAGENAME 會(huì)獲取并安裝一個(gè)較新版本的包化撕,包括任何依賴關(guān)系。通常情況下约炎,這個(gè)過程會(huì)嘗試保留配置文件植阴,但在某些情況下蟹瘾,如果打包的人認(rèn)為更新后舊的配置文件將無法工作,那么它們可能會(huì)被重命名掠手。在沒有指定PACKAGENAME的情況下憾朴,它將安裝所有相關(guān)的更新。

[user@host ~]$ sudo yum update

由于一個(gè)新內(nèi)核只能通過啟動(dòng)該內(nèi)核來測(cè)試惨撇,所以該軟件包是專門設(shè)計(jì)的伊脓,可以同時(shí)安裝多個(gè)版本的內(nèi)核。如果新內(nèi)核啟動(dòng)失敗魁衙,舊內(nèi)核仍然可用报腔。使用yum update kernel實(shí)際上會(huì)安裝新內(nèi)核。配置文件里有一個(gè)軟件包的列表剖淀,即使管理員要求更新纯蛾,也會(huì)一直安裝。

使用 yum list kernel 來列出所有已安裝和可用的內(nèi)核纵隔。要查看當(dāng)前運(yùn)行的內(nèi)核翻诉,請(qǐng)使用 uname 命令。-r 選項(xiàng)只顯示內(nèi)核版本和版本捌刮,而 -a 選項(xiàng)則顯示內(nèi)核的版本和其他信息碰煌。

[user@host ~]$ yum list kernel 
Installed Packages 
kernel.x86_64         4.18.0-60.el8         @anaconda 
kernel.x86_64         4.18.0-67.el8         @rhel-8-for-x86_64-baseos-htb-rpms 
[user@host ~]$ uname -r
4.18.0-60.el8.x86_64 [user@host ~]$ uname -a
Linux host.lab.example.com 4.18.0-60.el8.x86_64 #1 SMP Fri Jan 11 19:08:11 UTC
 2019 x86_64 x86_64 x86_64 GNU/Linux
  • yum remove PACKAGENAME 會(huì)刪除已安裝的軟件包,包括任何支持的軟件包绅作。

使用yum安裝和刪除軟件組

yum也有組的概念芦圾,組是指為特定目的安裝在一起的相關(guān)軟件的集合。在Red Hat Enterprise Linux 8中俄认,有兩種群組个少。常規(guī)組是包的集合。環(huán)境組是常規(guī)組的集合眯杏。組提供的軟件包或組可以是強(qiáng)制性的(如果安裝了該組就必須安裝)夜焦,也可以是默認(rèn)的(如果安裝了該組就正常安裝),也可以是可選的(除非特別要求岂贩,否則在安裝該組時(shí)不安裝)茫经。

yum list一樣,yum group list命令顯示的是已安裝和可用組的名稱河闰。

[user@host ~]$ yum group list 
Available Environment Groups:
   Server with GUI
   Minimal Install
   Server ...output omitted...
Available Groups:
   Container Management
   .NET Core Development
   RPM Development Tools 
...output omitted...

有些組通常是通過環(huán)境組安裝的科平,默認(rèn)情況下是隱藏的。 使用yum group list hidden命令列出這些隱藏的組姜性。

  • yum group info顯示有關(guān)組的信息瞪慧。 它包括必填,默認(rèn)和可選軟件包名稱的列表部念。
[user@host ~]$ yum group info "RPM Development Tools"
Group: RPM Development Tools  
Description: These tools include core development tools such rpmbuild.
  Mandatory Packages:     
    redhat-rpm-config     
    rpm-build  
  Default Packages:
    rpmdevtools   
  Optional Packages:
    rpmlint
  • yum group install安裝一個(gè)組弃酌,該組將安裝其必需和默認(rèn)軟件包以及它們所依賴的軟件包氨菇。
[user@host ~]$ sudo yum group install "RPM Development Tools" 
...output omitted...
Installing Groups:
 RPM Development Tools
 Transaction Summary
 ===============================================================================
 Install  64 Packages
 Total download size: 21 M
 Installed size: 62 M
 Is this ok [y/N]: y 
 ...output omitted...

從Red Hat Enterprise Linux 7開始,Yum組的行為已更改妓湘。在RHEL 7和更高版本中查蓉,組被視為對(duì)象,并由系統(tǒng)跟蹤榜贴。 如果已更新已安裝的組豌研,并且Yum存儲(chǔ)庫已將新的必需或默認(rèn)軟件包添加到該組,則這些新軟件包將在更新時(shí)安裝唬党。

在RHEL 6 和更早的版本中鹃共,如果一個(gè)組的所有強(qiáng)制包都已經(jīng)安裝完畢,或者沒有強(qiáng)制包驶拱,或者組中的任何默認(rèn)包或可選包都已經(jīng)安裝完畢霜浴,那么這個(gè)組就被認(rèn)為是已經(jīng)安裝了。從RHEL 7開始蓝纲,只有在使用yum group install命令安裝了一個(gè)組才被認(rèn)為是安裝了阴孟。yum group mark install GROUPNAME 命令可以用來標(biāo)記一個(gè)組已安裝,并且在下一次更新時(shí)税迷,任何缺少的軟件包和它們的依賴性都會(huì)被安裝永丝。

最后,RHEL 6和更早的版本沒有yum group命令的兩個(gè)字形式箭养。換句話說类溢,在RHEL 6中,有yum grouplist命令露懒,但RHEL 7和RHEL 8中的沒有yum group list

查看事務(wù)歷史記錄

  • 所有的安裝和刪除事務(wù)都會(huì)記錄在/var/log/dnf.rpm.log中砂心。
[user@host ~]$ tail -5 /var/log/dnf.rpm.log
2019-02-26T18:27:00Z SUBDEBUG Installed: rpm-build-4.14.2-9.el8.x86_64
2019-02-26T18:27:01Z SUBDEBUG Installed: rpm-build-4.14.2-9.el8.x86_64
2019-02-26T18:27:01Z SUBDEBUG Installed: rpmdevtools-8.10-7.el8.noarch
2019-02-26T18:27:01Z SUBDEBUG Installed: rpmdevtools-8.10-7.el8.noarch
2019-02-26T18:38:40Z INFO --- logging initialized ---
  • yum history記錄顯示了安裝和刪除事務(wù)的摘要懈词。
[user@host ~]$ sudo yum history
ID     | Command line             | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
     7 | group install RPM Develo | 2019-02-26 13:26 | Install        |   65
     6 | update kernel            | 2019-02-26 11:41 | Install        |    4
     5 | install httpd            | 2019-02-25 14:31 | Install        |    9
     4 | -y install @base firewal | 2019-02-04 11:27 | Install        |  127 EE
     3 | -C -y remove firewalld - | 2019-01-16 13:12 | Removed        |   11 EE
     2 | -C -y remove linux-firmw | 2019-01-16 13:12 | Removed        |    1
     1 |                          | 2019-01-16 13:05 | Install        |  447 EE
  • history undo撤消選項(xiàng)可撤銷交易。
[user@host ~]$ sudo yum history undo 5
Undoing transaction 7, from Tue 26 Feb 2019 10:40:32 AM EST
    Install apr-1.6.3-8.el8.x86_64                              @rhel8-appstream
    Install apr-util-1.6.1-6.el8.x86_64                         @rhel8-appstream
    Install apr-util-bdb-1.6.1-6.el8.x86_64                     @rhel8-appstream
    Install apr-util-openssl-1.6.1-6.el8.x86_64                 @rhel8-appstream
    Install httpd-2.4.37-7.module+el8+2443+605475b7.x86_64      @rhel8-appstream ...output omitted...

yum命令總結(jié)

可以通過名稱或軟件包組來定位辩诞,安裝坎弯,更新和刪除軟件包。

TASK: COMMAND:
按名稱列出已安裝和可用的軟件包 yum list [NAME-PATTERN]
列出已安裝和可用的組別 yum group list
通過關(guān)鍵字搜索軟件包 yum search KEYWORD
顯示一個(gè)包的詳細(xì)信息 yum info PACKAGENAME
安裝一個(gè)軟件包 yum install PACKAGENAME
安裝一個(gè)軟件包組 yum group install GROUPNAME
更新所有軟件包 yum update
刪除軟件包 yum remove PACKAGENAME
顯示事務(wù)歷史記錄 yum history

啟用YUM軟件存儲(chǔ)庫

目標(biāo)

完成本節(jié)后译暂,您能夠啟用和禁用服務(wù)器對(duì)Red Hat或第三方Y(jié)um存儲(chǔ)庫的使用抠忘。

啟用RED HAT軟件存儲(chǔ)庫

將系統(tǒng)注冊(cè)到訂閱管理服務(wù)會(huì)根據(jù)附加的訂閱自動(dòng)配置對(duì)軟件存儲(chǔ)庫的訪問。 要查看所有可用的存儲(chǔ)庫:

[user@host ~]$ yum repolist all 
Loaded plugins: langpacks 
repo id                                    repo name                                        status 
rhel-8-server-debug-rpms/8Server/x86_64    Red Hat Enterprise Linux 8 Server  (Debug RPMs)   disabled 
rhel-8-server-rpms/8Server/x86_64          Red Hat Enterprise Linux 8 Server  (RPMs)         enabled: 5,071 
rhel-8-server-source-rpms/8Server/x86_64   Red Hat Enterprise Linux 8 Server  (Source RPMs)  disabled repolist: 5,071

yum-config-manager 命令可以用來啟用或禁用存儲(chǔ)庫外永。要啟用一個(gè)存儲(chǔ)庫崎脉,命令將啟用參數(shù)設(shè)置為 1。例如伯顶,下面的命令啟用了 rhel-8-server-debug-rpms 存儲(chǔ)庫囚灼。

[user@host ~]$ yum-config-manager --enable rhel-8-server-debug-rpms
Loaded plugins: langpacks
===================== repo: rhel-8-server-debug-rpms ======================
[rhel-8-server-debug-rpms] 
async = True 
bandwidth = 0 
base_persistdir = /var/lib/yum/repos/x86_64/8Server 
baseurl = https://cdn.redhat.com/content/dist/rhel/server/8/8Server/x86_64/debug 
cache = 0 
cachedir = /var/cache/yum/x86_64/8Server/rhel-8-server-debug-rpms 
check_config_file_age = True cost = 1000 deltarpm_percentage = enabled = 1 
...output omitted...

非Red Hat源通過第三方存儲(chǔ)庫提供軟件骆膝,可以通過yum命令從網(wǎng)站,F(xiàn)TP服務(wù)器或本地文件系統(tǒng)訪問該軟件灶体。 例如阅签,Adobe通過Yum存儲(chǔ)庫為其Linux提供了一些軟件。 在Red Hat教室中蝎抽,content.example.com教室服務(wù)器托管Yum存儲(chǔ)庫政钟。

要啟用對(duì)新的第三方倉庫的支持,請(qǐng)?jiān)?strong>/etc/yum.repos.d/目錄下創(chuàng)建一個(gè)文件樟结。倉庫配置文件必須以.repo擴(kuò)展名結(jié)尾养交。倉庫的定義包含了倉庫的URL、名稱狭吼、是否使用GPG來檢查包簽名层坠,如果是,則包含指向可信的GPG密鑰的URL刁笙。

創(chuàng)建Yum存儲(chǔ)庫

使用yum-config-manager命令創(chuàng)建Yum倉庫破花。下面的命令創(chuàng)建一個(gè)名為/etc/yum.repos.d/ dl.fedoraproject.org_pub_epel_8_x86_64_.repo的文件,輸出結(jié)果如圖所示疲吸。

[user@host ~]$ yum-config-manager --add-repo="http://dl.fedoraproject.org/pub/ epel/8/x86_64/" 
Loaded plugins: langpacks
adding repo from: http://dl.fedoraproject.org/pub/epel/8/x86_64/

[dl.fedoraproject.org_pub_epel_8_x86_64_] 
name=added from: http://dl.fedoraproject.org/pub/epel/8/x86_64/ baseurl=http://dl.fedoraproject.org/pub/epel/8/x86_64/ enabled=1

修改此文件座每,提供GPG密鑰的自定義值和位置。密鑰存儲(chǔ)在遠(yuǎn)程資源庫站點(diǎn)的不同位置摘悴,例如峭梳,http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-8。管理員應(yīng)該將密鑰下載到本地文件中蹂喻,而不是讓yum從外部獲取密鑰葱椭。示例:

[EPEL] 
name=EPEL 8 
baseurl=http://dl.fedoraproject.org/pub/epel/8/x86_64/ 
enabled=1 
gpgcheck=1 
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8

本地存儲(chǔ)庫的RPM配置包

一些存儲(chǔ)庫提供了配置文件和GPG公鑰作為RPM軟件包的一部分,可以使用yum localinstall命令下載和安裝口四。 例如孵运,名為“企業(yè)Linux額外軟件包”(EPEL)的志愿者項(xiàng)目提供了Red Hat不支持但與Red Hat Enterprise Linux兼容的軟件。

下面的命令安裝Red Hat Enterprise Linux 8 EPEL repo軟件包:

[user@host ~]$ rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-
EPEL-8 
[user@host ~]$ yum install http://dl.fedoraproject.org/pub/epel/8/x86_64/e/epelrelease-8-2.noarch.rpm

配置文件通常在單個(gè)文件中列出多個(gè)存儲(chǔ)庫引用蔓彩。 每個(gè)存儲(chǔ)庫引用均以方括號(hào)中的單個(gè)單詞名稱開頭治笨。

[user@host ~]$ cat /etc/yum.repos.d/epel.repo 
[epel] 
name=Extra Packages for Enterprise Linux 8 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/8/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-8&arch=$basearch failovermethod=priority 
enabled=1 
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8

[epel-debuginfo] 
name=Extra Packages for Enterprise Linux 8 - $basearch - Debug #baseurl=http://download.fedoraproject.org/pub/epel/8/$basearch/debug
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-8&arch= $basearch failovermethod=priority 
enabled=0 
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 
gpgcheck=1

[epel-source] 
name=Extra Packages for Enterprise Linux 8 - $basearch - Source #baseurl=http://download.fedoraproject.org/pub/epel/8/SRPMS mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-8&arch= $basearch failovermethod=priority 
enabled=0 
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 
gpgcheck=1

要定義存儲(chǔ)庫,但默認(rèn)情況下不搜索它赤嚼,請(qǐng)插入enabled=0參數(shù)旷赖。可以使用yum config manager命令持久地啟用和禁用存儲(chǔ)庫更卒,也可以臨時(shí)使用yum命令選項(xiàng)等孵,--enablerepo=PATTERN--disablerepo=PATTERN來啟用和禁用存儲(chǔ)庫。

管理軟件包模塊流

目標(biāo)

完成本節(jié)內(nèi)容后蹂空,你應(yīng)該能夠:

  • 解釋模塊如何允許安裝特定版本的軟件流济。

  • 如何列出锐锣、啟用和切換模塊流。

  • 從模塊安裝和更新軟件包绳瘟。

應(yīng)用流簡(jiǎn)介

紅帽企業(yè)Linux 8.0引入了應(yīng)用流的概念雕憔。 隨發(fā)行版一起提供的用戶空間組件的多個(gè)版本現(xiàn)在可以同時(shí)交付。 它們可能比核心操作系統(tǒng)軟件包更頻繁地更新糖声。 這為您提供了更大的靈活性來定制Red Hat Enterprise Linux斤彼,而不會(huì)影響平臺(tái)或特定部署的基礎(chǔ)穩(wěn)定性。

Red Hat Enterprise Linux 8的內(nèi)容通過兩個(gè)主要的軟件庫發(fā)布蘸泻。BaseOS和應(yīng)用程序流(AppStream)琉苇。

BaseOS

BaseOS 倉庫以 RPM 包的形式提供了 Red Hat Enterprise Linux 的核心操作系統(tǒng)內(nèi)容。BaseOS組件的生命周期與之前Red Hat Enterprise Linux版本中的內(nèi)容相同悦施。

應(yīng)用流

Application Stream存儲(chǔ)庫以模塊和傳統(tǒng)包的形式提供具有不同生命周期的內(nèi)容并扇。 Application Stream包含系統(tǒng)的必要部分,以及以前作為Red Hat Software Collections和其他產(chǎn)品和程序的一部分提供的各種應(yīng)用程序抡诞。

應(yīng)用程序流存儲(chǔ)庫包含兩種類型的內(nèi)容穷蛹。模塊和傳統(tǒng)的RPM包。一個(gè)模塊描述了一組屬于一起的RPM包昼汗。模塊可以包含多個(gè)流肴熏,以使多個(gè)版本的應(yīng)用程序可供安裝。啟用一個(gè)模塊流顷窒,系統(tǒng)就可以訪問該模塊流中的RPM包蛙吏。

模塊

一個(gè)模塊是一組RPM軟件包,它們是屬于同一組的一致集合鞋吉。 通常鸦做,這是圍繞特定版本的軟件應(yīng)用程序或編程語言來組織的。 典型的模塊可以包含帶有應(yīng)用程序的軟件包谓着,帶有應(yīng)用程序特定依賴庫的軟件包馁龟,帶有應(yīng)用程序文檔的軟件包以及帶有助手實(shí)用程序的軟件包。

模塊流

每個(gè)模塊可以具有一個(gè)或多個(gè)模塊流漆魔,其中包含內(nèi)容的不同版本。 每個(gè)流都獨(dú)立接收更新却音。 將模塊流視為Application Stream物理存儲(chǔ)庫中的虛擬存儲(chǔ)庫改抡。

對(duì)于每個(gè)模塊,只能啟用其流之一并提供其程序包系瓢。

模塊配置文件

每個(gè)模塊可以具有一個(gè)或多個(gè)配置文件阿纤。 配置文件是針對(duì)特定用例(例如服務(wù)器,客戶端夷陋,開發(fā)欠拾,最小安裝或其他)要一起安裝的某些軟件包的列表胰锌。

安裝特定的模塊配置文件只需從模塊流中安裝特定的一組軟件包即可。 隨后还蹲,您可以正常安裝或卸載軟件包琴昆。 如果未指定配置文件旺嬉,則模塊將安裝其默認(rèn)配置文件。

使用YUM管理模塊

紅帽企業(yè)Linux 8中新增的Yum版本4添加了對(duì)Application Stream的新模塊化功能的支持格带。

為了處理模塊化內(nèi)容,添加了yum module命令刹枉。 否則叽唱,yum將與常規(guī)軟件包一樣使用模塊。

查看模塊

要顯示可用模塊列表微宝,請(qǐng)使用 yum module list:

[user@host ~]$ yum module list
   Red Hat Enterprise Linux 8.0 AppStream - AppStream HTB (RPMs)
   Name                    Stream        Profiles   Summary
   389-ds                  1.4           default    389 Directory Server (base)    
   ant                     1.10 [d]      common [d] Java build tool    
   container-tools         1.0 [d]       common [d] Common tools and dependencies  for container runtimes   
   ...output omitted...
   Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

要列出特定模塊的模塊流并檢索其狀態(tài)棺亭,請(qǐng)執(zhí)行以下操作:

[user@host ~]$ yum module list perl
Red Hat Enterprise Linux 8 for x86_64 - AppStream HTB (RPMs)
Name  Stream       Profiles             Summary perl  5.24         
common [d], minimal  Practical Extraction and Report Language perl  5.26 [d]     
common [d], minimal  Practical Extraction and Report Language    

要列出默認(rèn)模塊流安裝的軟件包:

[user@host ~]$ yum module info perl
    Name             : perl
    Stream           : 5.26 [d][a]
    Version          : 820181219174508
    Context          : 9edba152
    Profiles         : common, minimal
    Default profiles : default
    Repo             : rhel-8-for-x86_64-appstream-htb-rpms
    Summary          : Practical Extraction and Report Language     ...output omitted...
    Artifacts   : perl-4:5.24.4-401.module+el8+2464+d274aed1.x86_64
                : perl-Algorithm-Diff-0:1.1903-9.module+el8+2464+d274aed1.noarch
                : perl-Archive-Tar-0:2.30-1.module+el8+2464+d274aed1.noarch     
    ...output omitted...

在沒有指定模塊流的情況下,yum module info會(huì)顯示默認(rèn)模塊流的詳細(xì)信息蟋软。使用module-name:stream格式來查看特定的模塊流镶摘。添加 --profile 選項(xiàng)來顯示每個(gè)模塊的配置文件所安裝的包的信息。比如說:

[user@host ~]$ yum module info --profile perl:5.24

啟用模塊流和安裝模塊

必須啟用模塊流才能安裝其模塊钟鸵。 為了簡(jiǎn)化此過程钉稍,在安裝模塊后,如有必要棺耍,它將啟用其模塊流贡未。 可以使用yum module enable并提供模塊流的名稱來手動(dòng)啟用模塊流。

使用默認(rèn)流和配置文件安裝模塊:

[user@host ~]$ sudo yum module install -y perl 
Dependencies resolved.
================================================================================
 Package         Arch   Version      Repository                            Size ================================================================================
Installing group/module packages:
 perl            x86_64 4:5.26.3-416.el8                                      
            rhel-8-for-x86_64-appstream-htb-rpms  72 k Installing dependencies:
...output omitted...
Running transaction
  Preparing        :                                                        1/1
  Installing       : perl-Exporter-5.72-396.el8.noarch                    1/155            Installing       : perl-Carp-1.42-396.el8.noarch                        2/155 
  ...output omitted...
Installed:   
    perl-4:5.26.3-416.el8.x86_64   
    perl-Encode-Locale-1.05-9.el8.noarch 
...output omitted...
Complete!

要驗(yàn)證模塊流和已安裝的配置文件的狀態(tài)蒙袍,請(qǐng)執(zhí)行以下操作:

[user@host ~]$ yum module list perl
Red Hat Enterprise Linux 8.0 AppStream - AppStream HTB (RPMs)
Name  Stream       Profiles             Summary perl  5.24         
common, minimal      Practical Extraction and Report Language 
perl  5.26 [d][e]  common [i], minimal  Practical Extraction and Report Language

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

移除模塊和禁用模塊流

移除一個(gè)模塊會(huì)移除當(dāng)前啟用的模塊流的配置文件中安裝的所有包俊卤,以及任何其他依賴這些包和模塊的包。從該模塊流中安裝的害幅、未在其任何配置文件中列出的模塊流中安裝的包仍會(huì)保留在系統(tǒng)中消恍,可以手動(dòng)移除。

移除模塊和切換模塊流可能有點(diǎn)麻煩以现。切換模塊啟用的流相當(dāng)于重置當(dāng)前流并啟用新的流狠怨。它不會(huì)自動(dòng)改變?nèi)魏我寻惭b的軟件包。你必須手動(dòng)完成邑遏。

不建議直接安裝一個(gè)與當(dāng)前安裝的模塊流不同的模塊流佣赖,因?yàn)樵诎惭b過程中可能會(huì)運(yùn)行升級(jí)腳本,從而破壞原始模塊流记盒。這可能會(huì)導(dǎo)致數(shù)據(jù)丟失或其他配置問題憎蛤。

請(qǐng)謹(jǐn)慎操作。

要移除已安裝的模塊:

[user@host ~]$ sudo yum module remove -y perl   
Dependencies resolved.
  ================================================================================    Package                        ArchVersion            Repository               
             Size
  ================================================================================
  Removing:
   perl                           x86_644:5.26.3-416.el8   @rhel-8-for-x86_64appstream-htb-rpms 0   
   Removing unused dependencies:
  ...output omitted...
  Running transaction
  Preparing        :                                                        1/1
  Erasing          : perl-4:5.26.3-416.el8.x86_64                         1/155   
  Erasing          : perl-CPAN-2.18-397.el8.noarch                        2/155            ...output omitted...
  Removed:
  perl-4:5.26.3-416.el8.x86_64   
  dwz-0.12-9.el8.x86_64   
  ...output omitted...
  Complete!

卸下模塊后,模塊流仍處于啟用狀態(tài)俩檬。 要驗(yàn)證模塊流是否仍然啟用:

[user@host ~]$ yum module list perl
Red Hat Enterprise Linux 8.0 AppStream - AppStream HTB (RPMs)
Name  Stream       Profiles             Summary 
perl  5.24         common [d], minimal  Practical Extraction and Report Language 
perl  5.26 [d][e]   common [d], minimal  Practical Extraction and Report Language

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

要禁用模塊流:

[user@host ~]$ sudo yum module disable perl   
...output omitted... Dependencies resolved.
=================================================================================
 Package           Arch             Version              Repository         Size =================================================================================
Disabling module streams:  perl                               5.26 
Is this ok [y/N]: y 
Complete!

切換模塊流

切換模塊流通常需要將內(nèi)容升級(jí)或降級(jí)到其他版本萎胰。

為了確保干凈的切換,你應(yīng)該先刪除模塊流提供的模塊棚辽。這將刪除模塊配置文件安裝的所有包技竟,以及這些包依賴的任何模塊和包。要啟用不同的模塊流并安裝模塊晚胡,請(qǐng)執(zhí)行以下操作:

[user@host ~]$ sudo yum module install perl:5.24

新的模塊流將被啟用灵奖,當(dāng)前的模塊流將被禁用」琅蹋可能需要更新或降級(jí)以前的模塊流中沒有在新配置文件中列出的軟件包瓷患。如果需要,請(qǐng)使用 yum distro-sync 來執(zhí)行此任務(wù)遣妥。也可能有一些包仍舊安裝在之前的模塊流中擅编。使用 yum remove 移除這些軟件包。

總結(jié)

  • Red Hat Subscription Management提供工具箫踩,使計(jì)算機(jī)有權(quán)訂閱產(chǎn)品爱态,獲取軟件包的更新,并跟蹤有關(guān)系統(tǒng)使用的支持合同和訂閱的信息境钟。
  • 軟件是以RPM包的形式提供的锦担,這使得安裝、升級(jí)和卸載系統(tǒng)中的軟件非常容易慨削。
  • rpm命令可以用來查詢本地?cái)?shù)據(jù)庫洞渔,提供有關(guān)已安裝包的內(nèi)容和安裝下載包文件的信息。
  • yum是一個(gè)強(qiáng)大的命令行工具缚态,可以用來安裝磁椒、更新、刪除和查詢軟件包玫芦。
  • Red Hat Enterprise Linux 8 使用應(yīng)用程序流提供了一個(gè)單一的存儲(chǔ)庫來托管應(yīng)用程序的多個(gè)版本的包及其依賴關(guān)系浆熔。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市桥帆,隨后出現(xiàn)的幾起案子医增,更是在濱河造成了極大的恐慌,老刑警劉巖老虫,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件叶骨,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡张遭,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門地梨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來菊卷,“玉大人缔恳,你說我怎么就攤上這事〗嗳颍” “怎么了歉甚?”我有些...
    開封第一講書人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)扑眉。 經(jīng)常有香客問我纸泄,道長(zhǎng),這世上最難降的妖魔是什么腰素? 我笑而不...
    開封第一講書人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任聘裁,我火速辦了婚禮,結(jié)果婚禮上弓千,老公的妹妹穿的比我還像新娘衡便。我一直安慰自己,他們只是感情好洋访,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開白布镣陕。 她就那樣靜靜地躺著,像睡著了一般姻政。 火紅的嫁衣襯著肌膚如雪呆抑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,370評(píng)論 1 302
  • 那天汁展,我揣著相機(jī)與錄音鹊碍,去河邊找鬼。 笑死善镰,一個(gè)胖子當(dāng)著我的面吹牛妹萨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播炫欺,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼乎完,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了品洛?” 一聲冷哼從身側(cè)響起树姨,我...
    開封第一講書人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎桥状,沒想到半個(gè)月后帽揪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡辅斟,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年转晰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡查邢,死狀恐怖蔗崎,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情扰藕,我是刑警寧澤缓苛,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站邓深,受9級(jí)特大地震影響未桥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜芥备,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一冬耿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧门躯,春花似錦淆党、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至懂讯,卻和暖如春荷憋,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背褐望。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工勒庄, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人瘫里。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓实蔽,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親谨读。 傳聞我的和親對(duì)象是個(gè)殘疾皇子局装,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354