基于Nginx本地Yum仓库的搭建 |
您所在的位置:网站首页 › 搭建镜像仓库的软件下载 › 基于Nginx本地Yum仓库的搭建 |
基于Nginx本地Yum仓库的搭建
在RHEL及Centos系列linux发行版中,Yum是我们安装软件包最为常用的工具,相较于单独安装单个软件包的rpm工具,Yum能够自动获取各个软件包之间的依赖关系并且能够一并下载安装,非常的简单方便。但是Yum工具非常依赖Yum工具获取软件包的目录,通常是在线的各大镜像站点,我们称之为Yum仓库。 但有时在工作中,我们可能很难实时接触到互联网,或者从流量成本考虑,反复从互联网下载软件包花费大而且占用带宽,此时,构建本地Yum仓库会是个不错的选择。本文将介绍如何构建本地Yum仓库,并通过Ningx搭建的Http服务分发出去。 基于在线镜像站点创建Repo文件Yum工具需要依靠Repo文件得到Yum仓库的基本信息,例如仓库路径,仓库标志。我们首先需要根据在线的镜像站点创建一个Repo文件,而且只能在指定的路径/etc/yum.repos.d/下创建,否则Yum将无法识别该文件。 [root@node1 ~]#cd /etc/yum.repos.d [root@node1 yum.repos.d]#ls repobackup selfbuild.repo [root@node1 yum.repos.d]#touch test.repo [root@node1 yum.repos.d]#ls repobackup selfbuild.repo test.repo以在线Mariadb仓库为例: [root@node1 yum.repos.d]#cat test.repo [Mariadb] name= Mariadb Local Repository baseurl= https://mirrors.ustc.edu.cn/mariadb/yum/10.2/centos/7/x86_64/ gpgcheck= 0 enabled= 1 [root@node1 yum.repos.d]#yum repolist all Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile repo id repo name status CDRom cdrom enabled: 9,363 EPEL epel-aliyun enabled: 12,131 Mariadb Mariadb Local Repository enabled: 14 repolist: 21,508这样mariadb的在线仓库就能够投入使用了,但这不是我们的目的,我们需要通过这个在线仓库获取仓库内的所有软件包。 安装必要工具包在构建本地Yum仓库时需要用到两个工具reposync和createrepo,分别来自yum-utils包和createrepo包。reposync用于同步远程Yum仓库至本地路径,createrepo用于生成安装包元数据信息。直接使用现有的在线EPEL源安装即可 [root@node1 yum.repos.d]#yum -y install yum-utils createrepo [root@node1 yum.repos.d]#reposync --help Usage: Reposync is used to synchronize a remote yum repository to a local directory using yum to retrieve the packages. /usr/bin/reposync [options] …… …… [root@node1 yum.repos.d]#createrepo --help Usage: genpkgmetadata.py [options] …… …… 同步在线仓库的软件包文件至本地在本地创建一个目录专门用于存放软件包构建Yum仓库,然后使用reposync同步在线仓库的软件包至本地。reposync的使用格式为reposync -g -m -r REPO-ID -p PATH,REPO-ID为需要同步的Yum仓库的标志,PATH为本地目录。 [root@node1 yum.repos.d]#mkdir /app/repository [root@node1 yum.repos |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |