CentOS 7.6配置离线YUM源

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 7.6配置离线YUM源相关的知识,希望对你有一定的参考价值。

1. 背景描述

a. 现在大多数企业为安全起见,提供服务的机器一般都不直接接入公网,这样的话,安装软件及依赖包的时候,就很不方便,一般会在本地挂载iso镜像文件,从本地安装RPM软件包,如果几台服务器还好,服务器数量在几十台往上的时候,就比较浪费磁盘空间和时间了;
b. 本文就以ftp的方式,配置一个离线yum源,供局域网内服务器使用,提升运维工作效率;

2. 环境准备

a. 准备两台CentOS 7.6 x64的服务器,一台是FTP服务器,用来配置yum源;另一台是yum client,用来测试本地yum源是否正常可用;
b. 准备包含完整RPM安装包的镜像文件,本文以CentOS-7-x86_64-Everything-1810.iso镜像为例,且集成所有软件包;
c. 准备FTP服务的RPM安装包,vsftpd-3.0.2-25.el7.x86_64.rpm

3. 操作方法

3.1 关闭防火墙和selinux

3.1.1 查看系统版本信息

[root@192168088102-FTP-YUM-Source ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

3.1.2 检查并关闭防火墙

[root@192168088102-FTP-YUM-Source ~]# firewall-cmd --state
running
[root@192168088102-FTP-YUM-Source ~]# systemctl stop firewalld.service
#禁止开机自动启动防火墙
[root@192168088102-FTP-YUM-Source ~]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@192168088102-FTP-YUM-Source ~]# firewall-cmd --state
not running

3.1.3 检查并关闭selinux

[root@192168088102-FTP-YUM-Source ~]# cat /etc/sysconfig/selinux
#selinux开启状态
SELINUX=enforcing
[root@192168088102-FTP-YUM-Source ~]# vi /etc/sysconfig/selinux
#将enforcing改为disabled
SELINUX=disabled
[root@192168088102-FTP-YUM-Source ~]# cat /etc/sysconfig/selinux
#selinux关闭状态
SELINUX=disabled

#修改文件并不能当前生效,如果想生效的话,要么重启服务器要么使用如下命令临时关闭selinux
#查看当前的selinux运行状态

[root@192168088102-FTP-YUM-Source ~]# getenforce
Enforcing

#0临时关闭,1为临时开启

[root@192168088102-FTP-YUM-Source ~]# setenforce 0
[root@192168088102-FTP-YUM-Source ~]# getenforce
Permissive

#重启系统后,查看selinux和firewall状态

[root@192168088102-FTP-YUM-Source ~]# sestatus
SELinux status:                 disabled
[root@192168088102-FTP-YUM-Source ~]# firewall-cmd --state
not running

3.2 上传相关文件,并安装启动vsftp服务

#检查上传的FTP安装包和iso镜像文件

[root@192168088102-FTP-YUM-Source data]# ls -lh
total 11G
-rw-r--r--. 1 root root  11G Jul 29 00:57 CentOS-7-x86_64-Everything-1810.iso
-rw-r--r--. 1 root root 172K Jul 29 00:53 vsftpd-3.0.2-25.el7.x86_64.rpm

#检查是否安装yum服务

[root@192168088102-FTP-YUM-Source data]# rpm -qa|grep yum
yum-metadata-parser-1.1.4-10.el7.x86_64
yum-3.4.3-161.el7.centos.noarch
yum-plugin-fastestmirror-1.1.31-50.el7.noarch

#检查并安装vsftp服务

[root@192168088102-FTP-YUM-Source data]# rpm -qa|grep ftp
[root@192168088102-FTP-YUM-Source data]# rpm -ivh vsftpd-3.0.2-25.el7.x86_64.rpm
warning: vsftpd-3.0.2-25.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing...               ################################# [100%]
Updating / installing...
   1:vsftpd-3.0.2-25.el7                  ################################# [100%]
[root@192168088102-FTP-YUM-Source data]# rpm -qa|grep ftp
vsftpd-3.0.2-25.el7.x86_64

#rpm -qi vsftpd查看已安装软件的详细信息
技术图片
#启动并检查vsftp服务,不用配置vsftp文件,默认匿名访问就行

