三種方法部署YUM軟件倉庫

    經過源碼編譯的方式安裝程序在靈活性、可定製性方面具備無可比擬的優點,但也給管理員帶來了額外的維護開銷,而且在大規模的服務器羣應用時存在必定的侷限性。而傳統的USB光驅、移動硬盤等安裝方式顯然已經力所難及。藉助於YUM軟件倉庫,能夠完成安裝、卸載、升級rpm軟件包等任務,可以自動查找並解決rpm包之間的依賴關係,使管理員在維護大量的Linux服務器時更加輕鬆自如。特別是在擁有大量Linux主機的本地網絡中,構建一臺源服務器能夠大大緩解軟件安裝、升級等對Internet的依賴html



部署YUM軟件倉庫sql

    要成功使用YUM機制來更新系統和軟件,須要有一個包含各類rpm安裝包文件的軟件倉庫,提供軟件倉庫的服務器稱爲源服務器。在客戶機中只要正確指定軟件倉庫的地址等信息,就能夠經過對應的源服務器來安裝、更新軟件了vim

楊書凡14.png

1. 準備網絡安裝源(服務器端)
緩存

    YUM軟件倉庫一般藉助於HTTP或FTP協議進行發佈,這樣能夠面向網絡中全部的客戶機提供軟件源服務。爲了便於客戶機查詢軟件包、獲取依賴關係等信息,在軟件倉庫中須要提供倉庫數據(Repodata),其中收集了目錄下的全部rpm包的頭部信息bash


2. 配置軟件倉庫位置(客戶機端)服務器

    在客戶機上須要制定至少一個可用的軟件倉庫,而後才能使用yum工具進行下載、安裝軟件包網絡



1、將本地文件夾配置爲YUM軟件倉庫tcp

    這種方式配置的YUM倉庫僅限於在本機使用ide

[root@localhost ~]# mount /dev/cdrom /media/                   //掛載系統光盤
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# mkdir /home/localrpm                 //建立本地軟件倉庫目錄
[root@localhost ~]# cp -rf /media/* /home/localrpm     //將系統光盤內數據複製到目錄下,包含repodata數據文件

[root@localhost ~]# vim /etc/yum.repos.d/local.repo       //編寫yum配置文件
[local]                                     //倉庫類別
name=rhel                                  //描述、說明
baseurl=file:///home/localrpm             //URL訪問路徑
enabled=1                                  //1表示啓用此倉庫,0表示不啓用;默認啓用,可省略
gpgcheck=0                                 //驗證軟件包的簽名,0表示不驗證;若無此要求,可省略



2、用FTP部署YUM軟件倉庫工具

(1)服務器端

    在REHL系統的安裝光盤中,已經針對軟件目錄Packages創建好了repodata數據。對於用戶收集的非REHL系統光盤自帶的其餘軟件包,還須要使用createrepo工具手動建立repodata文件

[root@localhost ~]# mount /dev/cdrom /media/               //掛載系統光盤
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# yum -y install vsftpd                  //使用本地yum安裝vsftpd服務    
Installed:
  vsftpd.x86_64 0:2.2.2-11.el6_4.1                                                                        
Complete!
[root@localhost ~]# chkconfig vsftpd on                    //啓動vsftpd服務
[root@localhost ~]# service vsftpd start
 
[root@localhost ~]# mkdir /var/ftp/rhel                 //建立系統軟件倉庫目錄
[root@localhost ~]# cp -rf /media/* /var/ftp/rhel/      //將系統光盤內數據複製到目錄下,包含repodata數據文件

[root@localhost ~]# mkdir /var/ftp/other                //建立用戶收集的軟件倉庫目錄,須要使用createrepo工具手動建立repodata文件
[root@localhost ~]# yum -y install createrepo           //使用本地yum安裝createrepo軟件包
[root@localhost ~]# createrepo --database /var/ftp/other/         //建立repodata文件
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete

[root@localhost ~]# iptables -I INPUT -p tcp --dport 20:21 -j ACCEPT      //容許FTP流量訪問本服務器
[root@localhost ~]# modprobe ip_conntrack-ftp                             //須要手動加載FTP模塊


(2)客戶機端

    yum工具使用的軟件倉庫信息存放在/etc/yum.repos.d目錄中下擴展名爲「.repo」的文件中

[root@localhost ~]# vim /etc/yum.repos.d/ysf.repo       //編寫yum配置文件
[base]                                     //倉庫類別
name=rhel                                  //描述、說明
baseurl=ftp://192.168.1.1/rhel             //URL訪問路徑
enabled=1                                  //1表示啓用此倉庫,0表示不啓用;默認啓用,可省略
gpgcheck=1                                 //驗證軟件包的簽名,0表示不驗證;若無此要求,可省略
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release  //驗證須要指定GPG公鑰文件的位置,
[other]
name=othet
baseurl=ftp://192.168.1.1/other
enabled=1
gpgcheck=0



3、用HTTP部署YUM軟件倉庫

(1)服務器端

[root@localhost ~]# mount /dev/cdrom /media/               //掛載系統光盤
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# yum -y install httpd                  //使用本地yum安裝httpd服務    
[root@localhost ~]# chkconfig httpd on                    //啓動httpd服務
[root@localhost ~]# service httpd start

