centos 利用nginx搭建自己的yum仓库


场景:

  自己的rpm包构建好了,但是别人要怎么去下载呢?liunx其实也有那种软件市场的,例如:https://centos.pkgs.org/。但是我没找到上传rpm包的入口,而且自己的rpm也做的一般,但是给自己用还是会方便一些。

解决:

  1.服务端

    这里我用的是nginx做页面

    首先,先下载yum仓库安装工具

yum install -y createrepo

    然后,建立一个路径,用来放rpm包,这里我用的是/mirror/centos/x86_64/7/packages.

    然后,安装nginx,这里不讲怎么安装,记录一下nginx的配置,如下:

server {
        listen       80;
        server_name  localhost;

        charset utf-8;

        #access_log  logs/host.access.log  main;

        location / {
            root   /mirror/;
            autoindex on;
            autoindex_exact_size off;
            autoindex_localtime on;

        }

    然后,建立yum仓库:

createrepo -pdo /mirror/centos/x86_64/7/packages

    最后,每次有rpm包更新,都要用这个语句:

createrepo -pdo yum仓库路径

    结果如下:

     可以看到自己的rpm包了。

  2.客户端

    客户端只需要更换yum源,或者直接去服务端下载rpm然后手动安装就可以了。这里讲一下怎么更换yum源。

    首先,repo文件一般都在/etc/yum.repos.d/下

 cd /etc/yum.repos.d/

    然后最好先备份原来的yum源

mv CentOS-Base.repo CentOS-Base.repo.bak

    然后,新建自己的yum源,

vi repo_http

    文件内容,这里的baseurl用自己客户端的url就可以了:

     然后可以用以下语句清理yum,查看自己rpm包是否能看到

yum clean all
yum update
yum makecache
yum repolist #查看yum源中是否有软件包

  可以看到如下结果,里面有5个rpm包。

  然后客户端就可以用yum install bigdata来下载自己的rpm包了,如下:

参考:

  https://www.cnblogs.com/mython/p/10898461.html

  https://blog.csdn.net/a457801170/article/details/109365399