YUM倉庫配置及命令詳解

經過源代碼編譯的方式安裝程序在靈活性、可定製性方面具備無可比擬的優點,但也正由於這種特性給管理員帶來了額外的維護開銷,當應用在大規模的服務器羣集時存在必定的侷限性。那麼就須要使用——YUM軟件倉庫。html

YUM軟件倉庫簡介

藉助於YUM軟件倉庫,能夠完成安裝、卸載、自動升級rpm軟件包等任務,可以自動查找並解決rpm包之間的依懶關係,而無須管理員逐個、手工地安裝每一個rpm包,使管理員在維護大量Linux服務器時更加輕鬆自如。特別是在擁有大量Linux主機的本地網絡中,構建一臺源服務器能夠大大緩解軟件安裝、升級等對Internet的依懶。vim

YUM倉庫簡單來講就是:
1.RPM包構建的軟件更新機制;
2.自動解決依賴關係;
3.軟件包由集中的YUM軟件倉庫提供。

要成功使用YUM機制來更新系統和軟件,須要有一個包含各類rpm安裝包文件及其依懶軟件的軟件倉庫,提供軟件倉庫的服務器也稱爲「源」服務器。
YUM倉庫配置及命令詳解centos

部署YUM軟件倉庫

1、準備網絡安裝源(服務器端)

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服務能夠匿名訪問

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]                                                                   //倉庫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軟件包提供。app

1、查詢軟件包

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
//加大查詢範圍ide

2、安裝、升級、卸載軟件包

使用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緩存信息
相關文章
相關標籤/搜索