[root@localhost ~]# mkdir /var/www/html/rhel                 //建立系統軟件倉庫目錄
[root@localhost ~]# cp -rf /media/* /var/www/html/rhel/      //將系統光盤內數據複製到目錄下,包含repodata數據文件

[root@localhost ~]# mkdir /var/www/html/other           //建立用戶收集的軟件倉庫目錄,須要使用createrepo工具手動建立repodata文件
[root@localhost ~]# yum -y install createrepo           //使用本地yum安裝createrepo軟件包
[root@localhost ~]# createrepo --database /var/www/html/other/         //建立repodata文件
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete

[root@localhost ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT    //容許HTTP流量訪問本服務器


(2)客戶機端

[root@localhost ~]# vim /etc/yum.repos.d/ysf.repo       
[base]                                     
name=rhel                                 
baseurl=http://192.168.1.1/rhel             
enabled=1                                  
gpgcheck=1                                 
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 
[other]
name=othet
baseurl=http://192.168.1.1/other
enabled=1
gpgcheck=0



使用yum工具管理軟件包

    下面列出如下經常使用的yum命令

1. 查詢軟件包

(1)yum list——查詢軟件包列表

    能夠得到系統中的軟件安裝狀況,也能夠得到軟件倉庫中可用的軟件包列表

[root@localhost ~]# yum list installed      //列出系統已安裝的軟件包
[root@localhost ~]# yum list available      //列出軟件倉庫中可用的軟件包(未安裝)
[root@localhost ~]# yum list updates        //列出能夠升級版本的軟件包
[root@localhost ~]# yum list yum\*          //列出全部以yum開頭的軟件包
[root@localhost ~]# yum grouplist           //列出YUM倉庫中的軟件分組信息


(2)yum info——查詢軟件包的描述信息

[root@localhost ~]# yum info httpd          //查看軟件包httpd的信息
[root@localhost ~]# yum groupinfo desktop    //列出軟件分組Desktop所包含的軟件包等信息

    

(3)yum search——查詢指定的軟件包

    根據某個關鍵詞來查找相關的軟件包,默認根據軟件包名稱和描述信息進行搜索

[root@localhost ~]# yum search http      //搜索軟件倉庫中的軟件包名稱或描述信息包含「http」的軟件包
[root@localhost ~]# yum search all http     //搜索軟件倉庫中與「http」相關的軟件包


2. 清除yum緩存

   yum會把下載的軟件包和header存儲在cache中,而不會自動刪除。若是咱們以爲它們佔用了磁盤空間,可使用yumclean指令進行清除,更精確的用法是yumclean headers清除header,yum cleanpackages清除下載的rpm包,yum cleanall 清除全部

[root@localhost ~]# yum clean all        //清空/var/cache/yum目錄下的緩存數據


3. 安裝、升級、卸載軟件包

    使用yum工具安裝、卸載軟件包,執行操做時自動檢查並解決軟件包之間的依賴關係,期間會提示用戶按Y鍵確認安裝,可在yum命令後加「-y」選項,指定確認  

[root@localhost ~]# yum update                    //升級系統
[root@localhost ~]# yum install 軟件包            //安裝指定軟件包
[root@localhost ~]# yum update 軟件包             //升級指定軟件包
[root@localhost ~]# yum remove 軟件包             //卸載指定軟件包
[root@localhost ~]# yum deplist 軟件包            //查詢指定軟件包的依賴關係
[root@localhost ~]# yum localinstall 軟件包       //從磁盤安裝rpm包並使用yum解決依賴

[root@localhost ~]# yum groupinstall 軟件組       //安裝指定軟件組中的軟件包
[root@localhost ~]# yum groupupdate 軟件組        //更新指定軟件組中的軟件包
[root@localhost ~]# yum groupremove 軟件組        //卸載指定軟件組中的軟件包


4. yum高級管理應用技巧

技巧1:加快你的yum的速度.使用yum的擴展插件yum-fastestmirror,我的認爲這個插件很是有效,速度真的是明顯提升

[root@localhost ~]# yum -y install yum-fastestmirror   //在CentOS上,名字叫yum-plugin-fastestmirror


技巧2:擴展你的rpm包好多包官方沒有,怎麼搞定他.要我本身編譯嗎?你能夠本身到http://dag.wieers.com/rpm這來找


技巧3:仍是有rpm包找不到怎麼辦,你能夠用高級查找http://rpm.pbone.net/,基本上能夠蒐集齊全


技巧4:軟件組安裝有時咱們安裝完系統,管理有一類軟件沒有安裝,好比用於開發的開發包,咱們能夠用軟件包來安裝。

[root@localhost ~]# yum -y groupinstall "Development Libraries"
[root@localhost ~]# yum -y groupinstall "Development Tools"    //安裝用於開發的軟件包

[root@localhost ~]# yum -y groupinstall "Chinese Support"      //安裝用於中文支持的軟件包
[root@localhost ~]# yum deplist package1                       //查看程序package1依賴關係


技巧4:關於其餘知識,能夠經過man命令查看

[root@localhost ~]# man yum

yum -y install 軟件包(支持*)      //自動選擇y,全自動
yum install 軟件包(支持*)         //手動選擇y or n
yum remove 軟件包(不支持*)
rpm -ivh 軟件包(支持*)            //安裝rpm包
rpm -e 軟件包(不支持*)            //卸載rpm包
yum install kernel-headers kernel-devel    //升級內核
相關文章
相關標籤/搜索