前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第十五章 yum安装

第十五章 yum安装

作者头像
晓天
发布2019-07-04 14:36:43
2.4K0
发布2019-07-04 14:36:43
举报

第十五章 yum安装

15.1 yum源配置

我们在《Linux系统》一书中介绍过yum的配置,是把光盘作为安装源操作的,配置文件在/etc/yum.repos.d/下,以.repo结尾。其实yum可以设置多个repo文件,即从多个源上下载、查找安装包。本章就来介绍一下有几种镜像源可以设置。

15.1.1 官网源

我们知道CentOS安装完毕后,/etc/yum.repos.d/中会有多个CentOS开头的repo文件,这些文件都是指向官网的,我们可以打开一个看一下:

当然,里面不只[base]一项,不过启动方式都一样。会发现里面的baseurl项被注释了,我们可以手动解注释后,把mirror行注释掉,再写入enabled=1就可以了。如果不想使用其他的,完全可以把其他项都删除。

PS:mirror指定一个镜像服务器的地址列表,通常是开启的,本例中加了注释禁用了,其实系统会自动把版本号和架构(如:i386等)加入后,指定官方可用的镜像服务器的地址列表。

其实,/etc/yum.repos.d/中的默认的除了CentOS-Base.repo以外,其他文件中的baseurl都是启用的,所以只要连网,是可以直接使用yum安装软件的,都会从官网直接下载。

15.1.2 第三方源(epel源)

除了官网源和光盘源外,还有第三方机构架设的镜像源,一般是一些非官方出台的软件,会在一些机构架设的镜像源上能够查找到。现今,网络上使用比较多的镜像源有清华tuna源、163镜像源、阿里镜像源等。

这种镜像源,配置非常简单,一般会有三种情况:

一、我们从网上下载到它们公布的epel文件,有的是rpm后缀的,安装后就会自动创建.repo文件,指向公网地址。

二、可以直接下载到.repo文件,复制到/etc/yum.repos.d/下即可使用

三、可以找到镜像源的url路径,直接写到自定义的.repo文件中的baseurl=后即可。

15.1.3 相关命令

我们都知道,yum -y install 是安装软件的命令,但其实还有很多隐藏的参数可以设置,如下:

yum --enablerepo=demo install 软件名–y ---指定使用哪个源文件

注:当/etc/yum.repos.d/下有多个.repo文件时,我们可以使用--enablerepo参数指定使用哪个源,注意,这里设置的源,不是.repo文件的名字,而是源文件里[]中设置的项名。

再来看下一个命令:

yum -y install--downloadonly --downloaddir=/mnt nagios ---仅下载,不安装,其中nagios是要下载的软件名

这个命令中,--downloadonly参数的功能是仅从设定的安装源上(可以上官网源或epel源)做软件包的下载,不真正安装,--downloaddir参数是指定下载到哪个目录中。这样我们就可以收集所需要的软件包及其依赖包了,就可以给多台主机使用了。

15.2 配置自定义镜像源

我们把所有需要的软件包,收集完整,可以自己创建一个镜像源。这种方式比较适合于企业局域网内,创建内部镜像源,供内网内其他主机使用。

创建内部镜像源的思路非常简单,可以使用web服务或ftp服务把所有软件包发布出来,然后在客户机上配置.repo文件,指向该服务器即可。下面我们来举例说明:

假设,我们人为收集的所有软件包都放在服务器的/mnt/rpms/目录下,然后在服务器上部署apache服务,我们知道,apache服务的网页默认存放位置是/var/www/html/下,所以我们可以在其下创建一个软链接,链接到/mnt/rpms/下:

ln -s /mnt/rpms /var/www/html/rpms

PS:因为apache配置文件中默认option indexes followsymlinks 都是开启的,所以软链接是可以使用的。

systemctl restart httpd ---启动httpd服务

可以在客户端打开web页面验证一下访问的成功,并可以进入到rpms目录下,看到所有安装包。

然后在/mnt/rpms/下需要生成依赖关系文件。依赖关系文件?好像之前没有讲过,那么下面我们就先来介绍一下这个文件的功能。我们知道yum的功能是安装软件时自动下载软件的依赖包并安装,那么yum怎么知道要安装的软件的依赖包都有哪些呢?其实yum是要到指定的目录下找到repodata目录,再进入该目录下读取repomd.xml的文件,这个文件中会记录安装源目录下所有包的依赖关系。yum就是根据查到的这些依赖关系逐一检查并安装依赖包的。这个repodata/repomd.xml文件,在光盘上是已经存在的,即已经事先写好了,所以我们使用光盘作为yum源时直接yum install安装就好了。但是,我们自己收集的软件包,存到/mnt/rpms/中后,并没有制作repodata/repomd.xml文件,所以yum install 是无法正确执行的。

所以,我们需要手动创建依赖关系文件,这就需要用到createrepo命令,但是这个命令可能并没有安装过,所以我们先通过光盘源yum -y install createrepo 安装上这个命令。然后执行下面命令:

createrepo -v /mnt/rpms

这个命令会自动根据目录下安装包的依赖需求,生成依赖关系文件。生成后可用ls命令查看到repodata目录及其内部文件。这样我们的http镜像源服务器就搭建好了。

在客户端主机上,我们可以编辑.repo文件,写入url路径指向就可以使用了,内容如下:

vi /etc/yum.repos.d/rpms.repo

[rpms]

name=httpd rpms

baseurl=http://192.168.10.10/rpms #指定url路径

enabled=1

gpgcheck=0

保存退出后,客户端就可以用yum install 安装服务器发布出的软件了。

同样,使用FTP服务也可以发布安装源。因为我们需要使用ftp服务的匿名用户登录,所以需要把所有软件包存放到/var/ftp/下(匿名用户默认登录目录):

mv /mnt/rpms /var/ftp/

createrepo -v /var/ftp/rpms ---同样需要创建依赖关系文件

systemctl restart vsftpd ---启动ftp服务

这样,我们的FTP安装源就部署好了。

客户机同样需要配置.repo文件,只不过里面的baseurl项设置为:

baseurl=file://192.168.10.10/rpms

客户机配置好repo文件后,也就可以yum install 安装了。

15.3 小结

本章介绍了yum安装的客户配置及服务端发布镜像源的设置。其中比较重要的是,用户需要掌握如何设置官网源、epel源、光盘源、内部共享源的设置,并且可以实现多源并存的使用。

再者,作为运维人员,我们还要掌握如何为企业内网提供web源、ftp源的支持,也就是搭建内部的web源或ftp源。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 教主小筑 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档