1.1 概述
YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。-需要联网
1.2 为什么要制作本地YUM源
YUM源虽然可以简化我们在Linux上安装软件的过程,但是生产环境通常无法上网,不能连接外网的YUM源,说以就无法使用yum命令安装软件了。为了在内网中也可以使用yum安装相关的软件,就要配置yum源。
YUM源其实就是一个保存了多个RPM包的服务器,可以通过http的方式来检索、下载并安装相关的RPM包。
1.3 yum的常用命令
1)基本语法:
yum install -y rpm软件包 (功能描述:安装httpd并确认安装)
yum list (功能描述:列出所有可用的package和package组)
yum clean all (功能描述:清除所有缓冲数据)
yum deplist rpm软件包 (功能描述:列出一个包所有依赖的包)
yum remove rpm软件包 (功能描述:删除httpd)
2)案例实操
yum install -y tree //安装文档树结构展示插件
1.4 关联网络yum源
1)前期文件准备
(1)前提条件linux系统必须可以联网
(2)在Linux环境中访问该网络地址:http://mirrors.163.com/.help/centos.html,在使用说明中点击CentOS6->再点击保存
(3)查看文件保存的位置
在打开的终端中输入如下命令,就可以找到文件的保存位置。
[kingge@hadoop101 下载]$ pwd
/home/kingge/下载
2)替换本地yum文件
(1)把下载的文件移动到/etc/yum.repos.d/目录
[root@hadoop101 下载]# mv CentOS6-Base-163.repo /etc/yum.repos.d/
(2)进入到/etc/yum.repos.d/目录
[root@hadoop101 yum.repos.d]# pwd
/etc/yum.repos.d
(3)用CentOS6-Base-163.repo替换CentOS-Base.rep
[root@hadoop101 yum.repos.d]# mv CentOS6-Base-163.repo CentOS-Base.rep
3)安装命令
(1)[root@hadoop101 yum.repos.d]#yum clean all
(2)[root@hadoop101 yum.repos.d]#yum makecache
(3)[root@hadoop101 yum.repos.d]# yum install -y createrepo
(4)[root@hadoop101 yum.repos.d]#yum install -y httpd
1.5 制作本地yum源
1.5.1 制作只有本机能访问的本地YUM源
(1)准备一台Linux服务器,版本CentOS-6.8-x86_64-bin-DVD1.iso
(2)配置好这台服务器的IP地址
(3)将CentOS-6.8-x86_64-bin-DVD1.iso镜像挂载到/mnt/cdrom目录
[root@hadoop101 /]# mkdir /mnt/cdrom
[root@hadoop101 /]# mount -t iso9660 /dev/cdrom /mnt/cdrom
(4)安装相应的软件
[root@hadoop101 yum.repos.d]#yum install -y httpd
(5)启动httpd服务
[root@hadoop101 yum.repos.d]#service httpd start
(6)使用浏览器访问http://192.168.1.101:80(如果访问不通,检查防火墙是否开启了80端口或关闭防火墙),测试网络是否畅通
(7)将YUM源配置到httpd(Apache Server)中
[root@hadoop101 html]# mkdir Packages
[root@hadoop101 html]# chown kingge:kingge Packages/
[root@hadoop101 html]# cp -r /mnt/cdrom/Packages/* /var/www/html/Packages/
(8)执行创建仓库命令:createrepo 路径
[root@hadoop101 Packages]# createrepo ./
(9)修改本机上的YUM源配置文件,将源指向自己
备份原有的YUM源的配置文件
[root@hadoop101 /]# cd /etc/yum.repos.d/
[root@hadoop101 yum.repos.d]# cp CentOS-Base.repo CentOS-Base.repo.bak
编辑CentOS-Base.repo文件
[root@hadoop101 yum.repos.d]# vi 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-6
添加上面内容保存退出
(10)清除YUM缓存
[root@hadoop101 yum.repos.d]# yum clean all
(11)列出可用的YUM仓库
[root@hadoop101 yum.repos.d]# yum repolist
(12)安装相应的软件
[root@hadoop101 yum.repos.d]# yum install -y tree
[root@hadoop101 Packages]# yum install -y firefox-45.0.1-1.el6.centos.x86_64.rpm
1.5.2 制作其他主机通过网络能访问的本地YUM源
前期准备:检查yum源服务器的httpd服务是否启动:
Ps aux | grep httpd –查看该进程是否存在
或者 netstat –anp | grep 80 直接查看是否监听80端口
启动 httpd服务: service httpd start/restart
启动后,可能使用yum源的服务器访问不到yum仓库(例如下面的101服务器访问不到102服务器的yum),那么有可能是101服务器防火墙屏蔽了80端口,应该设置一下防火墙规则
(1)让其他需要安装RPM包的服务器指向这个YUM源,准备一台新的服务器,备份或删除原有的YUM源配置文件
备份原有的YUM源的配置文件
[root@hadoop102 /]#cd /etc/yum.repos.d/
[root@hadoop102 yum.repos.d]# cp CentOS-Base.repo CentOS-Base.repo.bak
编辑CentOS-Base.repo文件
[root@hadoop102 yum.repos.d]# vi CentOS-Base.repo
[base] name=CentOS-hadoop101 baseurl=http://192.168.1.101/Packages gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
添加上面内容保存退出
(2)在这台新的服务器上执行YUM的命令
[root@hadoop102 yum.repos.d]# yum clean all
[root@hadoop102 yum.repos.d]# yum repolist
(3)安装软件
[root@hadoop102 yum.repos.d]# yum install -y httpd