一、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 1 2 可选项:配置下次开机自动mount,编辑/etc/fstab写入开机自动mount内容
[root@yc ~]# vi /etc/fstab 1 写入以下内容
/root/CentOS-7-x86_64-DVD-1708.iso /mnt iso9660 defaults,loop,ro 0 0 1 1.2、创建本地的repo文件 编辑文件/etc/yum.repos.d/local.repo
[root@yc ~]# vi /etc/yum.repos.d/local.repo 1 写入以下内容,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源的安装,不同的版本与方法都可以实现,看自己选择哪一种了。