使用yum/dnf管理軟件包

本章主要介紹使用 yum 對軟件包進行管理。

  • yum 的介紹
  • 搭建yum源
  • 創建私有倉庫
  • yum客戶端的配置
  • yum的基本使用
  • 使用第三方yum源

使用rpm安裝包時經常會遇到一個問題就是包依賴,如下所示。

[root@rhel03 ~]# rpm -ivh /mnt/AppStream/Packages/httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64.rpm 
錯誤:依賴檢測失敗:httpd-filesystem 被 httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64 需要httpd-filesystem = 2.4.37-41.module+el8.5.0+11772+c8e0c271 被 httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64 需要httpd-tools = 2.4.37-41.module+el8.5.0+11772+c8e0c271 被 httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64 需要libapr-1.so.0()(64bit) 被 httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64 需要libaprutil-1.so.0()(64bit) 被 httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64 需要mod_http2 被 httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64 需要system-logos(httpd-logo-ng) 被 httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64 需要
[root@rhel03 ~]# 

? 所謂包依賴,就是在安裝A時必須先把B和C安裝上去。如果用rpm一個個安裝是非常困難的,這里可以使用dnf或yum命令來解決。yum命令其實是軟鏈接到dnf命令上的,所以輸 入yum或dnf都可以,后文都使用yum命令介紹。?


yum架構介紹?

為了便于理解,先看下圖所示的例子。?

可能我們經常會使用360軟件管家管理軟件包,在360服務器上有各種軟件,在PC上的 360軟件管家中搜索想要安裝的軟件,然后單擊【安裝】按鈕,這樣就可以把軟件自動安裝到本地了,很方便。?

yum的架構也是類似的,如下圖所示。

在服務器上存在某個目錄中存儲了大量的軟件包,然后通過ftp或http把此目錄共享出去,使 得客戶端可以通過ftp或http能訪問到此目錄。?

在服務器端所存儲的這些軟件包中,服務器是知道哪些包之間有依賴關系的,例如,A、 B、C三者之間存在依賴關系,所以當客戶端發布一個請求說要安裝A時,如下圖所示。

yum安裝軟件包過程

此時發現A和B、C有依賴關系,所以客戶端會把A、B、C三 者都從服務器下載到本機的緩存,然后再把這三個包一起給安裝上去。

如果假設A和B、C、X有依賴關系,但是X這個包并沒有出現在現在的這個源中,那么當客戶端要安裝A時,因為缺少了X,所 以安裝是失敗的。此時我們就需要在客戶端上指定多個源,保證所有的這些源中包含了所有需要的包,如下圖所示。

?

因為客戶端指定了兩個源,所以當客戶端發布一個請求說要 安裝A時,此時從第一個源中檢測到了需要的依賴包B、C,然 后從第二個源中找到了X,客戶端就會把這四個包一起下載到本地緩存中并進行安裝。?


用光盤搭建yum源

實驗拓撲圖如下圖所示。?

?

?注意:下面的操作都是在rhel03上做的。

修改letc/vsftpd/vsftpd.conf中的anonymous enable選項,如下所示。

由anonymous_enable=NO修改為anonymous_enable=YES,并添加如下命令。

保存退出并啟動vsftpd,命令如下。

[root@rhel03 ~]# systemctl enable vsftpd --now
Created symlink /etc/systemd/system/multi-user.target.wants/vsftpd.service → /usr/lib/systemd/system/vsftpd.service.
[root@rhel03 ~]# 

如果已經啟動過了,則通過systemctl restart vsftpd重啟一下,使剛做的配置生效。?

修改防火墻,命令如下。?

[root@rhel03 ~]# firewall-cmd --add-port=20-21/tcp --permanent 
success
[root@rhel03 ~]# firewall-cmd --add-port=10010-10020/tcp --permanent 
success
[root@rhel03 ~]# firewall-cmd --reload 
success
[root@rhel03 ~]# firewall-cmd --list-port
20-21/tcp 10010-10020/tcp 123/udp 323/udp
[root@rhel03 ~]# 

設置 SELinux相關的布爾值,命令如下。

[root@rhel03 ~]# setsebool -P ftpd_full_access 1
[root@rhel03 ~]# 

記住,這個布爾值一定要設置,否則客戶端會出現如下圖所示的錯誤。?

?客戶端的報錯信息

創建目錄/var/ftp/dvd,然后把光盤掛載到此目錄上,命令如下。

[root@rhel03 ~]# mkdir -pv /var/ftp/dvd
mkdir: 已創建目錄 '/var/ftp/dvd'
[root@rhel03 ~]# mount /dev/cdrom /var/ftp/dvd
mount: /var/ftp/dvd: WARNING: device write-protected, mounted read-only.
[root@rhel03 ~]#

這樣其他機器通過ftp訪問/var/ftp/dvd時,訪問的就是光盤中的內容了。設置開機自動掛載,修改/etc/fstab,內容如下。?

[root@rhel03 ~]# grep ftp /etc/fstab
/dev/cdrom                                /var/ftp/dvd            iso9660 defaults        0 0
[root@rhel03 ~]# 

至此,服務器上的yum 源就已經配置好了,/var/ftp/dvd中的內容如下所示。

[root@rhel03 ~]# ls /var/ftp/dvd/
AppStream  BaseOS  EFI  EULA  extra_files.json  GPL  images  isolinux  media.repo  RPM-GPG-KEY-redhat-beta  RPM-GPG-KEY-redhat-release  TRANS.TBL
[root@rhel03 ~]# 

此時客戶端不能直接把此目錄作為源來使用,服務器是知道每個包和其他包之間的依賴關系的,因為系統會把某個目錄(包括子目錄)中的rpm包的元數據信息放在repodata目錄中。?

但是在/var/ftp/dvd中并沒有repodata目錄(不能單純地用mkdir命令把此目錄創建出 來,創建出來里面沒有元數據是沒用的),所以 /var/ftp/dvd并不能直接作為源來使用。先 來看AppStream目錄的內容,命令如下。?

[root@rhel03 dvd]# ls /var/ftp/dvd/AppStream/
Packages  repodata
[root@rhel03 dvd]# 

這里repodata是 AppStream下的目錄,記錄了AppStream目錄下所有的rpm信息,此處AppStream中所有的rpm都存儲在Packages目錄下了。repodata中的內容大概是這樣 的,如下所示。?

[root@rhel03 dvd]# ls /var/ftp/dvd/AppStream/repodata/
167822ee59a5cbd329d31b2ff030cb2146b0fd624e390ffe3ac98fb641fb62f4-comps-AppStream.x86_64.xml.gz
2adf8b14deae5cde9dd015b563abdfba1d2a4c96659bf8386ff182f9400b023b-comps-AppStream.x86_64.xml
689bd45a22fedbffbc3e3b9d82109a2c6ed02ee8b2962136d63a3026f24d6ef0-filelists.xml.gz
99f06c9bf207d0b64dfecfeb768d255367de7e22522ae4669c2bf8361a2df4ef-other.xml.gz
b591d9fa12e0ba5c6d75b84b605f44c1daefd514068152a3fd8ba53fdb5975eb-primary.xml.gz
d12f84e558ef647914eb6d20f034920765390d579888595800f915a133457a22-modules.yaml.gz
ee6f2ed466e70c8ee4dd48d8aa3897707349e31e3f546a82e121cc53cc82d8a8-productid.gz
productid
repomd.xml
TRANS.TBL
[root@rhel03 dvd]# 

