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提示已經安裝過了,詢問是否需要更新