Linux部署yum仓库
一、YUM概述
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
二、准备安装源
1、安装yum本地源
在客户端上新建一个本地yum 源,挂载光盘
mount /dev/sr0 /mnt
cd /etc/yum.repos.d/
mkdir bak
mv * bak/
vim local.repo
yum clean all
yum makecache
yum repolist
vim local.repo
[centos7]
name=centos7
baserul=file:///mnt
enabled=1
gpgcheck=0
2、安装yum远程源(ftp模式)
搭建环境:两台linux虚拟机,一台做ftp服务器,一台做客户端
ftp服务器配置:
1、安装vsftpd服务端软件
2、创建并制作yum远程ftp站点的源
3、启动ftp服务
[root@localhost ~]# hostname server
[root@localhost ~]# bash
[root@server ~]# yum -y install vsftpd
[root@server ~]# mkdir /var/ftp/centos7
[root@server ~]# cd /var/ftp/centos7
[root@server centos7]# mount /dev/sr0 /mnt
[root@server centos7]# cp -rf /mnt/* /var/ftp/centos7/
[root@server centos7]# cd ~
[root@server ~]# systemctl start vsftpd
[root@server ~]# yum install nginx zabbix -y --downloadonly --downloaddir=/data/packages
//先在服务器上yum下载nginx和zabbix的软件包但不安装,如果不指定nginx会放在/var/cache/yum/x86_64/7/epel/packages这个目录下
[root@server ~]# cd /data/packages/
[root@server packages]# ls
[root@server packages]# cp * /var/ftp/centos7/Packages/
//将他们拷贝到ftp对应软件包路径
[root@server packages]# createrepo --update /var/ftp/centos7/Packages/ //手动更新依赖关系
[root@server Packages]# cd /var/ftp/centos7/Packages/repodata
[root@server repodata]# ls
createrepo 命令用于创建yum源(软件仓库),即为存放于本地特定位置的众多rpm包建立索引,描述各包所需依赖信息,并形成元数据。
本地客户端配置:
1、创建远程yum源的配置文件
2、yum安装软件验证结果
[root@client yum.repos.d]# yum list |grep nginx //这时客户端无法安装nginx,检查不到
[root@client yum.repos.d]# ls
[root@client yum.repos.d] vim local.repo 修改repo文件
[localcentos7]
name=centos7.ftp
baseurl=ftp://192.168.152.130/centos7/Packages/ //仓库地址加上Packages目录
enabled=1
gpgcheck=0
[root@client yum.repos.d]# yum clean all //清理yum
[root@client yum.repos.d]# yum makecache //重新建立yum缓存
[root@client yum.repos.d]# yum repolist
[root@client yum.repos.d]# yum list | grep nginx // //成功检测到nginx