公司局域網內的配置一臺能夠鏈接外網的YUM源服務器,這樣能夠避免每機器都須要經過外網下載安裝包。html
1、yum源服務器的搭建
yum源服務器端配置
a) 在admnode上經過yum或rpm包安裝vsftpd
# yum install vsftpd
啓動vsftpd服務
# systemctl enable vsftpd
# systemctl start vsftpd
# systemctl status vsftpdnode
關閉防火牆
# systemctl disable firewalld
# systemctl stop firewalld
# systemctl status firewalld
關閉selinux
# setenforce 0
#vim /etc/selinux/config
將其中的"SELINUX=enforcing"修改成"SELINUX=permissive"
確保/etc/yum.conf中沒有設置代理,註釋掉代理設置的下面三行
####proxy=http://<proxyserver's IP>:port/
####proxy_username=<G08's username>
####proxy_password=<G08's passwork>
使用瀏覽器驗證ftp服務是否正常。 mysql
在服務端機器和客戶端機器的瀏覽器地址欄上輸入ftp://ip/pub/ ,瀏覽器會顯示相應文件夾目錄。
b) 將全部的須要的rpm包拷貝到 /var/ftp/pub/<self-content>目錄下。
c) 建立YUM源.
安裝createrepo工具
# yum install createrepo
生成yum源的repodata依賴文件
# createrepo /var/ftp/pub
d) 配置本地YUM源.
在/etc/yum.repos.d/目錄下新建*.repo文件(例:local_yum.repo),添加如下內容:
[local_yum] #庫名稱
name=local_yum #名稱描述
baseurl=ftp://10.167.221.108/pub/ #yum源目錄,填寫Server端FTP服務器的IP。
enabled=1 #是否啓用該yum源,0爲禁用,1爲使用
gpgcheck=0 #檢查GPG-KEY,0爲不檢查,1爲檢查
修改默認源(注:通常只須要修改CentOS-Base.repo源便可,但若是有其餘源生效,就在後綴加上.bak)
# cd /etc/yum.repos.d/
# mv CentOS-Base.repo CentOS-Base.repo.bak
更新服務器端yum源,已便客戶端識別改動的rpm包。
# yum clean all
# createrepo --update /var/ftp/pub/
# createrepo /var/ftp/pub/
e) 查看所擁有的源,以及經過本地yum源安裝軟件
#yum repolist all
# yum install <local-yum-Software-package-name>
yum客戶端的配置
a) 準備工做。
關閉防火牆
# systemctl disable firewalld
# systemctl stop firewalld
# systemctl status firewalld
關閉selinux
# setenforce 0
#vim /etc/selinux/config
將其中的"SELINUX=enforcing"修改成"SELINUX=permissive"
確保/etc/yum.conf中沒有設置代理,註釋掉代理設置的下面三行
####proxy=http://<proxyserver's IP>:port/
####proxy_username=<G08's username>
####proxy_password=<G08's passwork>
使用瀏覽器驗證ftp服務是否正常。在瀏覽器地址欄上輸入ftp://ip/pub/ ,瀏覽器會顯示相應文件夾目錄。
linux
b) 配置集羣服務器YUM源.
在/etc/yum.repos.d/目錄下新建*.repo文件(例:local_yum.repo),添加如下內容:
[local_yum] #庫名稱
name=local_yum #名稱描述
baseurl=ftp://10.167.221.108/pub/ #yum源目錄,填寫Server端FTP服務器的IP。
enabled=1 #是否啓用該yum源,0爲禁用,1爲使用
gpgcheck=0 #檢查GPG-KEY,0爲不檢查,1爲檢查 sql
修改默認源(注:通常只須要修改CentOS-Base.repo源便可,但若是有其餘源生效,就在後綴加上.bak)
# cd /etc/yum.repos.d/
# mv CentOS-Base.repo CentOS-Base.repo.bak vim
c) 查看所擁有的源,以及經過本地yum源安裝軟件
#yum repolist all
#yum install <local-yum-Software-package-name> 瀏覽器
注意:搭建基於FTP和搭建基於HTTP的yum服務器的方式是相似的,只不過HTTP的方式啓用的是httpd服務,已經將相關文件放置到HTTP服務的默認文件目錄(/var/www/html/下,該默認目錄能夠變動)緩存
2、yum軟件rpm安裝包的下載
rpm下載方法服務器
1) 安裝rpm包時緩存ide
yum 默認狀況下,升級或者安裝後,會刪除下載的rpm包。
不過,咱們也能夠以下設置升級後不刪除下載的rpm包
# vim /etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=0
將 keepcache=0 修改成 keepcache=1, 安裝或者升級後,在目錄 /var/cache/yum 下就會有下載的 rpm 包了。
2) 只下載rpm包,不安裝
使用下載rpm包須要使用–downloadonly選項,這樣能夠經過yum下載rpm包到本地默認的 /var/cache/yum/x86_64/7 目錄下。
該目錄下的每一個文件夾,表示使用的yum的.repo庫。
使用–downloadonly選項,需先安裝yum-plugin-downloadonly包。
下載命令以下:
yum install --downloadonly <待安裝軟件名>
根據下載XXX.repo源的名稱,下載後的軟件就存放在/var/cache/yum/x86_64/7 目錄下相應的XXX目錄中
下載rpm包到本地某個具體目錄,而不是默認目錄方法:
yum install --downloadonly --downloaddir=<自定義目錄> <待安裝軟件名>
yum源的劃分方法
TBD
yum經常使用的命令
安裝軟件包:
yum install package 更新指定程序包package
yum install –downloadonly 下載指定的包,而且下載相關依賴包
yum localinstall package 從本機目錄安裝軟件包
yum groupinstall group 安裝某個組件的所有軟件包
更新軟件包:
yum update package
yum -C update 從本地系統緩存更新
yum check-update 列出全部可更新的軟件包
yum list updates mysql* 查找mysql的更新
yum update 更新全部可更新的軟件包
yum update mysql* 更新全部mysql的軟件包
yum groupupdate group 更新某個組件的全部軟件包
yum list 列出全部已安裝和倉庫中可用的軟件包
yum list available 列出倉庫中全部可用的軟件包
yum list updates 列出倉庫中比當前系統更新的軟件包
yum list installed 列出已安裝的軟件包
yum list recent 列出新加入倉庫的軟件包
yum info 查詢軟件包信息
刪除軟件包:
yum remove package
yum groupremove group 刪除某個組件的所有軟件包
清除軟件包
yum clean packages 清除遺留在緩存裏的包文件
yum clean metadata 清除遺留在緩存裏的元數據
yum clean headers 清除遺留在緩存裏的頭文件
yum clean all 清除包文件,元數據,頭文件
搜索軟件包:
yum search package
yum info package 查找一個軟件包的信息
yum list package 列出包含指定信息的軟件包
yum list installed 列出已安裝的軟件包
yum list extras 列出不是經過軟件倉庫安裝的軟件包
yum list *ttp* 列出標題包含ttp的軟件包
yum list updates 列出能夠更新的軟件包
查找特定文件是由什麼軟件包提供的:yum whatprovides filename例子:yum whatprovides httpd.conf