yum相关概念我这里就不做详细的讲解了,就是一个软件包管理工具。在企业中,很多时候进行编译了自己的RPM包,在搭建YUM的时候,希望将自定义的RPM加入到YUM源中,从而出现了下列方法。
一、配置私有yum源
1.1 拷贝光盘镜像软件包
mount /dev/cdrom /media/ cp -r Packages/ /mnt/ cp -r repodata/ /mnt/ cp RPM-GPG-KEY-CentOS-* /mnt/ |
1.2 配置私有源
[root@mytest Packages]# cat /etc/yum.repos.d/centos.repo [centos] name=centos7.2 baseurl=file:///mnt/ enabled=1 gpgcheck=0 |
1.3 相关测试(过程略)
二、相关维护工作
2.1 将RPM包加入YUM源(以docker-ce为例)
[root@mytest ~]# ls /root/docker audit-2.6.5-3.el7_3.1.x86_64.rpm libsemanage-python-2.5-5.1.el7_3.x86_64.rpm audit-libs-2.6.5-3.el7_3.1.x86_64.rpm libsepol-2.5-6.el7.x86_64.rpm audit-libs-python-2.6.5-3.el7_3.1.x86_64.rpm libtool-ltdl-2.4.2-21.el7_2.x86_64.rpm checkpolicy-2.5-4.el7.x86_64.rpm policycoreutils-2.5-11.el7_3.x86_64.rpm docker-ce-17.03.0.ce-1.el7.centos.x86_64.rpm policycoreutils-python-2.5-11.el7_3.x86_64.rpm docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch.rpm python-IPy-0.75-6.el7.noarch.rpm libcgroup-0.41-11.el7.x86_64.rpm selinux-policy-3.13.1-102.el7_3.15.noarch.rpm libgudev1-219-30.el7_3.7.x86_64.rpm selinux-policy-targeted-3.13.1-102.el7_3.15.noarch.rpm libseccomp-2.3.1-2.el7.x86_64.rpm setools-libs-3.3.8-1.1.el7.x86_64.rpm libselinux-2.5-6.el7.x86_64.rpm systemd-219-30.el7_3.7.x86_64.rpm libselinux-python-2.5-6.el7.x86_64.rpm systemd-libs-219-30.el7_3.7.x86_64.rpm libselinux-utils-2.5-6.el7.x86_64.rpm systemd-sysv-219-30.el7_3.7.x86_64.rpm libsemanage-2.5-5.1.el7_3.x86_64.rpm ###拷贝到软件包目录下 cp -rf /root/docker* /mnt/Packages/ |
2.2 创建新的repodata目录
###删除原有repodata [root@mytest Packages]# cd /mnt/ [root@mytest mnt]# ls Packages repodata RPM-GPG-KEY-CentOS-7 RPM-GPG-KEY-CentOS-Testing-7 [root@mytest mnt]# rm -rf repodata/ ###创建新的repodata目录 [root@mytest mnt]# createrepo . |
提示:createrepo命令需要提前安装;
创建完新的repodata目录之后,可以查看如下:
[root@mytest mnt]# ls repodata/ |
从而可以重新创建YUM源,来进行安装RPM包,可以找到自己定义的包,自动解决依赖关系。