再來看BaseOS目錄的內容,命令如下。?

[root@rhel03 dvd]# ls /var/ftp/dvd/BaseOS/
Packages  repodata
[root@rhel03 dvd]# 

這里repodata是 BaseOS下的目錄,記錄了BaseOS目錄下所有的rpm信息,此處 BaseOS中所有的rpm都存儲在Packages目錄下了。?

總結:repodata目錄中記錄了repodata所在目錄下所有的rpm信息,例如,BaseOS 下 的repodata 記錄了BaseOS目錄下所有的rpm信息。

所以,當前rhel03上有兩個源,分別是/var/ftp/dvd/AppStream 和/var/ftp/dvd/BaseOS。客戶端要訪問這兩個源,分別通過 ftp://192.168.23.33/dvd/AppStream和 ftp://192.168.23.34/dvd/BaseOS 即可。?


創建私有倉庫?????????????????

在rhel03上利用光盤對外提供了兩個源分別是/var/ftp/dvd/ AppStream和 /var/ftp/dvd/BaseOS,這兩個源是光盤中自帶的。下面練習如何創建一個自定義的源。?

先配置rhel03使用光盤作為源,在server (192.168.23.33這臺機器)中把光盤掛載 到/mnt 上,并在/etc/fstab中設置開機自動掛載。?

[root@rhel03 dvd]# tail -1 /etc/fstab 
/dev/cdrom                                /mnt            iso9660 defaults        0 0
[root@rhel03 dvd]#

這樣訪問/mnt時訪問的就是光盤了。創建/etc/yum.repos.d/aa.repo的內容如下。?

[root@rhel03 ~]# cat /etc/yum.repos.d/aa.repo 
[aa]
name=aa
baseurl=file:///mnt/AppStream
enabled=1
gpgcheck=0[bb]
name=bb
baseurl=file:///mnt/BaseOS
enabled=1
gpgcheck=0
[root@rhel03 ~]# 

需要注意的是,這里file:后面是3個/,file:是類似于http;/l、ftp:;這樣的寫法,第三個/表示的是絕對路徑。?

通過yum install安裝createrepo工具包,命令如下。

[root@rhel03 ~]# yum -y install createrepo
正在更新 Subscription Management 軟件倉庫。
無法讀取客戶身份本系統尚未在權利服務器中注冊。可使用 subscription-manager 進行注冊。上次元數據過期檢查:1:24:02 前,執行于 2023年12月11日 星期一 10時53分13秒。
依賴關系解決。
===========================================================================================================================================================軟件包                                      架構                             版本                                      倉庫                          大小
===========================================================================================================================================================
安裝:createrepo_c                                x86_64                           0.17.2-3.el8                              aa                            89 k
安裝依賴關系:createrepo_c-libs                           x86_64                           0.17.2-3.el8                              aa                           115 kdrpm                                        x86_64                           0.4.1-3.el8                               aa                            68 k事務概要
===========================================================================================================================================================
安裝  3 軟件包總計:271 k
安裝大小:575 k
下載軟件包:
運行事務檢查
事務檢查成功。
運行事務測試
事務測試成功。
運行事務準備中  :                                                                                                                                            1/1 安裝    : drpm-0.4.1-3.el8.x86_64                                                                                                                    1/3 安裝    : createrepo_c-libs-0.17.2-3.el8.x86_64                                                                                                      2/3 安裝    : createrepo_c-0.17.2-3.el8.x86_64                                                                                                           3/3 運行腳本: createrepo_c-0.17.2-3.el8.x86_64                                                                                                           3/3 驗證    : createrepo_c-0.17.2-3.el8.x86_64                                                                                                           1/3 驗證    : createrepo_c-libs-0.17.2-3.el8.x86_64                                                                                                      2/3 驗證    : drpm-0.4.1-3.el8.x86_64                                                                                                                    3/3 
已更新安裝的產品。已安裝:createrepo_c-0.17.2-3.el8.x86_64                    createrepo_c-libs-0.17.2-3.el8.x86_64                    drpm-0.4.1-3.el8.x86_64                   完畢!
[root@rhel03 ~]# 

關于yum install 命令會在后面小節中講,然后創建一個目錄/var/ftp/myrepo,命令如下。?

[root@rhel03 ~]# mkdir /var/ftp/myrepo
[root@rhel03 ~]# 

從光盤中拷貝一個測試用的安裝包,這里就選擇vsftpd的安裝包。拷貝 vsftpd到 /var/ftplmyrepo中,命令如下。?

[root@rhel03 ~]# cp /mnt/AppStream/Packages/vsftpd-3.0.3-34.el8.x86_64.rpm /var/ftp/myrepo/
[root@rhel03 ~]# 

現在/var/ftp/myrepo中包含了一個 vsftpd的安裝包,命令如下。

通過createrepo工具包對/var/ftp/myrepo進行操作,命令如下。

[root@rhel03 ~]# createrepo -v /var/ftp/myrepo/
12:19:45: Version: 0.17.2 (Features: DeltaRPM LegacyWeakdeps )
12:19:45: Signal handler setup
12:19:45: Thread pool ready
Directory walk started
12:19:45: Adding pkg: /var/ftp/myrepo/vsftpd-3.0.3-34.el8.x86_64.rpm
12:19:45: Dir to scan: /var/ftp/myrepo/.repodata
12:19:45: Package count: 1
Directory walk done - 1 packages
Temporary output repo path: /var/ftp/myrepo/.repodata/
12:19:45: Creating .xml.gz files
12:19:45: Setting number of packages
Preparing sqlite DBs
12:19:45: Creating databases
12:19:45: Thread pool user data ready
Pool started (with 5 workers)
Pool finished
12:19:45: Generating repomd.xml
12:19:45: Old repodata doesn't exists: Cannot rename /var/ftp/myrepo/repodata/ -> /var/ftp/myrepo/repodata.old.4850.20231211121945.396297: No such file or directory
12:19:45: Renamed /var/ftp/myrepo/.repodata/ -> /var/ftp/myrepo/repodata/
12:19:45: Memory cleanup
12:19:45: All done
[root@rhel03 ~]# 

/var/ftp/myrepo目錄中的內容如下。

[root@rhel03 ~]# ls /var/ftp/myrepo/
repodata  vsftpd-3.0.3-34.el8.x86_64.rpm
[root@rhel03 ~]# 

這里生成了repodata,里面包含了/var/ftp/myrepo中所有的rpm包(這里就一個 vsftpd)的信息,那么/var/ftp/myrepo也可以作為一個源來使用了。


yum客戶端的配置?

客戶端要安裝軟件包必須指定使用哪些源,在客戶端上指定源的方法是在目錄/etc/yum.repos.d中創建后綴是repo的文件。文件名是什么無所謂,但后綴必須是 repo,格式如下。?

  • [名稱] ‐‐‐‐用于標注不同的源
  • name= ‐‐‐‐注釋信息
  • baseurl= ‐‐‐‐指定源的URL地址
  • enabled= ‐‐‐用于指定是否啟用這個源,值有0和1
  • 0‐‐‐不使用這個源
  • 1‐‐‐使用這個源
  • enabled也可以寫成enable
  • gpgcheck= ‐‐‐‐用于指定安裝的軟件包是否要進行數字簽名的驗證,值有0和1
  • 0‐‐不對每個安裝包進行數字簽名驗證
  • 1‐‐對每個包做數字簽名的驗證
  • gpgkey=/path/如果上面 gpgcheck的值設置為1,需要使用此選項指定公鑰;如果上面gp gcheck的值設置為0,這個選項可以不寫。?

