CentOS 7下配置本地yum源及yum客户端

简介: Linux下对于软件包的管理使用rpm管理方式。直接使用rpm包管理工具来进行rpm包的安装,升级,卸载时,对于最让人头疼的莫过与包之间的依赖关系。

Linux下对于软件包的管理使用rpm管理方式。直接使用rpm包管理工具来进行rpm包的安装,升级,卸载时,对于最让人头疼的莫过与包之间的依赖关系。yum作为一个rpm包前端管理工具,可以自动处理依赖性关系,一次安装所有依赖的软件包,并且支持在线下载、安装、卸载、升级rpm软件包。本文主要描述基于本机,本地yum服务器配置yum源,以及基于公网yum源配置本地客户端,供大家参考。

一、yum源实现的三个机制

1、需要有一个包含各种rpm安装文件的软件仓库(即yum源)
2、有软件仓库的仓库数据库(repodata),其中收集了软件仓库中所有rpm包的头部信息(每个rpm包的包头信息包含了该包的描述,功能,提供的文件,依赖关系等信息);
3、有软件仓库的地址等信息

二、配置本地yum源

创建rpm包文件存放目录及复制相关文件
  # mkdir -pv /mnt/CentOS7_ISO
  # cd /run/media/robin/CentOS\ 7\ x86_64/
  # cp -R * /mnt/CentOS7_ISO/

修改yum源repo文件配置
  # cd /etc/yum.repos.d/
  # mkdir old
  # mv *.repo old

编辑repo配置文件
  # vi /etc/yum.repos.d/local.repo 
  [local-media]
  name=CentOS-$releasever - Media
  baseurl=file:///mnt/CentOS7_ISO/
  gpgcheck=0
  enabled=1
  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

清空yum缓存目录
  [root@centos7-router yum.repos.d]# yum clean all
  Loaded plugins: fastestmirror, langpacks
  Cleaning repos: local-media
  Cleaning up everything
  Cleaning up list of fastest mirrors

生成yum元数据
  [root@centos7-router yum.repos.d]# yum makecache
  Loaded plugins: fastestmirror, langpacks
  local-media                                                                        | 3.6 kB  00:00:00    
  (1/4): local-media/group_gz                                                      | 155 kB  00:00:00    
  (2/4): local-media/primary_db                                                    | 2.8 MB  00:00:00    
  (3/4): local-media/other_db                                                      | 1.2 MB  00:00:00    
  (4/4): local-media/filelists_db                                                  | 2.9 MB  00:00:00    
  Determining fastest mirrors
  Metadata Cache Created  ###提示元数据缓存创建成功

查看本机yum repo 仓库
  [root@centos7-router ~]# yum repolist
  Loaded plugins: fastestmirror, langpacks
  Loading mirror speeds from cached hostfile
  repo id                                               repo name                    status
  local-media                                        CentOS-7 - Media                   3,723
  repolist: 3,723

二、基于ftp方式配置本地yum发布源

为本机配置ftp服务器,将其发布供网络其它客户端作为yum源

安装vsftp
  [root@centos7-router ~] # yum -y install vsftpd
  [root@centos7-router ~] # vi /etc/selinux/config
      SELINUX=disabled
  [root@centos7-router ~] # setenforce 0  ###立即生效

修改ftp配置文件
  [root@centos7-router ~] # vi /etc/vsftpd/vsftpd.conf
  anon_root=/mnt/CentOS7_ISO

启动ftp
  [root@centos7-router ~]# systemctl start vsftpd
  [root@centos7-router ~]# systemctl enable vsftpd

测试ftp服务可用性
  [root@centos7-router ~]# ftp localhost
  Trying ::1...
  Connected to localhost (::1).
  220 (vsFTPd 3.0.2)
  Name (localhost:root): anonymous
  331 Please specify the password.
  Password:
  230 Login successful.
  Remote system type is UNIX.
  Using binary mode to transfer files.
  ftp> ls
  229 Entering Extended Passive Mode (|||41973|).
  150 Here comes the directory listing.
  -r--r--r--    1 0        0              14 Sep 14 09:06 CentOS_BuildTag
  dr-xr-xr-x    3 0        0              33 Sep 14 09:06 EFI  ### Author : Leshami 
  -r--r--r--    1 0        0            215 Sep 14 09:06 EULA ###  Blog : http://blog.csdn.net/leshami 
  -r--r--r--    1 0        0          18009 Sep 14 09:06 GPL
  dr-xr-xr-x    2 0        0              41 Sep 14 09:06 LiveOS
  dr-xr-xr-x    2 0        0          200704 Sep 14 09:08 Packages
  -r--r--r--    1 0        0            1690 Sep 14 09:08 RPM-GPG-KEY-CentOS-7
  -r--r--r--    1 0        0            1690 Sep 14 09:08 RPM-GPG-KEY-CentOS-Testing-7
  -r--r--r--    1 0        0            2883 Sep 14 09:08 TRANS.TBL
  dr-xr-xr-x    3 0        0              54 Sep 14 09:06 images
  dr-xr-xr-x    2 0        0            4096 Sep 14 09:06 isolinux
  dr-xr-xr-x    2 0        0            4096 Sep 14 09:08 repodata
  226 Directory send OK.

