利用Nginx搭建本地YUM源

原文链接: https://my.oschina.net/vright/blog/1858836

    在离线环境安装Linux软件,遇到依赖特别多的软件的时候,几乎没法安装,一直寻找一个方便、有效的方式解决这个问题,不要局限,不要繁琐(文件式的本地源就比较局限,其实此文和文件式原理一样),这篇文章所写的方式,暂时是我发现最简便有效的方式,此方式同样适用于zypper、apt源。如果你在安装软件的时候和我有同样的苦恼,希望此方法能够帮到你。

    首先,我们需要了解以下yum源的原理。在CentOS7下,yum源的文件全部保存在以下目录:

/etc/yum.repos.d

    随便找一个文件,发现里面的内容类似:

[cloudera-cdh5]
# Packages for Cloudera's Distribution for Hadoop, Version 5, on RedHat	or CentOS 7 x86_64
name=Cloudera's Distribution for Hadoop, Version 5
baseurl=https://archive.cloudera.com/cdh5/redhat/7/x86_64/cdh/5/
gpgkey =https://archive.cloudera.com/cdh5/redhat/7/x86_64/cdh/RPM-GPG-KEY-cloudera    
gpgcheck = 1

    有效的内容其实就key-value键值对内容。

name=名称,可以随意填写
baseurl=一个url路径
gpgkey = gpg密钥的地址
gpgcheck = 是否检查,如果0表示不检查,1表示检查

    说白了,我们需要搭建一个http服务。考虑到我的网络环境,我将服务搭建在我Win10母机上面,这样我所有虚拟机就都能访问了。局域网其他电脑同样能够访问。

    第一步:下载CentOS的Everything镜像(很大,10GB左右,毕竟包含了太多rpm包,但当你使用后,你会发现一切都是值得的)。

http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Everything-1804.iso

   第二步:加载文件

   如果你硬盘足够多,将iso文件解压到特定目录,如果你剩余硬盘空间并不多,那么推荐你直接右键->装载(Win10系统特有),如下:

0a73275c07203b468741ae20bf2cae1d040.jpg

利用Nginx搭建本地YUM源_第1张图片

  第三步:安装nginx(Windows下)

http://nginx.org/en/download.html

  第四步:编辑nginx配置文件(本人用的是1.13.6版)

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        location / {
			autoindex  on;
            root   J:/;(这里请换成你的实际目录路径)
            index  index.html index.htm;
        }
    }
}

    第五步:启动nginx

    一切搞定后,双击nginx启动服务,然后访问:http://127.0.0.1

利用Nginx搭建本地YUM源_第2张图片

第六步:创建yum repo文件

[root@node1 ~]# vim /etc/yum.repos.d/local.repo
[local]
name=local
#在虚拟机网络环境中,母机地址是这个
baseurl=http://192.168.100.1
#是否可用,1表示可用,0表示不可用
enabled=1
gpgcheck=1
gpgkey=http://192.168.100.1/RPM-GPG-KEY-CentOS-7

第七步:禁用其他repo文件

编辑其他repo文件,将enabled设置为0

……
enabled=0
……

第七步:yum相关

#清理无用源
yum clean all
#查看列表中是否存在
yum repolist
#实际安装一个软件试试看,比如httpd
yum install httpd

总结:因为本地源(严格说应该是本地http源),所以速度非常快,体验还是很不错的。同样既然nginx可以,那么httpd自然也可以。既然Windows可以搭建,那么Linux自然也可以搭建。其实原理很简单,理解其中的原理后,自由变通即可。

转载于:https://my.oschina.net/vright/blog/1858836

你可能感兴趣的:(利用Nginx搭建本地YUM源)