在服務器端已經配置了兩個源,下面配置客戶端讓其能使用這兩個源, 在/etc/yum.repos.d中創建aa.repo,內容如下。?

[root@rhel04 ~]# cat /etc/yum.repos.d/aa.repo 
[aa]
name=aa
baseurl=ftp://192.168.23.33/dvd/AppStream
enabled=1
gpgcheck=0[bb]
name=bb
baseurl=ftp://192.168.23.33/dvd/BaseOS
enabled=1
gpgcheck=0
[root@rhel04 ~]# 

這里在aa.repo中配置了兩個源,分別標記為aa和 bb。可以把多個源寫在同一個repo文件中,也可以把多個源寫在不同的repo文件中。?

當通過ftp://192.168.23.33來訪問服務器時,訪問的是服務器的/var/ftp目錄,千萬不要寫成ftp://192.168.23.33/var/ftp了,否則對應的就是服務器的/var/ftp/var/tp目錄了。?

ftp://192.168.23.33/dvd對應的是服務器的/var/ftp/dvd目錄,但是這個不能作為源,因 為/var/ftp/dvd下沒有對應的repodata目錄記錄/var/ftp/dvd中的 rpm信息。?

因為rpm包都是存儲在Packages中的,所以有人可能說我怕系統找不到軟件包,所以寫成baseurl=ftp:/192.168.23.33/dvd/BaseOS/Packages行不行?答案是不行的,你不用擔心系統找不到rpm在哪里。寫成baseurl=ftp://192.168.23.33/dvd/BaseOS,會通過讀取它的子目錄repodata中的數據從而知道rpm在哪個目錄中。?

此時/etc/yum.repos.d中的文件如下。

[root@rhel04 ~]# ls /etc/yum.repos.d/
aa.repo  redhat.repo
[root@rhel04 ~]# 

這里/etclyum.repos.d下面的redhat.repo是系統自動生成的可以不用管,刪除不刪除都無所謂。?

rhel04通過ftp訪問rhel03上的源。如果想直接使用本地光盤作為yum源,那么可以把光盤掛載到某個目錄上,然后直接使用此目錄作為源。?


yum的基本使用?

通過yum repolist查看當前正在使用的源,命令如下。

[root@rhel04 ~]# yum repolist 
正在更新 Subscription Management 軟件倉庫。
無法讀取客戶身份本系統尚未在權利服務器中注冊。可使用 subscription-manager 進行注冊。倉庫 id                                                                         倉庫名稱
aa                                                                              aa
bb                                                                              bb
[root@rhel04 ~]# 

可以看到,現在正在使用兩個源aa和 bb,由/etc/yum.repos.d/aa.repo文件里中括號的部分定義。?

如果/etc/yum.repos.d/aa.repo的內容發生了改變,需要用yum clean all 命令清空一下緩存,命令如下。?

[root@rhel04 ~]# yum clean all
正在更新 Subscription Management 軟件倉庫。
無法讀取客戶身份本系統尚未在權利服務器中注冊。可使用 subscription-manager 進行注冊。13 文件已刪除
[root@rhel04 ~]#

重新創建緩存數據用yum makecache命令,命令如下。?

[root@rhel04 ~]# yum makecache 
正在更新 Subscription Management 軟件倉庫。
無法讀取客戶身份本系統尚未在權利服務器中注冊。可使用 subscription-manager 進行注冊。aa                                                                                                                          29 MB/s | 7.2 MB     00:00    
bb                                                                                                                         8.5 MB/s | 2.4 MB     00:00    
上次元數據過期檢查:0:00:01 前,執行于 2023年12月11日 星期一 21時22分39秒。
元數據緩存已建立。
[root@rhel04 ~]# 

這步不是必需的,即使不重新創建緩存數據,當我們下次使用yum時也會自動創建。?


查詢?

想查詢yum源中是否存在某個包,可以通過 yum search或 yum list來查詢。例如,要查詢lrzsz這個包,命令如下。?

[root@rhel04 ~]# yum search lrzsz
正在更新 Subscription Management 軟件倉庫。
無法讀取客戶身份本系統尚未在權利服務器中注冊。可使用 subscription-manager 進行注冊。上次元數據過期檢查:0:01:24 前,執行于 2023年12月11日 星期一 21時22分39秒。
================================================================== 名稱 精準匹配:lrzsz ===================================================================
lrzsz.x86_64 : The lrz and lsz modem communications programs
[root@rhel04 ~]# 

對于yum search 來說,可以在yum源中查找包名中含有lrzsz的包,如果輸入的是 yum search lrzs,它也是能查找到的,命令如下。?

[root@rhel04 ~]# yum search lrzs
正在更新 Subscription Management 軟件倉庫。
無法讀取客戶身份本系統尚未在權利服務器中注冊。可使用 subscription-manager 進行注冊。上次元數據過期檢查:0:02:02 前,執行于 2023年12月11日 星期一 21時22分39秒。
===================================================================== 名稱 匹配:lrzs =====================================================================
lrzsz.x86_64 : The lrz and lsz modem communications programs
[root@rhel04 ~]# 

也就是yum search后面跟的包名可以不是完整的包名,但是這個命令查詢的結果無法判斷這個包在系統上是否安裝。可以使用yum list命令查看包是否已經安裝,命令如下。?

[root@rhel04 ~]# yum list lrzsz
正在更新 Subscription Management 軟件倉庫。
無法讀取客戶身份本系統尚未在權利服務器中注冊。可使用 subscription-manager 進行注冊。上次元數據過期檢查:0:02:39 前,執行于 2023年12月11日 星期一 21時22分39秒。
可安裝的軟件包
lrzsz.x86_64                                                               0.12.20-43.el8                                                                bb
[root@rhel04 ~]# 

這里顯示“可安裝的”說明在系統中并沒有安裝,最后的bb說明lrzsz是在bb這個源中 的。

對于yum list來說,后面必須跟上完整的包名,如果跟的不是完整的包名則是查詢不出來的,如下所示。?

[root@rhel04 ~]# yum list lrzs
正在更新 Subscription Management 軟件倉庫。
無法讀取客戶身份本系統尚未在權利服務器中注冊。可使用 subscription-manager 進行注冊。上次元數據過期檢查:0:03:36 前,執行于 2023年12月11日 星期一 21時22分39秒。
錯誤:沒有匹配的軟件包可以列出
[root@rhel04 ~]# 

所以,在使用yum list命令時,可以結合通配符一起使用,命令如下。?

[root@rhel04 ~]# yum list lrzs\*
正在更新 Subscription Management 軟件倉庫。
無法讀取客戶身份本系統尚未在權利服務器中注冊。可使用 subscription-manager 進行注冊。上次元數據過期檢查:0:04:05 前,執行于 2023年12月11日 星期一 21時22分39秒。
可安裝的軟件包
lrzsz.x86_64                                                               0.12.20-43.el8                                                                bb
[root@rhel04 ~]# 

? 這里的意思是在yum源中查找以lrzs開頭的包,*前面加上\的目的是防止 bash把*解析 了,希望到yum源中去解析而不是在bash中解析。到底使用yum search還是yum list就要 看個人習慣了。?


安裝與卸載軟件包?

安裝軟件包用“yum install 包名”命令,現在安裝 lrzsz,命令如下。?

