經過源代碼編譯的方式安裝程序在靈活性、可定製性方面具備無可比擬的優點,但也正由於這種特性給管理員帶來了額外的維護開銷,當應用在大規模的服務器羣集時存在必定的侷限性。那麼就須要使用——YUM軟件倉庫。html
YUM軟件倉庫簡介
藉助於YUM軟件倉庫,能夠完成安裝、卸載、自動升級rpm軟件包等任務,可以自動查找並解決rpm包之間的依懶關係,而無須管理員逐個、手工地安裝每一個rpm包,使管理員在維護大量Linux服務器時更加輕鬆自如。特別是在擁有大量Linux主機的本地網絡中,構建一臺源服務器能夠大大緩解軟件安裝、升級等對Internet的依懶。vim
YUM倉庫簡單來講就是:
RPM包構建的軟件更新機制;
自動解決依賴關係;
軟件包由集中的YUM軟件倉庫提供。
要成功使用YUM機制來更新系統和軟件,須要有一個包含各類rpm安裝包文件及其依懶軟件的軟件倉庫,提供軟件倉庫的服務器也稱爲「源」服務器。
部署YUM軟件倉庫
1、準備網絡安裝源(服務器端)
YUM軟件倉庫一般藉助於HTTP協議或FTP協議來進行發佈, 這樣能夠面向網絡中的全部客戶機提供軟件源服務。爲了便於客戶機查詢軟件包,獲取依懶關係等信息,在軟件倉庫中須要提供倉庫數據(repodate文件),其中收集了目錄下全部的rpm頭部信息。centos
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服務並設置爲開機自啓動
2、配置軟件倉庫位置(客戶端)
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] 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 //列出能夠升級版本的軟件包 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 Ftp Daemon 網址 :https://security.appspot.com/vsftpd.html 協議 : GPLv2 with exceptions 描述 : vsftpd is a Very FTP daemon. It was written completely from : scratch. yum search——查詢指定的軟件包 [root@localhost ~]# yum search vsftpd //查詢與vsftpd相關的軟件包 [root@localhost ~]# yum search vsftpd //加大查詢範圍
2、安裝、升級、卸載軟件包
使用yum命令進行操做時,自動檢查並解決軟件包之間的依懶關係,期間會提示用戶按「y」確認。若但願自動確認,app
能夠在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緩存信息