需要用到reposync和createrepo两个命令,若没有这样安装:
shell> yum install -y yum-utils
shell> yum install -y createrepo
很多工具软件的下载地址都在国外,大部分时间速度不敢恭维,而且有时候我们的某些机器并不能访问外网;
这时候最好的解决方式就是搭建一个本地Yum源仓库,只需要通过外网下载一次,局域网其他机器走内网即可完成安装;
本文以Saltstack-3001.1为例,在一台能通外网的机器上部署其本地仓库。
首先配置Saltstack的官方源:
shell> yum install -y https://repo.saltstack.com/py3/redhat/salt-py3-repo-3001-1.el7.noarch.rpm
shell> yum repolist
源标识 源名称 状态
salt-py3-3001/x86_64 SaltStack 3001 Release Channel for Python 3 RHEL/Centos 7 12
创建仓库路径,然后使用reposync将远程仓库salt-py3-repo-3001同步到本地:
shell> mkdir -p /mydata/yum-repo
shell> cd /mydata/yum-repo
shell> reposync -r salt-py3-3001 # 可以加上-u参数只查看要下载的文件列表,确认没问题再执行下
注:reposync是推荐的方式,用其他途径获得rpm包丢进去是一样的,要注意依赖的包全不全
下载完成后,本地保存路径是:/mydata/yum-repo/salt-py3-3001,在该处建立仓库:
shell> cd /mydata/yum-repo/salt-py3-3001
shell> createrepo . # 目录下会新增一个repodata文件夹保存仓库元数据
这样,一个本地的salt-py3-3001仓库建立完毕。
在为局域网其他机器提供服务前,先在本机上测试下。
首先删除官方源并清理缓存:
shell> yum remove -y salt-py3-repo-3001
shell> yum clean all
创建一个文件:/etc/yum.repos.d/local-salt-3001.repo(文件名随意),内容如下:
[local-salt-3001]
name=SaltStack 3001 Release Channel for Python 3 RHEL/Centos $releasever
baseurl=file:///mydata/yum-repo/salt-py3-3001
enabled=1
gpgcheck=0
建立缓存,并查看本地仓库中的salt-minion信息:
shell> yum makecache
shell> yum info salt-minion
可安装的软件包
名称 :salt-minion
架构 :noarch
版本 :3001.1
发布 :1.el7
大小 :39 k
源 :local-salt-3001
简介 : Client component for Salt, a parallel remote execution system
网址 :http://saltstack.org/
协议 : ASL 2.0
描述 : The Salt minion is the agent component of Salt. It listens for instructions
: from the master, runs jobs, and returns results back to the master.
: Supports Python 3
测试通过。
这里选择nginx提供服务,安装:
shell> wget http://nginx.org/packages/rhel/7/x86_64/RPMS/nginx-1.18.0-1.el7.ngx.x86_64.rpm
shell> yum install -y ./nginx-1.18.0-1.el7.ngx.x86_64.rp
修改配置文件/etc/nginx/conf.d/default.conf:
location / {
autoindex on; # 显示目录
autoindex_exact_size on; # 显示文件大小
autoindex_localtime on; # 显示文件时间
root /mydata/yum-repo;
}
通过浏览器或curl命令访问:http://[IP地址]:[端口]/salt-py3-3001/,内容如下:
至此配置nginx提供服务完成。
在局域网内找一台未安装saltstack的机器,创建一个文件:/etc/yum.repos.d/local-salt-3001.repo,内容如下(与上文的区别只有baseurl):
[local-salt-3001]
name=SaltStack 3001 Release Channel for Python 3 RHEL/Centos $releasever
baseurl=http://[IP地址]:[端口]/salt-py3-3001/
enabled=1
gpgcheck=0
这样就可以通过本地仓库安装saltstack了:
shell> yum install -y salt-master salt-minion
若需要增加其他工具软件的本地源,在/mydata/yum-repo下新建并同步,然后配置/etc/yum.repos.d/local-[其他软件].repo即可。
OVER
原文:https://www.cnblogs.com/toSeek/p/13692484.html