[root@rhel04 ~]# yum -y install lrzsz
正在更新 Subscription Management 軟件倉庫。
無法讀取客戶身份本系統尚未在權利服務器中注冊。可使用 subscription-manager 進行注冊。上次元數據過期檢查:0:05:02 前,執行于 2023年12月11日 星期一 21時22分39秒。
依賴關系解決。
===========================================================================================================================================================軟件包                             架構                                版本                                         倉庫                             大小
===========================================================================================================================================================
安裝:lrzsz                              x86_64                              0.12.20-43.el8                               bb                               84 k事務概要
===========================================================================================================================================================
安裝  1 軟件包總下載:84 k
安裝大小:187 k
下載軟件包:
lrzsz-0.12.20-43.el8.x86_64.rpm                                                                                            1.3 MB/s |  84 kB     00:00    
-----------------------------------------------------------------------------------------------------------------------------------------------------------
總計                                                                                                                       1.3 MB/s |  84 kB     00:00     
運行事務檢查
事務檢查成功。
運行事務測試
事務測試成功。
運行事務準備中  :                                                                                                                                            1/1 安裝    : lrzsz-0.12.20-43.el8.x86_64                                                                                                                1/1 運行腳本: lrzsz-0.12.20-43.el8.x86_64                                                                                                                1/1 驗證    : lrzsz-0.12.20-43.el8.x86_64                                                                                                                1/1 
已更新安裝的產品。已安裝:lrzsz-0.12.20-43.el8.x86_64                                                                                                                                完畢!
[root@rhel04 ~]# 

這樣軟件包就算是安裝上去了,查看,命令如下,?

[root@rhel04 ~]# yum list lrzsz
正在更新 Subscription Management 軟件倉庫。
無法讀取客戶身份本系統尚未在權利服務器中注冊。可使用 subscription-manager 進行注冊。上次元數據過期檢查:0:05:36 前,執行于 2023年12月11日 星期一 21時22分39秒。
已安裝的軟件包
lrzsz.x86_64                                                               0.12.20-43.el8                                                               @bb
[root@rhel04 ~]# 

這里已顯示“已安裝”。

不管是安裝還是卸載,每次安裝(或卸載)時都會詢問,如果不想被詢問,可以加上y選 項,y加在下面1、2、3的位置都可以。?

  • yum 1 install 2 包名 3?

卸載軟件包用“yum remove 包名”命令,現在把 Irzsz卸載掉,命令如下。?

[root@rhel04 ~]# yum -y remove lrzsz
正在更新 Subscription Management 軟件倉庫。
無法讀取客戶身份本系統尚未在權利服務器中注冊。可使用 subscription-manager 進行注冊。依賴關系解決。
===========================================================================================================================================================軟件包                             架構                                版本                                        倉庫                              大小
===========================================================================================================================================================
移除:lrzsz                              x86_64                              0.12.20-43.el8                              @bb                              187 k事務概要
===========================================================================================================================================================
移除  1 軟件包將會釋放空間:187 k
運行事務檢查
事務檢查成功。
運行事務測試
事務測試成功。
運行事務準備中  :                                                                                                                                            1/1 刪除    : lrzsz-0.12.20-43.el8.x86_64                                                                                                                1/1 運行腳本: lrzsz-0.12.20-43.el8.x86_64                                                                                                                1/1 驗證    : lrzsz-0.12.20-43.el8.x86_64                                                                                                                1/1 
已更新安裝的產品。已移除:lrzsz-0.12.20-43.el8.x86_64                                                                                                                              完畢!
[root@rhel04 ~]# 

這樣就把lrzsz卸載了。下面查看系統中是否還有Irzsz,命令如下。?

[root@rhel04 ~]# rpm -qa | grep lrzsz
[root@rhel04 ~]# 

如果要更新系統中的某個軟件包,則用“yum update包名y”命令。如果要更新系統中所有的軟件包,則直接使用yum udpate -y命令即可。?

查詢包的信息用“yum info包名”命令,命令如下。

[root@rhel04 ~]# yum info lrzsz
正在更新 Subscription Management 軟件倉庫。
無法讀取客戶身份本系統尚未在權利服務器中注冊。可使用 subscription-manager 進行注冊。上次元數據過期檢查:0:08:00 前,執行于 2023年12月11日 星期一 21時22分39秒。
可安裝的軟件包
名稱         : lrzsz
版本         : 0.12.20
發布         : 43.el8
架構         : x86_64
大小         : 84 k
源           : lrzsz-0.12.20-43.el8.src.rpm
倉庫         : bb
概況         : The lrz and lsz modem communications programs
URL          : http://www.ohse.de/uwe/software/lrzsz.html
協議         : GPLv2+
描述         : Lrzsz (consisting of lrz and lsz) is a cosmetically modified: zmodem/ymodem/xmodem package built from the public-domain version of: the rzsz package. Lrzsz was created to provide a working GNU: copylefted Zmodem solution for Linux systems.[root@rhel04 ~]# 

下載?

使用yum 安裝軟件包時,先把要安裝的軟件包及所依賴的包都下載到本地緩存中,然后再一起安裝。如果只想把這些包下載下來并不安裝,可以使用--downloadonly和-- downloaddir=/dir選項,其中--downloadonly 只讓yum把軟件包下載下來并不執行安裝操作,下載到哪個目錄由--downloaddir來指定。?

現在想把 httpd及其依賴的包全部下載到/xx目錄,首先創建/xx目錄,命令如下。

[root@rhel04 ~]# mkdir /xx
[root@rhel04 ~]# 

然后開始下載指定的包,命令如下。?

[root@rhel04 ~]# yum -y install httpd --downloadonly --downloaddir=/xx
正在更新 Subscription Management 軟件倉庫。
無法讀取客戶身份本系統尚未在權利服務器中注冊。可使用 subscription-manager 進行注冊。上次元數據過期檢查:0:09:54 前,執行于 2023年12月11日 星期一 21時22分39秒。
依賴關系解決。
===========================================================================================================================================================軟件包                                架構                      版本                                                          倉庫                   大小
===========================================================================================================================================================
安裝:httpd                                 x86_64                    2.4.37-41.module+el8.5.0+11772+c8e0c271                       aa                    1.4 M
安裝依賴關系:apr                                   x86_64                    1.6.3-12.el8                                                  aa                    130 kapr-util                              x86_64                    1.6.1-6.el8                                                   aa                    105 khttpd-filesystem                      noarch                    2.4.37-41.module+el8.5.0+11772+c8e0c271                       aa                     39 khttpd-tools                           x86_64                    2.4.37-41.module+el8.5.0+11772+c8e0c271                       aa                    106 kmod_http2                             x86_64                    1.15.7-3.module+el8.4.0+8625+d397f3da                         aa                    154 kredhat-logos-httpd                    noarch                    84.5-1.el8                                                    bb                     29 k
安裝弱的依賴:apr-util-bdb                          x86_64                    1.6.1-6.el8                                                   aa                     25 kapr-util-openssl                      x86_64                    1.6.1-6.el8                                                   aa                     27 k
啟用模塊流:httpd                                                           2.4                                                                                      事務概要
===========================================================================================================================================================
安裝  9 軟件包總下載:2.0 M
安裝大小:5.4 M
YUM將僅會從事務下載軟件包。
下載軟件包:
(1/9): apr-util-1.6.1-6.el8.x86_64.rpm                                                                                     1.6 MB/s | 105 kB     00:00    
(2/9): apr-util-bdb-1.6.1-6.el8.x86_64.rpm                                                                                 351 kB/s |  25 kB     00:00    
(3/9): apr-1.6.3-12.el8.x86_64.rpm                                                                                         1.7 MB/s | 130 kB     00:00    
(4/9): apr-util-openssl-1.6.1-6.el8.x86_64.rpm                                                                             2.3 MB/s |  27 kB     00:00    
(5/9): httpd-filesystem-2.4.37-41.module+el8.5.0+11772+c8e0c271.noarch.rpm                                                 1.3 MB/s |  39 kB     00:00    
(6/9): httpd-tools-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64.rpm                                                      3.8 MB/s | 106 kB     00:00    
(7/9): mod_http2-1.15.7-3.module+el8.4.0+8625+d397f3da.x86_64.rpm                                                           10 MB/s | 154 kB     00:00    
(8/9): redhat-logos-httpd-84.5-1.el8.noarch.rpm                                                                            2.1 MB/s |  29 kB     00:00    
(9/9): httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64.rpm                                                             24 MB/s | 1.4 MB     00:00    
-----------------------------------------------------------------------------------------------------------------------------------------------------------
總計                                                                                                                        15 MB/s | 2.0 MB     00:00     
完畢!
下載的軟件包保存在緩存中,直到下次成功執行事務。
您可以通過執行 'yum clean packages' 刪除軟件包緩存。
[root@rhel04 ~]#

