在内网中搭建自己的yum源,可以方便在内网中使用,下面简单介绍搭建局域网yum源的方法和后期更新yum源rpm包的方法。
一、搭建局域网yum源
1、需要在局域网访问,首先需要一个web服务器,比如apache httpd或者nginx均可以,centos默认是安装了httpd的,我们就用这个了。可以systemctl start httpd.service命令启动服务systemctl status httpd.service查看httpd的运行状态,如果没有安装,可以使用离线包安装或者yum -y install httpd在线安装。访问出现下面页面表示启动成功了,并且服务器的根目录在/var/www/html下,可以解析静态页面以及显示目录列表了。
apache httpd的默认端口是80,如果被占用要改端口,去/etc/httpd/conf/httpd.conf中修改Listen即可,另外服务目录、文件目录等都在里面配置,修改完后需要重启systemctl restart httpd.service。
2、创建目录mkdir -p /var/www/html/yum-custom,将自己的rpm包放到这个目录下面。
重建索引文件,如果有repodata文件夹先删除,然后执行yum -y install createrepo; 安装完后重建索引createrepo .
3、备份其他repo文件,cd /etc/yum.repos.d/; tar -zcvf repo-bk.tar.gz CentOS-* ; 然后将这些repo删除 rm -rf CentOS-*
新增自定义的repo文件,vi yum-custom.repo,添加下面的内容
[yum-custom]
name=yum-custom
baseurl=http://10.110.19.60/yum-custom/
#baseurl=file:///var/www/html/yum-custom
enable=1
gpgcheck=0
4、刷新yum clean all; 之后可以通过yum repolist查看最新的yum源信息,到这里本地yum源就配置好了,其他机器只要设置好repo文件,就可以直接使用yum命令安装自定义源中的软件了。可以建立缓存,提高使用和查询效率yum makecache;
二、更新本地yum源
当前用的本地yum源中缺少需要的包,需要手动添加,下面记录一下添加步骤。
1、找到yum原的具体位置,例如我的在/var/www/html/yum/centos/7目录下,查看文件列表可以看到各个rpm包和一个repodata文件夹,这个文件夹中的repomd.xml文件就是记录yum源文件依赖关系的,新增yum源的主要工作就是更新依赖关系。
2、删除repodata文件夹,rm -rf repodata; 然后将自己需要添加的rpm包上传到yum源的目录下面。
3、创建新的repodata文件夹,createrepo .
如果提示命令不存在,先安装yum -y install createrepo
4、最后刷新yum clean all; 新的rpm包就可以在本地yum源中生效了。
-------------------------------------------------------------------我不是底线-----------------------------------------------------------
对于收集需要的rpm包的一种方法
a、恢复修改之前的yum源配置文件,把之前备份的Cent*.repo拷贝到/etc/yum.repos.d/下,如果找不到备份的文件直接搜一下find / -name Cent*.repo
b、打开yum文件的本地缓存vi /etc/yum.conf; 将缓存打开keepcache=1,刷新规则yum clean all; 这样再执行安装脚本,就会自动把缺少的包从在线yum源刷到本地
c、缓存下来的包在/var/cache/yum下面,在下面每个文件夹下的packages中
d、收集这些包,就可以更新到自己的yum源中了
来源:oschina
链接:https://my.oschina.net/u/4418626/blog/3961648