配置防火墙
  [root@centos7-router ~]# firewall-cmd --add-service=ftp --permanent
  [root@centos7-router ~]# firewall-cmd --add-service=ftp
  [root@centos7-router ~]# systemctl reload firewalld.service

三、基于http方式配置本地yum发布源

除了支持ftp方式外,也可以通过http方式将其发布供网络其它客户端作为yum源

安装httpd
  [root@centos7-router ~]# yum install httpd
  [root@centos7-router ~]# systemctl enable httpd
  [root@centos7-router ~]# systemctl start httpd

配置防火墙
  [root@centos7-router ~]# firewall-cmd --add-service=http --permanent
  [root@centos7-router ~]# firewall-cmd --add-service=http
  [root@centos7-router ~]# systemctl reload firewalld.service

将CentOS 光盘文件copy到/var/www/html/repo
此处使用了链接方式,将其链接到已经在本地磁盘的/mnt/CentOS7_ISO
  [root@centos7-router ~]# ln -sv /mnt/CentOS7_ISO /var/www/html/repo
  ‘/var/www/html/repo’ -> ‘/mnt/CentOS7_ISO’
  [root@centos7-router ~]# ls /var/www/html/repo
  CentOS_BuildTag EULA images LiveOS repo RPM-GPG-KEY-CentOS-7 TRANS.TBL
  EFI GPL isolinux Packages repodata RPM-GPG-KEY-CentOS-Testing-7

通过浏览器校验,此时应该可以看到文件列表(此处略) http://192.168.1.175/repo  

四、配置本地网络yum源客户端(ftp方式)

配置客户端
  [root@centos7-web ~]# cd /etc/yum.repos.d/
  [root@centos7-web ~]# mkdir old
  [root@centos7-web ~]# mv *.repo old

  [root@centos7-web yum.repos.d]# vi /etc/yum.repos.d/intranet.repo
  [intranet-media]                                    #库名称
  name=CentOS-$releasever - Media    #名称描述
  baseurl=ftp://172.24.8.254                   #yum源目录,源地址
  gpgcheck=0                                         #检查GPG-KEY,0为不检查,1为检查
  enabled=1                                            #是否用该yum源,0为禁用,1为使用 
  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7  #gpgcheck=0时无需配置 

  [root@centos7-web yum.repos.d]# yum clean all
  [root@centos7-web yum.repos.d]# yum makecache
  [root@centos7-web yum.repos.d]# yum repolist
  Loaded plugins: fastestmirror, langpacks
  Loading mirror speeds from cached hostfile
  repo id                     repo name                         status
  intranet-media              CentOS-7 - Media                               3,723
  repolist: 3,723

测试yum配置
  [root@centos7-web yum.repos.d]# yum install ftp -y

四、配置本地网络yum源客户端(http方式)

配置客户端repo文件
  [root@centos7-web ~]# mv /etc/yum.repos.d/intranet.repo /etc/yum.repos.d/old/
  [root@centos7-web ~]# yum-config-manager --add-repo=http://192.168.1.175/repo
  Loaded plugins: fastestmirror, langpacks
  adding repo from: http://192.168.1.175/repo

  [192.168.1.175_repo]
  name=added from: http://192.168.1.175/repo
  baseurl=http://192.168.1.175/repo
  enabled=1

  [root@centos7-web ~]# yum clean all
  Loaded plugins: fastestmirror, langpacks
  Cleaning repos: 192.168.1.175_repo
  Cleaning up everything
  Cleaning up list of fastest mirrors

  [root@centos7-web ~]# yum makecache
  Loaded plugins: fastestmirror, langpacks
  192.168.1.175_repo | 3.6 kB 00:00:00
  (1/4): 192.168.1.175_repo/group_gz | 155 kB 00:00:00
  (2/4): 192.168.1.175_repo/primary_db | 2.8 MB 00:00:00
  (3/4): 192.168.1.175_repo/other_db | 1.2 MB 00:00:00
  (4/4): 192.168.1.175_repo/filelists_db | 2.9 MB 00:00:01
  Determining fastest mirrors
  Metadata Cache Created

  [root@centos7-web ~]# yum repolist
  Loaded plugins: fastestmirror, langpacks
  Loading mirror speeds from cached hostfile
  repo id repo name status
  192.168.1.175_repo added from: http://192.168.1.175/repo 3,723
  repolist: 3,723

