Linux实践篇第二期-yum的使用

  • 2020 年 4 月 10 日
  • 筆記

又到了说Linux的日子啦,上一期讲了软件包的安装,描述了解压缩以及rpm的使用方法,我们在自行下载安装包的时候拿到的主要也是这两种文件格式。但是存在的一个问题就是在进行rpm安装的时候要解决依赖的问题,说的简单一点就是在安装一个软件时,有可能需要其他软件的支持才能够正常使用,这个检测是在安装之前就进行的,如果我们没有安装所需要的软件,则在安装时就会遇到依赖错误的问题,我们必须要按照顺序安装所需要的软件包,但是,在安装缺少的软件包时可能又会遇到依赖错误的问题,如此往复下去是比较复杂的。解决这个问题的办法还是有几个的,yum即是其中之一,如果我们的服务器是接入公网的,我们使用系统默认的配置,直接使用yum命令即可安装我们自己需要的软件,yum会自动寻找依赖并下载安装。如果对于没有外网环境的服务器我们通过配置本地yum源或者机房能够访问到的镜像地址,在后文中会讲解详细的配置过程,下面我们首先来看一下系统的默认配置。

首先进入/etc/yum.repos.d目录,查看CentOS-Base.repo文件,部分内容如下

[xxxx]

定义软件源的名称,可以自定义,但要保证在该服务器上repo文件中是唯一的

name

自定义仓库的名称,可以自定义,name以及软件源的名称在yum的官网上都没有做特殊的说明,所以大家在写的时候注意软件源名称的中括号内不要有空格,并且保证唯一性就可以了。接下来比较重要的:

mirrorlist

镜像服务器的地址列表,mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os

其中$releasever代表当前服务器的版本,$basearch代表当前服务器架构,我们可以将其替换成自己服务器的信息,然后查看一下:

http://mirrorlist.centos.org/?release=6.7&arch=x86_64&repo=os

baseurl

指定一个baseurl,即源的镜像服务器地址,可以有多种形式

  1. http协议
  2. ftp协议
  3. rsync镜像服务器
  4. 本地地址(后文会以此为例)

gpgcheck

对通过该软件源下载的rpm包进行gpg校验,如果gpgcheck的值为0表示不进行gpg校验

gpgkey

定义用于校验的gpg密钥文件位置

我们可以看到,在[updates]中的镜像列表与[base]中的不同,我们可以尝试打开查看:

http://mirrorlist.centos.org/?release=6.7&arch=x86_64&repo=updates

在使用时yum会找到未失效的,可用的地址来进行下载,对于yum的核心配置大家已经了解了,这也是为自己配置来做铺垫,下面来讲一下常用的用法:

yum list installed

列出系统已安装的软件包列表,第一次运行需要下载各种库,如图:

随后就会列出已装软件包。在安装软件之前我们通常需要知道软件的具体信息,包括版本,使用search命令,搜索jdk软件包:

然后我们就可以通过拿到的完整名称使用yum install命令来进行安装,在执行安装命令时也同时会扫描相关软件的更新信息。对于yum的卸载使用的是擦除,erase命令,例如,我们要删除vim编辑器:

首先会搜索已安装软件的信息,提示将要被卸载的软件信息,按Y确认删除

更新使用update命令,可以同时加多个软件名称,大家可以自己尝试一下。

现在来讲解一下如何在自己的服务器上配置一个本地的yum源,我们使用的虚拟机的光驱中挂载的是安装系统时的光盘镜像,里面包含很多的软件包,我们以此为例来讲解一下。

首先我们将光盘挂载,虚拟机设置如下:

在linux中输入如下命令:ls -l /dev | grep cdrom

可以看到设备名称是cdrom,我们将/dev下的cdrom挂载到/misc下:

mount /dev/cdrom /misc/cd

而后我们进入/etc/yum.repos.d下新建自己的repo文件,内容如下:

这样我们就可以在本地使用yum了,快去试试吧,因为设置了不需要校验,所以也不需要指定校验文件的位置了,这次的内容比较多,希望大家能对照着进行练习,最后别忘了关注我们的公众号,啦啦啦~长按下方二维码,please.