第十五章 yum安装

第十五章 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源。

本文分享自微信公众号 - 教主小筑(gh_e0879483602d),作者:教主小筑

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 第八章 软件管理

    关于光盘的挂载,之前我们已经讲过了,这里再深入介绍一点。之前我们挂载光驱使用的命令是: mount /dev/cdrom /media,我们使用ll /...

    晓天
  • 第十八章 系统常见问题&IPC

    在系统运行过程中,由于各种服务、应用、进程等长时间的运行,势必会产生各种问题,这些问题很反馈在内存的特性中,下面就来看一下几个最常见的内存故障及其解决方案。

    晓天
  • 第二章 SSH服务

    在SSH之前,一直使用telnet进行远程连接(端口为TCP:23),但由于telnet在进行数据传输时是明文传输,不安全,因此采用加密传输的ssh(端口为T...

    晓天
  • Centos 6.5环境实现本地局域网搭建YUM的方法【基于HTTP】

    本文实例讲述了Centos 6.5环境实现本地局域网搭建YUM的方法。分享给大家供大家参考,具体如下:

    砸漏
  • 隐马尔可夫模型

    原文地址:http://www.cnblogs.com/jacklu/p/6225073.html

    用户7043923
  • ARIMA模型预测CO2浓度时间序列-python实现

    时间序列为预测未来数据提供了方法。根据先前的值,时间序列可用于预测经济,天气的趋势。时间序列数据的特定属性意味着通常需要专门的统计方法。

    拓端
  • 制作局域yum源(至少有两个虚拟机)

    把/etc/yum.repos.d 文件夹下的 *.repo文件放到bk文件夹里备份 mv *.repo bk

    用户4870038
  • git提交如何忽略某些文件

    用户1741436
  • Wolfram 语言在数学建模中的应用

    本书旨在对数学建模领域进行一般性介绍,涵盖了从优化到动态系统到随机过程的广泛建模问题。强调原则和一般技术为学生提供了他们在各种学科中模拟现实问题所需的数学背景。

    WolframChina
  • 20190707

    (注:该文计划发布到DDD China知乎,看看译文哪里不太通顺?该书电子版可以在这里免费购买,只要把价格滚轮拨到0即可。)

    吾真本

扫码关注云+社区

领取腾讯云代金券