yum软件仓库通常借助HTTP或FTP来进行发布,这样可以面向网络中的所有客户机提供软件源服务。为了便于客户机查询软件包,在软件仓库中需要提供仓库数据,其中手机了目录下所有rpm包的头部信息。
(1)准备两台服务器,一个作为yum-server,一个作为yum-client
在yum-server中安装ftp服务端(vsftpd),yum-client中安装ftp客户端(ftp)
yum-server:yum -y install vsftpd
yum-client:yum -y install ftp
(2)搭建yum-server本地的yum源
mount /dev/sr0 /var/ftp/centos7 #注意这里挂载一定要写客户端登入ftp的根路径下的目录,没有则先新建目录
vi /etc/yum.repos.d/Centos7-yum.repo
#编辑内容:
[Centos7-yum]
name=Centos-source
baseurl=file:///var/ftp/centos7 #注意这里配置的本地路径一定要和挂载的路径保持一致
enabled=1
gpgcheck=0
:wq (保存退出)
#清理本地yum缓存
yum clean all
#创建yum缓存
yum makecache
(3)启动vsftpd服务
#先将/var/ftp下的pub属主改成ftp
chown ftp /var/ftp/pub
#修改vsftpd.conf配置文件
vi /etc/vsftpd/vsftpd/conf
新增:anon_umask=022
:wq (保存退出)
启动:systemctl start vsftpd
注意:关闭防火墙 systemctl stop firewalld
(3)搭建yum-client的ftp源
#关闭防火墙
systemctl stop firewalld
#验证ftp是否能够登入
ftp 192.168.10.80
vi /etc/yum.repos.d/ftp.repo
#编辑yum源文件
[ftp]
name=ftp
baseurl=ftp://192.168.10.80/centos7
gpgcheck=0
enabled=1
#清理yum源
yum clean all
#创建yum源缓存
yum makecache
(4)客户端测试下载
yum -y install vim
(1)当我们想要尝试下载inotify-tools时,发现本地的包没有这个软件包,这是我们需要拉取在线的yum源
#进入到/etc/yum.repos.d/下,下载yum源文件
cd /etc/yum.repod/
wget http://files.tttidc.com/centos6/epel-6.repo
yum clean all
yum makecache
(2)测试下载inotify-tools软件包
(1)修改yum配置文件,/etc/yum.conf
keepcache=1 #注意当我们下载好网络源上的包之后,把这个属性还是改成0,关掉
(2)缓存rpm包到yum数据文件中
yum -y remove inotify-tools
yum -y install inotify-tools
#注意:这里是做测试,因为上一步已经安装inotify-tools,所以要重新安装下,其他的软件包直接下载就行
(3)将安装包拷贝到我们熟悉的工作目录
cp /var/cache/yum/x86_64/7/epel/packages/inotify-tools-3.14-2.el6.x86_64.rpm /root
(4)创建目录rpm,将inotify-tools-3.14-2.el6.x86_64.rpm放到rpm目录中
(5)在rpm中执行createrepo -v .创建yum源
createrepo -v . #注意:createrepo命令需要下载,yum -y install createrepo
(6)创建属于inotify-tools-3.14-2.el6.x86_64.rpm的yum源文件,并且删除epel源文件
[rpm]
name=rpm
baseurl=file:///root/rpm
enabled=1
gpgcheck=0
(7)测试自定义的源是否生效
yum clean all
yum makecache