[root@192168088102-FTP-YUM-Source data]# /bin/systemctl start vsftpd.service
[root@192168088102-FTP-YUM-Source data]# /bin/systemctl status vsftpd.service
● vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2019-07-29 01:27:34 EDT; 13s ago
  Process: 21058 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
 Main PID: 21059 (vsftpd)
   CGroup: /system.slice/vsftpd.service
           └─21059 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

Jul 29 01:27:34 192168088102-FTP-YUM-Source systemd[1]: Starting Vsftpd ftp daemon...
Jul 29 01:27:34 192168088102-FTP-YUM-Source systemd[1]: Started Vsftpd ftp daemon.

#测试FTP服务是否能正常访问
技术图片

3.3 挂载镜像文件,并将文件拷贝到pub目录下

#挂载镜像文件

[root@192168088102-FTP-YUM-Source data]# mount -o loop CentOS-7-x86_64-Everything-1810.iso /mnt/
mount: /dev/loop0 is write-protected, mounting read-only

技术图片

#将/mnt目录下的文件拷贝到/var/ftp/pub/目录下

[root@192168088102-FTP-YUM-Source mnt]# cp -ar /mnt/* /var/ftp/pub/

技术图片
#检查ftp是否正常可以访问,出现以下界面,说明ftp正常
技术图片

提醒:
如果你挂载的数据盘分区格式类型ext4,你的根分区格式类型为xfs,且/var/ftp/pub/目录挂在根下面,那么会出现你从ext4所在的分区cp文件到/var/ftp/pub/目录下后,ls -al发现文件拷贝成功,但在浏览器中输入ftp://192.168.88.102/pub/ 发现没有任何文件,df -Th看下系统分区类型,建议同一个系统内的分区类型保持一致;

3.4 YUM客户端配置

3.4.1 查看系统版本,备份yum.repos.d目录下的文件

[root@192168088100-YUM-Client ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@192168088100-YUM-Client ~]# cd /etc/yum.repos.d/
[root@192168088100-YUM-Client yum.repos.d]# ll
total 32
-rw-r--r--. 1 root root 1664 Nov 23  2018 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Nov 23  2018 CentOS-CR.repo
-rw-r--r--. 1 root root  649 Nov 23  2018 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  314 Nov 23  2018 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 Nov 23  2018 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Nov 23  2018 CentOS-Sources.repo
-rw-r--r--. 1 root root 5701 Nov 23  2018 CentOS-Vault.repo
[root@192168088100-YUM-Client yum.repos.d]# mkdir bak
[root@192168088100-YUM-Client yum.repos.d]# cd bak/
[root@192168088100-YUM-Client bak]# mv ../CentOS-* ./
[root@192168088100-YUM-Client yum.repos.d]# ll
total 0
drwxr-xr-x. 2 root root 187 Jul 29 17:09 bak

3.4.2 在/etc/yum.repos.d目录下创建并配置ftp.repo文件

[root@192168088100-YUM-Client yum.repos.d]# cat ftp.repo
[yum]
#自定义名称
name=yumftp
#yum访问路径
baseurl=ftp://192.168.88.102/pub
#启用yum源,0为不启用,1为启用
enabled=1
#检查GPG-KEY,0为不检查,1为检查
gpgcheck=0

3.4.3 Client测试使用yum命令自动安装软件

#yum clean all 清除yum缓存

[root@192168088100-YUM-Client yum.repos.d]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: yum
Cleaning up list of fastest mirrors
Other repos take up 215 M of disk space (use --verbose for details)

#yum makecache 缓存本地yum源中的软件包信息
技术图片
#测试使用yum安装lrzsz软件
技术图片

以上是关于CentOS 7.6配置离线YUM源的主要内容,如果未能解决你的问题,请参考以下文章

Centos7.2 Redhat7.2 离线安装docker

Centos7.2 Redhat7.2 离线安装docker

Centos7配置本地yum源

Centos7.6 Docker离线yum源

LinuxLinux Centos 7.6 离线RPM安装NTP(时间同步)服务器及基本配置

阿里云 CentOS 7.6 yum 安装最新版 Redis6.2.4