查看一下/xx中的內容,命令如下。

[root@rhel04 ~]# ls /xx
apr-1.6.3-12.el8.x86_64.rpm                               httpd-filesystem-2.4.37-41.module+el8.5.0+11772+c8e0c271.noarch.rpm
apr-util-1.6.1-6.el8.x86_64.rpm                           httpd-tools-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64.rpm
apr-util-bdb-1.6.1-6.el8.x86_64.rpm                       mod_http2-1.15.7-3.module+el8.4.0+8625+d397f3da.x86_64.rpm
apr-util-openssl-1.6.1-6.el8.x86_64.rpm                   redhat-logos-httpd-84.5-1.el8.noarch.rpm
httpd-2.4.37-41.module+el8.5.0+11772+c8e0c271.x86_64.rpm
[root@rhel04 ~]# 

可以看到,已經把httpd及其依賴的包全部下載下來了。?


查詢缺失命令?

有時想執行某個命令時卻發現系統中并沒有此命令,如下所示。?

[root@rhel04 ~]# smbclient -L //192.168.23.34
bash: smbclient: 未找到命令...
安裝軟件包“samba-client”以提供命令“smbclient”? [N/y] n[root@rhel04 ~]# 

這里會檢測到smbclient命令是由安裝包 samba-client安裝的,會詢問要不要安裝它,如果不安裝則輸入“n”并按【Enter】鍵,這里并沒有讓它自動安裝。?

沒有這個命令肯定是因為某個包沒有安裝的緣故,那么怎么知道這個命令是哪個包安裝出來的呢?可以用yum whatprovides */smbclient命令來查詢,意思就是往yum源中大吼一嗓 子:誰能提供smbclient這個命令??

這里*的意思是路徑的通配符,即不管smbclient在哪個目錄下,命令如下。?

[root@rhel04 ~]# yum whatprovides */smbclient
正在更新 Subscription Management 軟件倉庫。
無法讀取客戶身份本系統尚未在權利服務器中注冊。可使用 subscription-manager 進行注冊。上次元數據過期檢查:0:13:23 前,執行于 2023年12月11日 星期一 21時22分39秒。
bash-completion-1:2.7-5.el8.noarch : Programmable completion for Bash
倉庫        :@System
匹配來源:
文件名    :/usr/share/bash-completion/completions/smbclientbash-completion-1:2.7-5.el8.noarch : Programmable completion for Bash
倉庫        :bb
匹配來源:
文件名    :/usr/share/bash-completion/completions/smbclientsamba-client-4.14.5-2.el8.x86_64 : Samba client programs
倉庫        :bb
匹配來源:
文件名    :/usr/bin/smbclient[root@rhel04 ~]# 

因為可執行命令一般放在/bin或/usr/bin下,所以可以判斷出來要安裝的軟件包是 samba-client-4.13.3-3.el8.x86_64。我們現在使用yum install samba-client -y命令把它安裝上去之后,然后再次執行smbclient命令,命令如下。?

[root@rhel04 ~]# yum -y install samba-client
正在更新 Subscription Management 軟件倉庫。
無法讀取客戶身份本系統尚未在權利服務器中注冊。可使用 subscription-manager 進行注冊。上次元數據過期檢查:0:14:31 前,執行于 2023年12月11日 星期一 21時22分39秒。
依賴關系解決。
===========================================================================================================================================================軟件包                                   架構                               版本                                     倉庫                            大小
===========================================================================================================================================================
安裝:samba-client                             x86_64                             4.14.5-2.el8                             bb                             701 k事務概要
===========================================================================================================================================================
安裝  1 軟件包總下載:701 k
安裝大小:2.3 M
下載軟件包:
samba-client-4.14.5-2.el8.x86_64.rpm                                                                                        23 MB/s | 701 kB     00:00    
-----------------------------------------------------------------------------------------------------------------------------------------------------------
總計                                                                                                                        19 MB/s | 701 kB     00:00     
運行事務檢查
事務檢查成功。
運行事務測試
事務測試成功。
運行事務準備中  :                                                                                                                                            1/1 安裝    : samba-client-4.14.5-2.el8.x86_64                                                                                                           1/1 運行腳本: samba-client-4.14.5-2.el8.x86_64                                                                                                           1/1 驗證    : samba-client-4.14.5-2.el8.x86_64                                                                                                             1/1 
已更新安裝的產品。已安裝:samba-client-4.14.5-2.el8.x86_64                                                                                                                           完畢!
[root@rhel04 ~]# 
[root@rhel04 ~]# smbclient -L //192.168.23.34
do_connect: Connection to 192.168.23.34 failed (Error NT_STATUS_CONNECTION_REFUSED)

現在是已經可以執行的了.


組的使用?

前面安裝軟件包時都是一個個安裝的,假設現在想在服務器上實現某個“功能”,這個“功能”需要很多個包,但是不清楚需要安裝哪些包,怎么辦?可以利用yum中的group功 能,用yum grouplist命令查詢系統中一共有多少組,命令如下。?

[root@rhel04 ~]# yum grouplist
正在更新 Subscription Management 軟件倉庫。
無法讀取客戶身份本系統尚未在權利服務器中注冊。可使用 subscription-manager 進行注冊。上次元數據過期檢查:0:16:20 前,執行于 2023年12月11日 星期一 21時22分39秒。
可用環境組:服務器最小安裝工作站虛擬化主機定制操作系統
已安裝的環境組:帶 GUI 的服務器
已安裝組:容器管理開發工具無頭系統管理
可用組:.NET 核心開發RPM 開發工具圖形管理工具傳統 UNIX 兼容性網絡服務器科學記數法支持安全性工具智能卡支持系統工具
[root@rhel04 ~]# 

這里顯示的可用組是系統沒有安裝或組中的包沒有安裝全,已安裝組說明這個組是已經安裝過的。如果要查看某個組的信息,可以用“yum groupinfo組名”命令。例如,現在要查看虛擬化主機這個組的信息,命令如下。?

[root@rhel04 ~]# yum groupinfo 虛擬化主機
正在更新 Subscription Management 軟件倉庫。
無法讀取客戶身份本系統尚未在權利服務器中注冊。可使用 subscription-manager 進行注冊。上次元數據過期檢查:0:17:22 前,執行于 2023年12月11日 星期一 21時22分39秒。
環境組:虛擬化主機描述:最小虛擬化主機。必選軟件包組:BaseCoreStandardVirtualization HypervisorVirtualization Tools可選軟件包組:Debugging ToolsNetwork File System ClientRemote Management for LinuxVirtualization Platform
[root@rhel04 ~]# 