五、配置阿里云、epel yum源客户端

# wget -O /etc/yum.repos.d/aliyun.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# rpm -Uvh http://mirrors.kernel.org/fedora-epel/epel-release-latest-7.noarch.rpm 
# yum makecache

六、虚拟机环境直接使用iso文件充当yum源(补充@20171110)

如下为光盘iso文件路径,可以直接将其配置到baseurl,最大的好处是,可以节省虚拟机磁盘空间占用。如下:
baseurl=”file:///run/media/robin/CentOS 7 x86_64”

目录
相关文章
|
5天前
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
54 25
|
1月前
|
缓存 Linux
CentOS-6的iso下载地址镜像yum源
通过上述步骤,您可以成功下载CentOS 6的ISO镜像文件,并配置适用于CentOS 6的YUM源。尽管CentOS 6已经停止更新,但使用这些镜像和YUM源配置,可以继续在需要的环境中使用和维护CentOS 6系统。
391 20
|
1月前
|
Java
CentOS7.8配置Adoptium-Java17运行环境
本指南介绍如何设置清华镜像源并安装 Temurin-17-JRE 运行环境。首先,编辑 `/etc/yum.repos.d/adoptium.repo` 文件,配置清华镜像源。接着,使用 `yum install -y temurin-17-jre` 命令安装 Temurin-17-JRE,并通过 `java --version` 验证安装成功。相关配置和操作界面截图附后。
55 8
|
1月前
|
网络协议 Java 应用服务中间件
centos7环境下tomcat8的安装与配置
本文介绍了在Linux环境下安装和配置Tomcat 8的详细步骤。首先,通过无网络条件下的文件交互软件(如Xftp 6或MobaXterm)下载并解压Tomcat安装包至指定路径,启动Tomcat服务并测试访问。接着,修改Tomcat端口号以避免冲突,并部署Java Web应用项目至Tomcat服务器。最后,调整Linux防火墙规则,确保外部可以正常访问部署的应用。关键步骤包括关闭或配置防火墙、添加必要的端口规则,确保Tomcat服务稳定运行。
|
1月前
|
Linux
CentOs9 yum源出现404问题
CentOs9-stream yum源出现404问题
|
2月前
|
缓存 Linux
解决CentOS 7停止更新后yum源失效问题【图文教程】
以上步骤完成后,你的 CentOS 7 系统就会使用阿里云的 yum 源,更换yum以后就可以正常使用啦。
2131 2
|
Linux
解决CentOS yum安装Mysql8提示“公钥尚未安装”或“密钥已安装,但是不适用于此软件包”的问题
解决CentOS yum安装Mysql8提示“公钥尚未安装”或“密钥已安装,但是不适用于此软件包”的问题
4498 0
|
6月前
|
关系型数据库 MySQL Linux
在CentOS上使用yum安装与使用MySQL
在CentOS操作系统上使用yum包管理器安装和配置MySQL数据库的详细步骤,包括下载MySQL的yum源配置、安装MySQL服务、启动和停止服务、设置开机自启动、获取临时密码、修改root用户密码、授权用户以及处理相关问题。同时,文章还包含了一些操作的截图,帮助用户更直观地理解安装和配置过程。
1887 0
在CentOS上使用yum安装与使用MySQL
|
9月前
|
关系型数据库 MySQL Linux
CentOS 7.4下使用yum安装MySQL5.6
CentOS 7.4下使用yum安装MySQL5.6
378 0
|
6月前
|
网络协议 Linux
CentOS7 yum安装报错“Could not resolve host: mirrorlist.centos.org;"之解决办法(换源)
CentOS7 yum安装报错“Could not resolve host: mirrorlist.centos.org; Name or service not known“之解决办法(换源)

热门文章

最新文章