很多时候,我们需要通过yum(rpm)在线安装一些软件,然而出于安全考虑很多机器并不能直接访问外网,因此自己搭建YUM源就显得十分必要了。今天就介绍一下如何基于ISO镜像构建自己的YUM源。
【必要条件】
一个webserver:采用nginx,因为nginx比较简单。也可以采用apache。
一个iso镜像文件。
下载最新的nginx源码,然后进行编译,nginx编译还是比较容易,应该不会出现问题。
【服务端配置】
一、挂载iso
iso文件需要挂载到一个目录中,执行下面操作
[root@aaa ~]# mkidr /mnt/iso
[root@aaa ~]# mount CentOS-7-AltArch-ppc64-Everything-1708.iso /mnt/iso/
[root@aaa ~]# ls /mnt/iso
boot EULA GPL images LiveOS Packages ppc repodata RPM-GPG-KEY-CentOS-7 RPM-GPG-KEY-CentOS-SIG-AltArch-7-ppc64 TRANS.TBL
[root@aaa ~]#
二、nginx配置
修改文件/usr/local/nginx/conf/nginx.conf(默认安装路径,根据实际裁定),nginx同时支持http和https两种协议,为了简单我们采用http方式。修改http->server->location即可,具体修改:
location / {
root /mnt/iso/;
autoindex on;
index index.html index.htm;
}
【客户端配置】
一、修改YUM配置源
[root@localhost ~]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# cp CentOS-Base.repo CentOS-Base.repo.bak
修改Centos-Base.repo文件:
[base]
name=CentOS-$releasever - Base
baseurl=http://192.168.122.1/
gpgcheck=1
gpgkey=http://192.168.122.1/RPM-GPG-KEY-CentOS-7
http://192.168.122.1/RPM-GPG-KEY-CentOS-SIG-AltArch-7-$basearch
说明:
1)Ip地址192.168.122.1是mount iso所在机器的ip地址,如果是本机mount的可以设置成127.0.0.1
2)RPM-GPG-KEY-CentOS-7和RPM-GPG-KEY-CentOS-SIG-AltArch-7-$basearch,实则是文件名称,可查看iso文件内容,请以实际为准
[updates]和[extras]这两个Action设置成disable状态,在这两个Action中增加:enabled=0
二、更新仓库
[root@localhost yum.repos.d]# yum repolist
Loaded plugins: fastestmirror
base | 3.6 kB 00:00:00
(1/2): base/group_gz | 125 kB 00:00:03
(2/2): base/primary_db | 5.2 MB 00:00:05
Determining fastest mirrors
repo id repo name status
base CentOS-7 - Base 8,649
repolist: 8,649
[root@localhost yum.repos.d]#
【验证】
启动nginx,通过浏览器验证:
通过命令行安装软件: