博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CentOS 7下配置本地yum源及yum客户端
阅读量:7064 次
发布时间:2019-06-28

本文共 7269 字,大约阅读时间需要 24 分钟。

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”

你可能感兴趣的文章
蕾丝 | 内外皆精致的女子
查看>>
人工智能与勒索病毒较量,你猜最后谁能赢了?
查看>>
前端面试每日3+1(周汇总2019.05.05)
查看>>
SQL Join 图示
查看>>
RPA:制造业的下一个改变者
查看>>
VSCode Python开发环境配置
查看>>
208道 java 高频面试题和答案
查看>>
nginx反向代理配置
查看>>
MySQL学习笔记 初学基础篇
查看>>
一步步教你用 CSS 为 SVG 添加过滤器
查看>>
TeeChart Pro VCL/FMX教程(一):入门——构建图表
查看>>
微服务架构 SpringCloud(二)Eureka(服务注册和服务发现基础篇)
查看>>
oracle RAC的客户端HA配置
查看>>
VsCode编辑器
查看>>
spring cloud开发、部署注意事项
查看>>
又一款基于BCH开发出来的社交软件BlockPress
查看>>
ttlsa教程系列之mongodb——(五)mongodb架构-复制原理&复制集
查看>>
虚拟主机通过修改.htaccess将入口重定向到public文件夹
查看>>
nginx快速安装
查看>>
Kinect for windows的脸部识别
查看>>