可以通過“yum groupinstall 組名”來安裝某個組。例如,要安裝虛擬化功能,就把“虛擬化主機”這個組安裝上去,命令如下。?

[root@rhel04 ~]# yum -y groupinstall 虛擬化主機
正在更新 Subscription Management 軟件倉庫。
無法讀取客戶身份本系統尚未在權利服務器中注冊。可使用 subscription-manager 進行注冊。上次元數據過期檢查:0:18:48 前,執行于 2023年12月11日 星期一 21時22分39秒。
依賴關系解決。
=============================================================================================================================================================軟件包                                         架構                   版本                                                         倉庫                大小
=============================================================================================================================================================
安裝組/模塊包:libguestfs                                     x86_64                 1:1.40.2-28.module+el8.5.0+10717+67be7ac4                    aa                 2.7 Mlibvirt                                        x86_64                 6.0.0-37.module+el8.5.0+12162+40884dd2                       aa                  61 kvirtio-win                                     noarch                 1.9.19-1.el8                                                 aa                 180 M
安裝依賴關系:autogen-libopts                                x86_64                 5.18.12-8.el8                                                aa                  75 kbind-export-libs                               x86_64                 32:9.11.26-6.el8                                             bb                 1.1 Mdhcp-client                                    x86_64                 12:4.3.6-45.el8                                              bb                 318 kdhcp-common                                    noarch                 12:4.3.6-45.el8                                              bb                 207 kdhcp-libs                                      x86_64                 12:4.3.6-45.el8                                              bb                 148 kgnutls-dane                                    x86_64                 3.6.16-4.el8                                                 aa                  52 kgnutls-utils                                   x86_64                 3.6.16-4.el8                                                 aa                 348 khivex                                          x86_64                 1.3.18-21.module+el8.5.0+10709+b3edb581                      aa                 113 kipcalc                                         x86_64                 0.2.4-4.el8                                                  bb                  38 klibvirt-bash-completion                        x86_64                 6.0.0-37.module+el8.5.0+12162+40884dd2                       aa                  61 klibvirt-client                                 x86_64                 6.0.0-37.module+el8.5.0+12162+40884dd2                       aa                 368 klibvirt-daemon-config-nwfilter                 x86_64                 6.0.0-37.module+el8.5.0+12162+40884dd2                       aa                  67 kscrub                                          x86_64                 2.5.2-16.el8                                                 aa                  45 ksupermin                                       x86_64                 5.1.19-10.module+el8.3.0+6423+e4cb6418                       aa                 709 ksyslinux                                       x86_64                 6.04-5.el8                                                   bb                 578 ksyslinux-extlinux                              x86_64                 6.04-5.el8                                                   bb                 140 ksyslinux-extlinux-nonlinux                     noarch                 6.04-5.el8                                                   bb                 386 ksyslinux-nonlinux                              noarch                 6.04-5.el8                                                   bb                 554 k
安裝環境組:Virtualization Host                                                                                                                                        
安裝組:Base                                                                                                                                                       Core                                                                                                                                                       Standard                                                                                                                                                   Virtualization Hypervisor                                                                                                                                  Virtualization Tools                                                                                                                                       事務概要
=============================================================================================================================================================
安裝  21 軟件包總下載:188 M
安裝大小:799 M
下載軟件包:
(1/21): autogen-libopts-5.18.12-8.el8.x86_64.rpm                                                                             843 kB/s |  75 kB     00:00    
(2/21): gnutls-dane-3.6.16-4.el8.x86_64.rpm                                                                                  547 kB/s |  52 kB     00:00    
(3/21): gnutls-utils-3.6.16-4.el8.x86_64.rpm                                                                                 2.3 MB/s | 348 kB     00:00    
(4/21): hivex-1.3.18-21.module+el8.5.0+10709+b3edb581.x86_64.rpm                                                             1.2 MB/s | 113 kB     00:00    
(5/21): libvirt-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64.rpm                                                            977 kB/s |  61 kB     00:00    
(6/21): libvirt-bash-completion-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64.rpm                                            1.7 MB/s |  61 kB     00:00    
(7/21): libvirt-daemon-config-nwfilter-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64.rpm                                     939 kB/s |  67 kB     00:00    
(8/21): scrub-2.5.2-16.el8.x86_64.rpm                                                                                        518 kB/s |  45 kB     00:00    
(9/21): libvirt-client-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64.rpm                                                     2.1 MB/s | 368 kB     00:00    
(10/21): libguestfs-1.40.2-28.module+el8.5.0+10717+67be7ac4.x86_64.rpm                                                       7.3 MB/s | 2.7 MB     00:00    
(11/21): supermin-5.1.19-10.module+el8.3.0+6423+e4cb6418.x86_64.rpm                                                          4.7 MB/s | 709 kB     00:00    
(12/21): dhcp-client-4.3.6-45.el8.x86_64.rpm                                                                                 7.2 MB/s | 318 kB     00:00    
(13/21): bind-export-libs-9.11.26-6.el8.x86_64.rpm                                                                           6.7 MB/s | 1.1 MB     00:00    
(14/21): dhcp-common-4.3.6-45.el8.noarch.rpm                                                                                 2.6 MB/s | 207 kB     00:00    
(15/21): dhcp-libs-4.3.6-45.el8.x86_64.rpm                                                                                   4.8 MB/s | 148 kB     00:00    
(16/21): ipcalc-0.2.4-4.el8.x86_64.rpm                                                                                       1.5 MB/s |  38 kB     00:00    
(17/21): syslinux-extlinux-6.04-5.el8.x86_64.rpm                                                                             3.3 MB/s | 140 kB     00:00    
(18/21): syslinux-6.04-5.el8.x86_64.rpm                                                                                      8.0 MB/s | 578 kB     00:00    
(19/21): syslinux-extlinux-nonlinux-6.04-5.el8.noarch.rpm                                                                    4.2 MB/s | 386 kB     00:00    
(20/21): syslinux-nonlinux-6.04-5.el8.noarch.rpm                                                                             6.1 MB/s | 554 kB     00:00    
(21/21): virtio-win-1.9.19-1.el8.noarch.rpm                                                                                   43 MB/s | 180 MB     00:04    
-------------------------------------------------------------------------------------------------------------------------------------------------------------
總計                                                                                                                          41 MB/s | 188 MB     00:04     
運行事務檢查
事務檢查成功。
運行事務測試
事務測試成功。
運行事務準備中  :                                                                                                                                              1/1 安裝    : syslinux-nonlinux-6.04-5.el8.noarch                                                                                                         1/21 安裝    : syslinux-6.04-5.el8.x86_64                                                                                                                  2/21 安裝    : syslinux-extlinux-nonlinux-6.04-5.el8.noarch                                                                                                3/21 安裝    : syslinux-extlinux-6.04-5.el8.x86_64                                                                                                         4/21 運行腳本: syslinux-extlinux-6.04-5.el8.x86_64                                                                                                         4/21 安裝    : ipcalc-0.2.4-4.el8.x86_64                                                                                                                   5/21 安裝    : dhcp-libs-12:4.3.6-45.el8.x86_64                                                                                                            6/21 安裝    : dhcp-common-12:4.3.6-45.el8.noarch                                                                                                          7/21 安裝    : bind-export-libs-32:9.11.26-6.el8.x86_64                                                                                                    8/21 運行腳本: bind-export-libs-32:9.11.26-6.el8.x86_64                                                                                                    8/21 安裝    : dhcp-client-12:4.3.6-45.el8.x86_64                                                                                                          9/21 安裝    : supermin-5.1.19-10.module+el8.3.0+6423+e4cb6418.x86_64                                                                                     10/21 安裝    : scrub-2.5.2-16.el8.x86_64                                                                                                                  11/21 安裝    : libvirt-daemon-config-nwfilter-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64                                                               12/21 運行腳本: libvirt-daemon-config-nwfilter-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64                                                               12/21 安裝    : libvirt-bash-completion-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64                                                                      13/21 安裝    : hivex-1.3.18-21.module+el8.5.0+10709+b3edb581.x86_64                                                                                       14/21 安裝    : gnutls-dane-3.6.16-4.el8.x86_64                                                                                                            15/21 安裝    : autogen-libopts-5.18.12-8.el8.x86_64                                                                                                       16/21 安裝    : gnutls-utils-3.6.16-4.el8.x86_64                                                                                                           17/21 安裝    : libvirt-client-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64                                                                               18/21 運行腳本: libvirt-client-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64                                                                               18/21 安裝    : libvirt-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64                                                                                      19/21 安裝    : libguestfs-1:1.40.2-28.module+el8.5.0+10717+67be7ac4.x86_64                                                                                20/21 運行腳本: libguestfs-1:1.40.2-28.module+el8.5.0+10717+67be7ac4.x86_64                                                                                20/21 安裝    : virtio-win-1.9.19-1.el8.noarch                                                                                                             21/21 運行腳本: libvirt-daemon-config-nwfilter-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64                                                               21/21 運行腳本: virtio-win-1.9.19-1.el8.noarch                                                                                                             21/21 驗證    : autogen-libopts-5.18.12-8.el8.x86_64                                                                                                        1/21 驗證    : gnutls-dane-3.6.16-4.el8.x86_64                                                                                                             2/21 驗證    : gnutls-utils-3.6.16-4.el8.x86_64                                                                                                            3/21 驗證    : hivex-1.3.18-21.module+el8.5.0+10709+b3edb581.x86_64                                                                                        4/21 驗證    : libguestfs-1:1.40.2-28.module+el8.5.0+10717+67be7ac4.x86_64                                                                                 5/21 驗證    : libvirt-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64                                                                                       6/21 驗證    : libvirt-bash-completion-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64                                                                       7/21 驗證    : libvirt-client-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64                                                                                8/21 驗證    : libvirt-daemon-config-nwfilter-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64                                                                9/21 驗證    : scrub-2.5.2-16.el8.x86_64                                                                                                                  10/21 驗證    : supermin-5.1.19-10.module+el8.3.0+6423+e4cb6418.x86_64                                                                                     11/21 驗證    : virtio-win-1.9.19-1.el8.noarch                                                                                                             12/21 驗證    : bind-export-libs-32:9.11.26-6.el8.x86_64                                                                                                   13/21 驗證    : dhcp-client-12:4.3.6-45.el8.x86_64                                                                                                         14/21 驗證    : dhcp-common-12:4.3.6-45.el8.noarch                                                                                                         15/21 驗證    : dhcp-libs-12:4.3.6-45.el8.x86_64                                                                                                           16/21 驗證    : ipcalc-0.2.4-4.el8.x86_64                                                                                                                  17/21 驗證    : syslinux-6.04-5.el8.x86_64                                                                                                                 18/21 驗證    : syslinux-extlinux-6.04-5.el8.x86_64                                                                                                        19/21 驗證    : syslinux-extlinux-nonlinux-6.04-5.el8.noarch                                                                                               20/21 驗證    : syslinux-nonlinux-6.04-5.el8.noarch                                                                                                        21/21 
已更新安裝的產品。已安裝:autogen-libopts-5.18.12-8.el8.x86_64                                  bind-export-libs-32:9.11.26-6.el8.x86_64                                             dhcp-client-12:4.3.6-45.el8.x86_64                                    dhcp-common-12:4.3.6-45.el8.noarch                                                   dhcp-libs-12:4.3.6-45.el8.x86_64                                      gnutls-dane-3.6.16-4.el8.x86_64                                                      gnutls-utils-3.6.16-4.el8.x86_64                                      hivex-1.3.18-21.module+el8.5.0+10709+b3edb581.x86_64                                 ipcalc-0.2.4-4.el8.x86_64                                             libguestfs-1:1.40.2-28.module+el8.5.0+10717+67be7ac4.x86_64                          libvirt-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64                 libvirt-bash-completion-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64                libvirt-client-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64          libvirt-daemon-config-nwfilter-6.0.0-37.module+el8.5.0+12162+40884dd2.x86_64         scrub-2.5.2-16.el8.x86_64                                             supermin-5.1.19-10.module+el8.3.0+6423+e4cb6418.x86_64                               syslinux-6.04-5.el8.x86_64                                            syslinux-extlinux-6.04-5.el8.x86_64                                                  syslinux-extlinux-nonlinux-6.04-5.el8.noarch                          syslinux-nonlinux-6.04-5.el8.noarch                                                  virtio-win-1.9.19-1.el8.noarch                                       完畢!
[root@rhel04 ~]# 

