1. 程式人生 > 其它 >Linux-rpm包的yum管理使用

Linux-rpm包的yum管理使用

參考B站史上最牛的Linux視訊教程—兄弟連 P34學習

CentOS7 的setup 無法配置網絡卡資訊,可以使用nmtui來配置網絡卡資訊


注意:預設網絡卡是關閉的狀態,需要啟動網絡卡

vim /etc/sysconfig/network-scripts/ifcfg-eth0(或ens33)

把ONBOOT="no" 改為 ONBOOT="yes"

重啟網路服務

service network restart

yum 源的位置

vim /etc/yum.repos.d/CentOS-Base.repo

[base] 容器名稱,一定要放在[]中
name 容器說明,可以自己隨便寫
mirrorlist 映象站點,這個可以註釋掉
baseurl 我們的yum 源伺服器的地址.預設是CentOS 官方yum源伺服器,速度還是可以的.
enable 此容器是否生效,如果不寫或者寫成enable=1都是生效,寫成enable=0就是不生效
gpgcheck 如果是1指的是RPM的數字證書生效,如果是0則表示不生效 .(預設即可)
gpgkey 數字證書的公鑰檔案儲存位置.(預設即可,不用修改)

一、常用yum 命令

1.查詢 ,查詢yum 源伺服器中所有可用軟體包的列表

yum list


2.搜尋 ,搜尋yum 源伺服器上所有和關鍵字相關的包

yum search 關鍵字


3.安裝

yum -y install 包名

選項:
-y 自動回答yes(如果不加此選項,則每次安裝依賴包都會提示,是否安裝,需要手動輸入y安裝,n不安裝)

為了接下來實現原始碼安裝,需要在機器中安裝gcc

yum -y gcc

4.升級

 yum -y update 關鍵字(包名)

注意:CentOS5 如果後面不跟關鍵字(包名),則預設會升級裝置上所有的軟體包,包括系統核心版本,但是核心升級後,需要在本地做一些配置才能使用,也就是說,如果你是遠端到伺服器上進行的該命令,那麼該伺服器將永遠無法啟動,除非在本地做一些該做的配置,所以慎用.


CentOS7.8 虛擬機器在拍完快照後,使用該命令,確實升級了核心,但是並不影響使用.

如下,確實升級了核心


5.解除安裝

yum -y remove 包名

注意:CentOS 5 如果選擇-y 刪除,則會自動將一些依賴包解除安裝掉,會導致其他包如果跟那些依賴包有依賴關係的話,將導致其他包不可用,即:a->b->c,如果安裝a的時候是a依賴b,b依賴c,則會先裝c,再裝b,最後裝a,反之,選擇yum -y remove 解除安裝的時候(CentOS 5版本),會先解除安裝a,再解除安裝b,最後解除安裝c.假如有一個d 依賴b 或者依賴c,則在解除安裝a後,將導致d無法使用.


目前由於筆者暫時不知道哪兩個包會有這樣的依賴關係,所以無法進行測試,建議使用該功能的時候先在測試環境測試一下你們使用的版本,是否會有這樣自動解除安裝依賴關係的問題.

二、yum 軟體組管理命令
1.列出所有可用的軟體組列表

yum grouplist

如圖,這些軟體組,和我們最早裝系統所選擇的版本很類似,選擇相應的軟體組名來安裝,則可以安裝相應組名所包含的一些安裝包,如上圖,筆者當時裝的版本是上圖中的"Basic Web Server",是不包含有圖形介面的,如果使用下面的命令安裝"Server with GUI"及以下的軟體組版本,那麼通過安裝,筆者的CentOS則可以使用圖形介面操作.

2.安裝指定軟體組,組名可以用grouplist 查詢,如果組名有空格,需要在軟體組名加上雙引號,如:

yum groupinstall "Server with GUI"

如果不加雙引號,系統則會認為你是要安裝組名是Server、組名是with及組名是GUI的三個軟體組.

3.解除安裝指定軟體組

yum groupremove 軟體組名

三、光碟yum 源搭建
1.掛載光碟

mount /dev/sr0 /mnt/cdrom

2.讓網路yum 原始檔失效

cd /etc/yum.repos.d/
ls

由於有8個repo檔案,按照視訊中沈超老師說的,將每個改名太過麻煩了.考慮到目前生效的只有CentOS-Base.repo,且裡面沒有enable這個鍵值,而其他七個repo檔案為了使之不生效,檔案內部都有enable=0這個鍵值.綜上,筆者決定這裡只備份CentOS-Base.repo這個檔案,然後修改CentOS-Media.repo這個檔案即可.

mv CentOS-Base.repo CentOS-Base.repo.bak
ls

編輯 CentOS.Media.repo

vim CentOS.Media.repo

如上圖,
1.將CentOS-Media.repo 這個檔案中的第16行改為光碟/U盤的掛載點,即是第17行的內容
2.將另外兩個baseurl,即第18行,19行(可能是你的第17行,18行)註釋掉,如果不註釋掉,也不影響使用,只是會報兩個找不到該路徑的錯誤.
3.將第21行(可能是你的第20行)的0改為1,即是第22行的內容,是該檔案生效.
這裡註釋以下該檔案的容器名是[c7-media]
通過yum list 可以檢視到列表中的容器名稱正是[c7-media],本地yum源代表替換成功


注意: 有的程式設計師包括我在內,喜歡在一行程式碼後面註釋,或者喜歡在程式碼前(非該行行首)新增#,如下圖

注意,如果是這樣註釋的話,通過yum list 可以檢視到,容器的名稱已經發生了變化,同時,可以嘗試一下安裝

嘗試使用yum install 安裝一下zlib.x86_64

yum -y install zlib

可以看到報了一些錯誤,現在讓我們把註釋給改回來.

再次使用yum list檢視一下,容器名變回 CentOS.Media.repo 裡面定義的容器名

再次使用yum install 安裝一下zlib提示已經安裝過了,詢問是否需要更新