一、Linux下本地YUM源配置
本地yum源依赖于python解析,请确保系统的python和yum组件安装成功
1.1、挂载本地ISO镜像
上传ISO镜像至系统目录/root,使用mount命令挂载镜像至/mnt
[root@yc ~]# mount /root/CentOS-7-x86_64-DVD-1708.iso /mnt
mount: /dev/loop0 is write-protected, mounting read-only
可选项:配置下次开机自动mount,编辑/etc/fstab写入开机自动mount内容
[root@yc ~]# vi /etc/fstab
写入以下内容
/root/CentOS-7-x86_64-DVD-1708.iso /mnt iso9660 defaults,loop,ro 0 0
1.2、创建本地的repo文件
编辑文件/etc/yum.repos.d/local.repo
[root@yc ~]# vi /etc/yum.repos.d/local.repo
写入以下内容,file后面的/mnt目录与上一节中ISO挂载目录保持一致
[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0
1.3、修改yumRepo.py文件
根据系统python版本编辑yumRepo.py
Linux6自带python版本2.6,编辑以下文件
[root@yc ~]# vi /usr/lib/python2.6/site-packages/yum/yumRepo.py
Linux7自带python版本2.7,编辑以下文件
[root@yc ~]# vi /usr/lib/python2.7/site-packages/yum/yumRepo.py
查找(vi编辑后输入/remote,进行查找)
remote = url + '/' +relative
修改改成
remote = url + '/mnt' + relative
1.4、现在即可使用本地的YUM进行安装软件
yum -y install xxx
yum group list hidden
yum groupinstall “X Window System”
二、Linux下局域网YUM源配置
2.1、服务端配置
本例使用CentOS7配置示例,其他类Linux系统大致相同,可以参照修改
2.1.1、yum服务端应安装以下软件
yum、createrepo、httpd,使用rpm -q httpd createrepo yum检查是否安装
[root@yc ~]# rpm -q httpd createrepo yum
httpd-2.4.6-80.el7.centos.x86_64
createrepo-0.9.9-28.el7.noarch
yum-3.4.3-154.el7.centos.noarch
如果未安装可以使用rpm -ivh或者yum安装
[root@yc ~]# yum install httpd createrepo
2.1.2、开放防火墙80端口或者关闭防火墙
CentOS7使用的防火墙为firewall,开放80端口方法如下:
[root@yc ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
success
[root@yc ~]# firewall-cmd --reload
success
[root@yc ~]# firewall-cmd --zone=public --query-port=80/tcp
yes
[root@yc ~]# firewall-cmd --zone=public --list-ports
80/tcp
可选项:关闭防火墙命令
systemctl stop firewalld.service
2.1.3、准备安装程序包
放入系统盘,将其挂载到/mnt,也可用系统光盘的iso文件,挂载到/mnt,创建/yumsource/CentOS7目录用于存放软件包:
[root@yc ~]# mkdir /yumsource/CentOS7
将光盘上所有目录下的所有软件包拷入/yumsource/CentOS7下。
[root@yc ~]# cp -a /mnt/* /yumsource/CentOS7
注:从系统盘全盘copy的程序包中自带repodata,如果是自行整理的rpm包集合,可以使用createrepo,重新创建新的repodate
createrepo /yumsource/CentOS7
2.1.4、配置Selinux权限或者关闭Selinux
如果selinux处于开启状态,执行以下命令赋予权限
[root@yc ~]# chcon -R -t httpd_sys_content_t /yumsource
或者简单粗暴关闭selinux
vim /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled,保存后退出,重启系统生效。
2.1.5、配置发布源
本例使用web服务器来提供yum的安装源的发布功能,当然也可以用ftp来实现相同的功能。
应首先安装好apache web服务器(yum install httpd),在/etc/httpd/conf/httpd.conf中进行如下配置。
[root@yc ~]# vi /etc/httpd/conf/httpd.conf
注释或删除DocumentRoot “/var/www/html”
添加:
DocumentRoot "/yumsource"
<Directory "/yumsource">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
重启http服务:
[root@yc ~]# systemctl restart httpd.service
可选项:设定开机自启动:
[root@yc ~]# systemctl enable httpd.service
使用浏览器打开验证,http://192.168.88.58/CentOS7/:
说明:在配置http的过程中如果发现不能正常访问,可能是selinux或者防火墙的原因。
2.2、客户端配置
配置repo文件
vi /etc/yum.repos.d/Server58.repo
[Server58]
name=Red Hat
baseurl=http://192.168.88.58/CentOS7/
gpgcheck=1
gpgkey=http://192.168.88.58/CentOS7/RPM-GPG-KEY-CentOS-7
现在可以使用yum以服务器192.168.88.58为源安装软件
yum clean all
yum install postgres
经过测试,以上几种方法都可以实现yum源的安装,不同的版本与方法都可以实现,看自己选择哪一种了。