這樣就把需要的組安裝完成了。如果卸載,用“yum groupremove 組名”命令即可。?


使用第三方yum源?

對于rhel04來說,通過ftp可以訪問rhel03上光盤中的包。但是有許多包在光盤中并沒 有,例如,要安裝ansible,命令如下。?

[root@rhel04 ~]# yum list ansible
正在更新 Subscription Management 軟件倉庫。
無法讀取客戶身份本系統尚未在權利服務器中注冊。可使用 subscription-manager 進行注冊。上次元數據過期檢查:0:21:05 前,執行于 2023年12月11日 星期一 21時22分39秒。
錯誤:沒有匹配的軟件包可以列出
[root@rhel04 ~]# 

可以看到,光盤中并沒有ansible這個包,所以此時要使用第三方的yum源。對于CentOS 或RHEL來說,最常用的源就是epel了,下面演示如何給server2添加 epel源。?

先安裝epel安裝包,命令如下。?

[root@rhel04 ~]# yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm

安裝好之后會生成一系列的repo文件,如下所示。?

[root@rhel04 ~]# ls /etc/yum.repos.d/
aa.repo  epel-modular.repo  epel.repo  epel-testing-modular.repo  epel-testing.repo  redhat.repo
[root@rhel04 ~]#

把這些以 epel開頭的repo文件中的地址換成阿里云的地址,命令如下。

[root@rhel04 ~]# sed -i 's|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
[root@rhel04 ~]# sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*
[root@rhel04 ~]# 

這樣rhel04就可以使用epel源了。?

上面的操作步驟可以到阿里云官方鏡像站https://developer.aliyun.com/mirror/,單擊 epel之后可以看到具體步驟。?

[root@rhel04 ~]# yum list ansible
正在更新 Subscription Management 軟件倉庫。
無法讀取客戶身份本系統尚未在權利服務器中注冊。可使用 subscription-manager 進行注冊。Extra Packages for Enterprise Linux 8 - x86_64                                                                             1.4 MB/s |  16 MB     00:11    
上次元數據過期檢查:0:00:11 前,執行于 2023年12月11日 星期一 21時48分39秒。
可安裝的軟件包
ansible.noarch                                                               8.3.0-1.el8                                                               epel
[root@rhel04 ~]# 

