如果服务器在不允许接入外网的情况下,如何通过yum进行安装软件包呢?毕竟yum对于软件包的管理以及包的依赖安装都非常的方便。本文整理的就是在CentOS 6.5系统上,进行本地yum源配置。
当然也可以参考wiki说明:https://wiki.centos.org/HowTos/CreateLocalRepos
1:创建本地仓库目录,例如/home/user/repo.
2:把rpm包统统拷贝到 /home/user/repo 目录中,这些rpm包就是我们的软件源
3:修改该仓库目录属性,让该仓库的文件所有者改为当前用户,当前我们是root用户,那么就是:
# chown -R root.root /home/user/repo
4:安装 createrepo 包,实现本地仓库功能,基本上 CentOS 6.5都是自带了这个包,如果没有安装,自行下载进行安装,安装过程如下:
一共需要三个包:createrepo-0.9.9-18.el6.noarch.rpm,python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm,deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm
[root@localhost repo]# rpm -ivh createrepo-0.9.9-18.el6.noarch.rpm warning: createrepo-0.9.9-18.el6.noarch.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY error: Failed dependencies: python-deltarpm is needed by createrepo-0.9.9-18.el6.noarch [root@localhost repo]# rpm -ivh createrepo-0.9.9-18.el6.noarch.rpm python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm warning: createrepo-0.9.9-18.el6.noarch.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY error: Failed dependencies: deltarpm = 3.5-0.5.20090913git.el6 is needed by python-deltarpm-3.5-0.5.20090913git.el6.x86_64 [root@localhost repo]# rpm -ivh createrepo-0.9.9-18.el6.noarch.rpm python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm
如果 createrepo 完成安装,那么我们执行如下命令,创建本地仓库:
# createrepo /home/user/repo # chmod -R o-w+r /home/user/repo
5:创建一份 repo 的配置文件,例如: /etc/yum.repos.d/myrepo.repo ,内容如下:
[local] name=My Awesome Repo baseurl=file:///home/user/repo enabled=1 gpgcheck=0
创建完我们自己的 myrepo.repo 文件后,那么需要将系统默认自带的配置暂时禁用掉,最简单的办法就是修改系统默认 repo 文件的后缀:
#cd /etc/yum.repos.d/ #mv CentOS-Base.repo CentOS-Base.repo.backup
然后清空yum缓存,列出当前系统的yum管理配置:
#yum clean all #yum list
6:通过上述步骤,便可以进行安装软件包了,使用命令:
# yum install packagename
7:如果我们向软件源里更新了一些新的软件包,那么使用 createrepo 的更新命令进行一次更新:
为了确保添加的软件包访问权限都正确,建议针对本地仓库目录再次执行权限配置命令,如果不执行这两条命令,很有可能更新了repo仓库,还是无法发现新增加的包。
chown -R root.root /home/user/repo
chmod -R o-w+r /home/user/repo
执行完上述两条命令,我们再次进行更新repo命令:
createrepo --update /home/user/repo
yum clean all
这样,便可以完成repo的更新工作,便可以继续安装新的软件包了。
文章的脚注信息由WordPress的wp-posturl插件自动生成