需求, 配置一台 中央 yum仓库, 局域网内其他服务器都可以使用。nginx搭建yum源 yum 本地仓库配置 nginx
利用 Nginx 搭建本地 YUM 源
使用createrepo命令制作一个本地内网yum仓库
需要准备一台服务器10.0.0.61
步骤:
- 需要安装Nginx
- 需要配置Nginx目录索引
- 安装createrepo 创建yum仓库
- 客户端进行测试
首先关闭防护墙或者设置规则通过且关闭selinux
第一步: 安装 nginx
如何安装nginx 参考: https://www.baimeidashu.com/7762.html
第2步:配置Nginx目录索引
[root@m01 /etc/nginx/conf.d]#cat yum.conf
server {
listen 80;
server_name _;
root /share;
autoindex on;
autoindex_exact_size on;
autoindex_localtime on;
}
备注,解释 :
root /share ; //指定实际目录绝对路径;
autoindex on; //开启目录浏览功能;
autoindex_exact_size off; //关闭详细文件大小统计,让文件大小显示MB,GB单位,默认为b;
autoindex_localtime on; //开启以服务器本地时区显示文件修改日期!
重启 nginx
systemctl restart nginx
访问: http://10.0.0.61/ 出现上图界面,说明成功了。
第3步: 安装createrepo 创建yum仓库
1 :创建YUM存储目录
mkdir /share/packages
chown -R nginx.nginx /share/packages/
上边需要创建一个 nginx 用户: 参考步骤
2: 安装createrpo
yum -y install createrepo
3: 创建YUM存储库
createrepo /share/packages/
这个时候 我们 已经创建成功了
接下来我们测试一下, 这个需要 2步
第1 步是 把 本地 rpm包 先放到 10.0.0.61 的 /share/packages/
这个目录中
这里有2个方法:
方法1:
yum -y install --downloadonly --downloaddir /share/packages/ NetworkManager
(用yum 下载 .rpm 到本地,并且 不安装 的命令)
方法2: 先用电脑下载后,然后放入 /share/packages/ 目录
telnet-server-0.17-66.el7.x86_64.rpm:
https://url69.ctfile.com/f/253469-847126794-a7f103?p=2206
(访问密码: 2206)
以上2个方法,任选一个, 我们看一下 :
第2步: 在其他服务器上, 使用 刚才 配置的yum 仓库:
我们在web02上测试
cd /etc/yum.repos.d
mkdir bac
mv *.repo bac/
touch local.repo
[root@web02 /etc/yum.repos.d]#cat local.repo
[local]
name=local_repo
baseurl=http://10.0.0.61/packages/
enabled=1
第3步: 清空 yum 已存在的所有源信息并更新配置
yum clean all
yum makecache
yum repolist #查看yum源中是否有软件包
这里显示的5 就是 我们 rpm的数量:
第4步:测试一下是否 配置成功:
我们用 NetworkManager 这个包来测试
先检查本机是否安装,如果安装了就先卸载
rpm -qa | grep NetworkManager
yum -y remove NetworkManager
yum install NetworkManager
问题: 在 服务端 有10几个 rpm但是 客户端 无论怎么搞,就只显示5个 ,测试好几次了, 不知道卡在了哪里。(后来找到了解决方案看下边)
客户端不更新的解决方案:
先在服务端 用 createrepo 命令 重新 执行一遍
`createrepo /share/packages/`
然后在客户端,重新执行 :
yum clean all
yum makecache
yum repolist #查看yum源中是否有软件包
到此为止 成功解决
使用 案例参考:
ansible 配置 本地 yum仓库 : 连接
以下内容是废话, 自动跳过即可
3.新建一个文件夹,移走源文件yum.repo(红帽官方的源)
4.新建.repo结尾的文件 输入信息
[local] #固定格式,仓库的名字
name=local-repo (随便写)
baseurl=http://10.0.0.61/packages/
enabled=1 #开机自启
gpgcheck=0 #是否检测 0不检测 1检测
5.yum clean all && yum update && yum makecache #清理缓存并重新建立元数据
6.yum list #查看列表,如果出现红色的说明有问题
`yum update (一定要 update)`