您的位置 首页 linux 运维

nginx搭建yum源仓库(yum仓库搭建)

需求, 配置一台 中央 yum仓库, 局域网内其他服务器都可以使用。nginx搭建yum源 yum 本地仓库配置 nginx

利用 Nginx 搭建本地 YUM 源

使用createrepo命令制作一个本地内网yum仓库

需要准备一台服务器10.0.0.61

步骤:

  1. 需要安装Nginx
  2. 需要配置Nginx目录索引
  3. 安装createrepo 创建yum仓库
  4. 客户端进行测试

首先关闭防护墙或者设置规则通过且关闭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) 

 

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章