yum服务器概述
yum软件仓库通常借助HTTP或FTP来进行发布,这样可以面向网络中的所有客户机提供软件源服务。为了便于客户机查询软件包,在软件仓库中需要提供仓库数据,其中手机了目录下所有rpm包的头部信息。
搭建ftp协议的yum源服务器
(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
搭建网络yum源
(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软件包
搭建自定义yum源
(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
- 卸载inotify-tools,重新安装测试