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