YUM倉庫配置及命令詳解
導讀 | 通過原始碼編譯的方式安裝程式在靈活性、可定製性方面具有無可比擬的優勢,但也正因為這種特性給管理員帶來了額外的維護開銷,當應用在大規模的伺服器群集時存在一定的侷限性。那麼就需要使用——YUM軟體倉庫。 |
YUM軟體倉庫簡介
藉助於YUM軟體倉庫,可以完成安裝、解除安裝、自動升級rpm軟體包等任務,能夠自動查詢並解決rpm包之間的依懶關係,而無須管理員逐個、手工地安裝每個rpm包,使管理員在維護大量Linux伺服器時更加輕鬆自如。特別是在擁有大量Linux主機的本地網路中,構建一臺源伺服器可以大大緩解軟體安裝、升級等對Internet的依懶。
YUM倉庫簡單來說就是:
1.RPM包構建的軟體更新機制;
2.自動解決依賴關係;
3.軟體包由集中的YUM軟體倉庫提供。
要成功使用YUM機制來更新系統和軟體,需要有一個包含各種rpm安裝包檔案及其依懶軟體的軟體倉庫,提供軟體倉庫的伺服器也稱為“源”伺服器。
YUM倉庫配置及命令詳解
部署YUM軟體倉庫
一、準備網路安裝源(伺服器端)
YUM軟體倉庫通常藉助於HTTP協議或FTP協議來進行釋出, 這樣可以面向網路中的所有客戶機提供軟體源服務。為了便於客戶機查詢軟體包,獲取依懶關係等資訊,在軟體倉庫中需要提供倉庫資料(repodate檔案),其中收集了目錄下所有的rpm頭部資訊。
RPM軟體包的來源
1.CentOS釋出的RPM包集合;
2.第三方組織釋出的RPM包集合;
3.使用者自定義的RPM包集合。
1.準備軟體倉庫目錄
在centos 7 系統的安裝光碟中,已針對軟體目錄Packages建立好了repodate資料。因此只需將整個光碟中的內容通過HTTP和FTP的方式進行釋出,就可以作為軟體倉庫。
[root@localhost ~]# rpm -ivh /mnt/Packages/vsftpd-3.0.2-21.el7.x86_64.rpm //通過rpm的方式安裝FTP服務 [root@localhost ~]# mkdir /var/ftp/centos7 [root@localhost ~]# cp -rf /mnt/* /var/ftp/centos7/ //建立一個目錄(自定義即可,必須在可以匿名訪問FTP服務的目錄中) //然後將光碟下的所有東西都複製到該目錄下
對於使用者蒐集的非Centos 7 光碟中的軟體包。除了需要準備的相應的目錄之外還需要手工的建立repodate檔案,這就需要用到createrepo工具。
[root@localhost ~]# mkdir /var/ftp/other [root@localhost ~]# cd /var/ftp/other/ //進入到存放rpm包的目錄中 [root@localhost other]# createrepo . //使用createrepo工具進行建立repodate檔案, //並制定資料檔案存放位置是當前目錄
2.啟動FTP服務,並保證匿名使用者能正常訪問
[root@localhost ~]# systemctl start vsftpd [root@localhost ~]# systemctl enable vsftpd //啟動FTP服務並設定為開機自啟動 [root@localhost ~]# ftp 127.0.0.1 Connected to 127.0.0.1 (127.0.0.1). 220 (vsFTPd 3.0.2) Name (127.0.0.1:root): //直接回車 530 Permission denied. Login failed. ftp> //測試FTP服務可以匿名訪問
二、配置軟體倉庫位置(客戶端)
yum工具使用的軟體倉庫資訊存放在/etc/yum.repos.d目錄下副檔名必須是“.repo”結尾(建議將目錄下原來的檔案移出指定目錄),原本的檔案是聯網直接可以從網際網路下載軟體的配置檔案。
[root@localhost ~]# mv /etc/yum.repos.d/* /a [root@localhost ~]# vim /etc/yum.repos.d/a.repo //建立新的YUM倉庫,內容如下: #建立安裝通過FTP釋出的光碟映象中的rpm包 [ftp] //倉庫ID name=ftp //倉庫名稱,自定義,可忽略 baseurl=ftp://192.168.1.1/centos7 //URL訪問路徑(FTP服務須指定到repodate資料檔案的上級目錄) enabled=1 //是否啟用軟體倉庫(1啟用,0不啟用)預設值為1,這項可忽略 gpgcheck=1 //是否驗證軟體包的簽名(1啟用,0不啟用) gpgkey=file://etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 //指定公鑰檔案存放位置 #建立安裝通過FTP釋出非光碟映象的rpm包 [ftp1] name=ftp1 baseurl=ftp://192.168.1.1/other enabled=1 gpgcheck=0 //沒什麼特殊要求,這項一般是0,不啟用軟體的簽名認證 #通過HTTP釋出的光碟映象中的rpm包 [http] name=http baseurl=http://192.168.1.1 //HTTP服務,只需指定HTTP服務的IP地址即可 enabled=1 gpgcheck=0 #如果光碟掛載本地 [local] name=local baseurl=file:///mnt //本地指定光碟映象掛載位置 enabled=1 gpgcheck=0
使用yum工具管理軟體包
在CentOS 7 伺服器中,yum工具是最常用的YUM客戶端工具,由預設安裝的yum-3.4.3-150.el7.centos.noarch軟體包提供。
一、查詢軟體包
1.yum list ——查詢軟體包列表
[root@localhost ~]# yum list //可以獲得系統中的軟體安裝情況,也可以查詢軟體倉庫中可用的軟體包列表。 [root@localhost ~]# yum list installed //只列出系統中已安裝的軟體包 [root@localhost ~]# yum list available //只列出軟體倉庫中可用(但是尚未安裝)的軟體包 [root@localhost ~]# yum list updates //列出可以升級版本的軟體包
2.yum info——查詢軟體包的描述資訊
[root@localhost ~]# yum info vsftpd //加軟體包檢視詳細的描述資訊 已載入外掛:fastestmirror, langpacks 源 'a' 在配置檔案中未指定名字,使用標識代替 Loading mirror speeds from cached hostfile 已安裝的軟體包 名稱 :vsftpd 架構 :x86_64 版本 :3.0.2 釋出 :21.el7 大小 :348 k 源 :installed 簡介 : Very Secure Ftp Daemon 網址 :https://security.appspot.com/vsftpd.html 協議 : GPLv2 with exceptions 描述 : vsftpd is a Very Secure FTP daemon. It was written completely from : scratch.
3.yum search——查詢指定的軟體包
[root@localhost ~]# yum search vsftpd //查詢與vsftpd相關的軟體包 [root@localhost ~]# yum search vsftpd //加大查詢範圍
二、安裝、升級、解除安裝軟體包
使用yum命令進行操作時,自動檢查並解決軟體包之間的依懶關係,期間會提示使用者按“y”確認。若希望自動確認,```
可以在yum命令後新增“-y”選項。
[root@localhost ~]# yum -y install vsftpd //安裝vsftpd服務 [root@localhost ~]# yum -y update vsftpd //更新vsftpd服務 [root@localhost ~]# yum -y remove vsftpd //解除安裝vsftpd服務 如果YUM配置檔案編寫錯誤,修改配置檔案之後,建議使用 [root@localhost ~]# yum clean all //清空YUM快取資訊