在企业实际生产应用场景中服务器一般都上百台,而且可能大部分不能访问外网,我们可以把外网的YUM源中的所有软件包同步至本地(局域网内部使用的YUM源服务器),可以完善本地YUM源的软件包数量及完整性,给其它服务器提供软件的安装是非常有必要的。
获取外网YUM源软件常见方法包括Rsync、Wget、Reposync,三种同步方法的区别Rsync方式需要外网YUM源支持RSYNC协议,Wget可以直接获取,而Reposync可以同步几乎所有的YUM源,下面以Reporsync为案例,同步外网YUM源软件至本地,步骤如下:
一、安装apache或nginx提供web服务
# 安装yum的扩展包:
yum install yum-utils -y
# 自动配置国内epel仓库:
yum-config-manager --add-repo=https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/
#修改epel仓库文件为
vim yum.repos.d/mirrors.tuna.tsinghua.edu.cn_epel_7_x86_64_.repo
name=added from: https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/
baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/
enabled=1
gpgcheck=0
#安装nginx
yum install nginx -y
二、下载CentOS7 REPO文件至/etc/yum.repos.d/,并安装reposync命令工具:
#切换到目录
cd /etc/yum.repod
#下载CentOS7 REPO文件
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
#安装reposync
yum install yum-utils createrepo -y
#例出所有yum源
yum repolist
三、通过通过reposync命令工具获取外网YUM源所有软件包,-r指定repolist id,默认不加-r表示获取外网所有YUM软件包(下载时间比较长些),-p参数表示指定下载软件的路径
(这里的 base、 updates、extras 是 REPO 文件里的yum源仓库标识)
#删除nginx的发布目录下的所有文件
rm -rf /usr/share/nginx/htm/*
reposync -r base -p /usr/share/nginx/html/centos/ #这里的路径是Nginx的发布路径
reposync -r updates -p /usr/share/nginx/html/centos/#这里的路径是Nginx的发布路径
reposync -r extras -p /usr/share/nginx/html/centos/#这里的路径是Nginx的发布路径
四、通过reposync工具下载完所有的软件包之后,需要执行createrepo更新本地YUM仓库(时间看下载的大小)
createrepo /usr/share/nginx/html/centos/
同时将163的key和可以下载文件拷贝到该目录 /usr/share/nginx/html/centos/ 下
五、修改nginx配置文件 nginx.conf
vim /etc/nginx/nginx.conf
#增加autoindex on 允许列出整个目录
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;
include /etc/nginx/default.d/*.conf;
location / {
autoindex on;
}
六、重启Nginx
nginx -s reload
在浏览器上访问服务IP,效果展示
七、在局域网另外的服务器配置yum 源
[root@localhost ~]# vim /etc/yum.repos.d/my.repo
[test]
name=mytest
baseurl=http://192.168.2.103/centos/
gpgcheck=1
gpgkey=http://192.168.2.103/centos/RPM-GPG-KEY-CentOS-7
八、生成缓存和查看配置的源信息
[root@localhost yum.repos.d]yum makecache
Loaded plugins: fastestmirror
base | 2.9 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/6): base/filelists_db | 472 kB 00:00:00
(2/6): extras/filelists_db | 472 kB 00:00:00
(3/6): base/other_db | 242 kB 00:00:00
(4/6): extras/other_db | 242 kB 00:00:00
(5/6): updates/filelists_db | 472 kB 00:00:00
(6/6): updates/other_db | 242 kB 00:00:00
Loading mirror speeds from cached hostfile
Metadata Cache Created
yum 相关命令
一、更新元数据
#yum makecache
二、查看已安装的yum源
#yum repolist
三、清除yum源、更新
#yum clean all
#yum clean metadata
#yum clean dbcache
#yum update
#yum upgrade