在一些环境下,服务器不能连接互联网,但是我们又偏偏需要安装一些软件,此时有点麻烦了。通过使用centos镜像文件,搭建yum本地源,局域网内所有服务器都可以连接这一本地源进行软件的下载和安装,下面具体讲解一下如何安装本地yum源:
1. 反向代理服务器
使用nginx作为yum源的反向代理,下面是使用压缩工具打开ISO镜像文件图片,由于需要上传到服务器,我把这个从ISO解压后的得到的文件进行了压缩-yum.tar.gz
1.1 上传到服务器
将镜像文件上传到代理服务器,解压
scp yum.tar.gz root@IP:/root
tar -zxvf yum.tar.gz
或者直接挂载ISO镜像文件到目录
//首先创建目录,作为镜像文件的挂载点
mkdir /dac //然后将ISO文件挂载
#mount -o loop -t iso9660 /Centos.iso /dac
-o 是mount命令的一个参数,Options的首字母,后面跟着mount选项
loop:用来把一个文件当成硬盘分区mount到目录
-t:指定档案系统的型态,通常不必指定。mount 会自动选择正确的型态。
1.2 修改yum源配置
vi /etc/yum.repos.d/rhel7.repo 做以下修改 [rhel-media]
name=Red Hat Enterprise Linux 7.3
baseurl=file:///root/yum # 镜像文件目录
enabled=
gpgcheck=
gpgkey=file:///root/yum/RPM-GPG-KEY-redhat-release # 镜像文件目录下的文件
1.3 安装nginx
1. 安装依赖
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel openssl openssl-devel gcc
2. 编译安装
tar -zxvf nginx-1.10..tar.gz cd nginx-1.10. ./configure \
--prefix=/usr \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--user=root \
--group=root \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre make && make install
3. 配置nginx
vim /etc/nginx/nginx.conf location / {
root /root/yum;
autoindex on;
}
4. nginx重新加载配置
nginx -s reload
5. yum client配置
其他有下载需求的服务器,需要作为client的角色,做以下配置去连接nginx
vi /etc/yum.repos.d/rhel7.repo [rhel-media]
name=Red Hat Enterprise Linux 7.3
baseurl=http://172.31.10.1/ # 指向反向代理yum
enabled=
gpgcheck=
gpgkey=http://172.31.10.1/RPM-GPG-KEY-redhat-release
此时,局域网内的服务器可以下载软件了,并且速度也很快!