1、概述
YUM(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟件包管理器。基于RPM包管理,能夠從指定的服務器自動下載RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。
2、為什么要制作本地YUM源
YUM源雖然可以簡化我們在Linux上安裝軟件的過程,但是生產環境通常無法上網,不能連接外網的YUM源,所以就無法使用yum命令安裝軟件了。為了在內網中也可以使用yum安裝相關的軟件,就要配置yum源。
YUM源其實就是一個保存了多個RPM包的服務器,可以通過http的方式來檢索、下載并安裝相關的RPM包。
3、yum的常用命令
(1)基本語法
yum install -y rpm軟件包 (功能描述:安裝httpd并確認安裝)
yum list (功能描述:列出所有可用的package和package組)
yum clean all (功能描述:清除所有緩沖數據)
yum deplist rpm軟件包 (功能描述:列出一個包所有依賴的包)
yum remove rpm軟件包 (功能描述:刪除httpd)
(2)案例實操
[root@node1 ~]$ yum install -y tree
[root@node1 ~]$ tree /
[root@node1 ~]$ tree
4、關聯網絡yum源
(1)linux系統必須可以聯網
[root@node1 ~]# ping www.baidu.com
PING www.a.shifen.com (14.215.177.38) 56(84) bytes of data.
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=1 ttl=128 time=45.9 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=2 ttl=128 time=45.0 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=3 ttl=128 time=45.5 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=4 ttl=128 time=44.1 ms
(2)訪問網絡地址
http://mirrors.163.com/.help/centos.html
(3)查看文件保存的位置
(4)替換本地yum文件,把下載的文件移動到/etc/yum.repos.d/目錄
[root@node1 Downloads]# mv CentOS7-Base-163.repo /etc/yum.repos.d/
(5)進入到/etc/yum.repos.d/目錄
[root@node1 Downloads]# cd /etc/yum.repos.d/
[root@node1 yum.repos.d]# pwd
/etc/yum.repos.d
(6)用CentOS7-Base-163.repo替換CentOS-Base.rep,先備份
[root@node1 yum.repos.d]# mv CentOS-Base.rep CentOS-Base.rep.bak
[root@node1 yum.repos.d]# mv CentOS7-Base-163.repo CentOS-Base.rep
(7)安裝命令
[root@node1 yum.repos.d]# yum clean all
[root@node1 yum.repos.d]# yum makecache
[root@node1 yum.repos.d]# yum install -y createrepo
[root@node1 yum.repos.d]# yum install -y httpd
[root@node1 yum.repos.d]# yum search nc
[root@node1 yum.repos.d]# yum install -y nc.x86_64
5、制作只有本機能訪問的本地YUM源
(1)將CentOS-7-x86_64-DVD-1611.iso鏡像掛載到/mnt/cdrom目錄
[root@node1 /]# mkdir -p /mnt/cdrom
[root@node1 /]# mount -t iso9660 /dev/cdrom /mnt/cdrom
(2)安裝相應的軟件
[root@node1 yum.repos.d]# yum install -y httpd
(3)啟動httpd服務
[root@node1 yum.repos.d]# service httpd start
(4)使用瀏覽器訪問http://node1:80
(如果訪問不通,檢查防火墻是否開啟了80端口或關閉防火墻),測試網絡是否暢通
(5)將YUM源配置到httpd(Apache Server)中
[root@node1 ~]# cd /var/www/html/
[root@node1 html]# mkdir Packages
[root@node1 html]# cp -r /mnt/cdrom/Packages/* /var/www/html/Packages/
[root@node1 html]# chown -R victor:victor Packages/
(6)執行創建倉庫命令:createrepo 路徑
[root@node1 ~]# cd /var/www/html/Packages/
[root@node1 Packages]# createrepo ./
(7)修改本機上的YUM源配置文件,將源指向自己
[root@node1 /]# cd /etc/yum.repos.d/
[root@node1 yum.repos.d]# cp CentOS-Base.repo CentOS-Base.repo.bak
[root@node1 yum.repos.d]# vim CentOS-Base.repo
[base]
name=CentOS-Local
baseurl=file:///var/www/html/Packages
gpgcheck=0
enabled=1 #增加改行,使能
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
尖叫提示:備份原有的YUM源的配置文件
(8)清除YUM緩存
[root@node1 yum.repos.d]# yum clean all
(9)列出可用的YUM倉庫
[root@node1 yum.repos.d]# yum repolist
(10)安裝相應的軟件
[root@node1 yum.repos.d]# yum install -y tree
[root@node1 Packages]# yum install -y firefox-45.4.0-1.el7.centos.x86_64.rpm
6、制作其它主機通過網絡能訪問的本地YUM源
(1)讓其它需要安裝RPM包的服務器指向這個YUM源
[root@node2 /]# cd /etc/yum.repos.d/
[root@node2 yum.repos.d]# cp CentOS-Base.repo CentOS-Base.repo.bak
[root@node2 yum.repos.d]# vim CentOS-Base.repo
[base]
name=CentOS-node1
baseurl=http://192.168.2.101/Packages
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
(2)在這臺新的服務器上執行YUM的命令
[root@node2 yum.repos.d]# yum clean all
[root@node2 yum.repos.d]# yum repolist
(3)安裝軟件
[root@node2 yum.repos.d]# yum install -y httpd
7、yum保存下載的rpm包
[root@node1 ~]# vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
#keepcache=0
#1表示保存到本地
keepcache=1
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1