可以看到,此時rhel04所使用的源中已經有ansible了。?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/215119.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/215119.shtml
英文地址,請注明出處:http://en.pswp.cn/news/215119.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【三維重建】對極幾何

極幾何描述了同一場景或者物體的兩個視點圖像間的幾何關系 可以發現P在左右相機的投影點一定在各自的極線上,如果求出極線就能縮小求解對應點的范圍。 本質矩陣對規范化攝像機拍攝的兩個視點圖像間的極幾何關系進行代數描述 規范化相機指的是相機的內參…

人工智能_機器學習063_SVR支持向量機_回歸擬合天貓雙十一銷量方程---人工智能工作筆記0103

之前我們用線性回歸做過天貓雙十一銷量預測的數據,現在我們再來用SVR支持向量機來做一下 首先上面是給出了銷量,對應2009年到2019年的,銷售額 可以看到: X=np.arange(2009,2020)-2008 統一減去2008的話看起來數據比較簡單了 y=np.array([0.5,9.36,52,191,350,571,912,1207,1…

華為OD機試 - 結隊編程(Java JS Python C)

題目描述 某部門計劃通過結隊編程來進行項目開發, 已知該部門有 N 名員工,每個員工有獨一無二的職級,每三個員工形成一個小組進行結隊編程,結隊分組規則如下: 從部門中選出序號分別為 i、j、k 的3名員工,他們的職級分貝為 level[i],level[j],level[k], 結隊小組滿足…

使用perl的Tie::File 模塊刪除文件固定行

使用perl的Tie::File 模塊刪除文件固定行, 為了說明簡單代碼中處理的是固定第二行開始的3行長度。下面給出perl代碼: #! /usr/bin/perl use v5.14; use Tie::File;if (ARGV 0) {say "請輸入一個文件名 !!!";exit 1; }my $filePath $ARGV[0]; tie my ar…

java工程(ajax/axios/postman)向請求頭中添加消息

1、問題概述 在項目中我們經常會遇到需要向請求頭中添加消息的場景,然后后端通過request.getRequest()或者RequestHeader獲取請求頭中的消息。 下面提供幾種前端向請求頭添加消息的方式 2、創建一個springmvc工程用于測試 2.1、創建工程并引入相關包信息 sprin…

C++之STL算法(1)

STL容器算法主要由、、組成; ??algorithm主要有遍歷、比較、交換、查找、拷貝、修改等; 1.遍歷容器for_each for_each()函數用于完成容器遍歷,函數參數如下: for_each(_InIt _First, _InIt _Last, _Fn _Func) 形參&#xff1a…

深度學習 Day10——T10數據增強

🍨 本文為🔗365天深度學習訓練營 中的學習記錄博客🍖 原作者:K同學啊 | 接輔導、項目定制 文章目錄 前言一、我的環境二、代碼實現與執行結果1.引入庫2.設置GPU(如果使用的是CPU可以忽略這步)3.導入數據4.查…

4-Docker命令之docker update

1.docker update介紹 docker update命令是用于更新一個或多個docker容器的配置 2.docker update用法 docker update [參數] container [container......] [root@centos79 ~]# docker update --helpUsage: docker update [OPTIONS] CONTAINER [CONTAINER...]Update configu…

編寫函數計算一個或不特定多個數的乘積

編寫函數計算一個或不特定多個數的乘積 輸入樣例: 3 2 1 輸出樣例: 6.0000 def caculate(*t):r1for x in t:r*xreturn r s input().split() t [float(x) for x in s] print("%.4f" % caculate(*t))

Docker基礎概念解析:鏡像、容器、倉庫

當談到容器化技術時,Docker往往是第一個被提及的工具。Docker的基礎概念涵蓋了鏡像、容器和倉庫,它們是理解和使用Docker的關鍵要素。在這篇文章中,將深入探討這些概念,并提供更豐富的示例代碼,幫助大家更好地理解和應…

智能優化算法應用:基于混合蛙跳算法3D無線傳感器網絡(WSN)覆蓋優化 - 附代碼

智能優化算法應用:基于混合蛙跳算法3D無線傳感器網絡(WSN)覆蓋優化 - 附代碼 文章目錄 智能優化算法應用:基于混合蛙跳算法3D無線傳感器網絡(WSN)覆蓋優化 - 附代碼1.無線傳感網絡節點模型2.覆蓋數學模型及分析3.混合蛙跳算法4.實驗參數設定5.算法結果6.…

2023年華為HCIA認證H12-811題庫講解

在VRP平臺上,可以通過下面哪種方式返回到上一條歷史命令?( ) A、Ctr1U B、Ctr1P C、左光標 D、上光標 試題答案:BD 試題解析:在VRP系統中,ctrlU為自定義快捷鍵,ct…

路由和網絡周期

### 路由(Routing): 1. **路由的概念:** 路由是用于確定用戶在網站或應用程序中所處位置的機制。它可以將不同的 URL 映射到對應的頁面或視圖組件,使得用戶可以通過不同的 URL 訪問不同的內容。 2. **路由器&#xf…

DevEco Studio 3.1IDE環境配置(HarmonyOS 3.1)

DevEco Studio 3.1IDE環境配置(HarmonyOS 3.1) 一、安裝環境 操作系統: Windows 10 專業版 IDE:DevEco Studio 3.1 SDK:HarmonyOS 3.1 二、環境安裝 IDE下載地址:HUAWEI DevEco Studio和SDK下載和升級 | HarmonyOS開發者 IDE的安裝就是…

Android---Kotlin 學習002

聲明變量 在 Kotlin 中定義一個變量,通過關鍵字 var 開始。然后是變量名,在“:”后緊跟變量類型。 示例1:聲明一個 int 類型的變量 var num:Int 1 示例2:聲明一個 String 類型的變量 var str:String "Hello world&quo…

計算機網絡——期末考試復習資料

什么是計算機網絡 將地理位置不同的具有獨立功能的多臺計算機及其外部設備通過通信線路和通信設備連接起來;實現資源共享和數據傳遞的計算機的系統。 三種交換方式 報文交換:路由器轉發報文; 電路交換:建立一對一電路 分組交換&a…

2024 年 SEO 現狀

搜索引擎優化(SEO)一直以來都是網絡知名度和成功的基石。隨著我們踏上 2024 年的征程,SEO領域正在經歷重大變革,有些變革已經開始,這對企業、創作者和營銷人員來說既是挑戰也是機遇。 語音搜索 語音搜索曾是一個未來…

可以組成網絡的服務器 - 華為OD統一考試(C卷)

OD統一考試(C卷) 分值: 200分 題解: Java / Python / C 題目描述 在一個機房中,服務器的位置標識在n*m的整數矩陣網格中,1表示單元格上有服務器,0表示沒有。如果兩臺服務器位于同一行或者同一列…

HTML常用表單元素使用?

目錄 一、常用表單元素使用的關鍵字二、常用表單元素使用的效果與作用(1)password : 保護用戶的隱私(2) email: 輸入郵件(比如QQ郵件)(3)、number : 輸入框只能輸入數字(4)、tel : 常用于輸入電話號&#x…

Kubernetes實戰(十二)-使用kubeconfig文件管理多套kubernetes(k8s)集群

1 概述 在生產環境中可能不止有一套kubernetes(k8s)集群,面對多套集群,運維人員可以使用kubeconfig文件管理多套kubernetes(k8s)集群,使用 kubeconfig 文件,可以組織集群、用戶和命名空間,還可以定義上下文&#xff0…