Centos 7 自建本地yum仓库的实例
原文转载自MT大神的博客:https://blog.51cto.com/14839701/2548183
创建本地yum仓库
需求:如果你在linux上面创建一个新的RPM包,后续你可能希望不再通过yum/apt去远程安装,毕竟很多外网还是很慢的,浪费时间,所以建立一个本地VLAN可以访问的源头来增加效率或控制版本是一个客观的方案。
方案:createrepo
环境:
系统:Centos 7.6 64位 命令行版本
1,安装createrepo
yum按照createrepo
执行 yum install createrepo -y
安装如下几个包
最后安装完毕即可
额外还需要安装一个yum-utils来帮助系统更好的运行本地仓库
yum install yum-utils
2,查看httpd配置
systemctl status httpd
centos 7 官方版默认是有httpd安装好的,就createrepo而言,启动即可,无需多余操作
很多云主机的版本为了轻便可能没有安装,执行yum install httpd -y即可
httpd默认路径: /var/www/html
PS:除了httpd(apache)之外,Nginx也是可用的,但注意前提都是打开80或者443端口
3,创建目录来存放仓库
首先,根据系统实际情况创建http协议相关的访问路径
mkdir –p /var/www/html/repos/{base,centosplus,extras,updates}
4,同步HTTP的Base仓库
下载Centos 默认仓库中的base仓库配置
用以下命令
reposync -g -l -d -m --repoid=base --newest-only --download-metadata --download_path=/var/www/html/repos/
下载的就是下图这个base
- –g – 移除或者安装在Centos上GPG检查失败的包
- –l – yum组件支持
- –d – 删除本地包中不再存在的远程仓库的包
- –m – 下载comps.xml文件
- ––repoid – 确认仓库ID
- ––newest-only – 只下载最新的仓库包,这样可以让本地仓库小一点
- ––download-metadata – 下载非默认元数据
- ––download-path – 指定本地下载路径
完成后如下,大约10070个文件
然后在对应的文件夹,就可以看到对应的文件了
5,配置客户端yum文件
可以直接修改centos的base
cat /etc/yum.repos.d/Centos-Base.repo
[base] name=CentOS-$releasever - Base baseurl=http://192.168.1.100/repos/base/ gpgcheck=0 enabled=1
PS:上面的IP就是按照createrepo主机的ip,请自行更改
路径就是前面创建的路径,需要的话也请自行更改
这部完成后,直接尝试安装即可,相关base库会从本地进行拉取,非常迅速
MT大神是我追随多年的一位技术大牛,最近新建了博客,大家可以去关注 https://blog.51cto.com/14839701
栏目列表
推荐阅读
- Iptables的表链关系解析
- 阿里云运维命令行 Terraform 系列
- 阿里云 控制台运维命令 复制安全组
- 如何霸气的安装CDH大数据环境(附个人见解)
- 阿里云 控制台运维命令行 快照操作方式
- 解决Centos 7 环境中 ifconfig: command not found
- 阿里云命令行 执行cloud-init --versions命令时提示“No module named 'requests.packages.urllib3'”
- 如何使用 Pyenv 在 Linux 实现 Python的完美版本控制
- Linux 下的 max_backlog参数设定
- 阿里云 控制台运维命令 集群
- 阿里云命令行 创建OSS存储Bucket
- 如何定位查找MySQL数据占用
- Linux 下的TIME-WAIT sockets参数设定