Linux软件安装更新—yum安装

Linux 中的软件安装方式主要分为3种:源码安装方式、 RPM 安装方式和YUM 安装方式(适用于Redhat序系列),其中比较常用并且操作简便的安装方式是YUM。
YUM仍基于RPM, 但是它可以自动解决RPM 软件包间的依赖性问题,从而更轻松地管理 Linux 系统中的软件。从RHEL5 时代起,RedHat就推荐使用YUM 软件安装方式。

1、配置YUM源
采用YUM安装方式前, 必须先配置好YUM源。YUM源也称为YUM仓库(YUM repository, YUM repo), 其中存放了大量的RPM软件包, 以及与软件包相关的元数据文件。 这些元数据文件一般放置于特定的名为repodata的目录下。

设置YUM源需要配置定义文件, 定义文件必须存放在指定的“/etc/yum.repos.d/”目录中, 而且必须以“.repo”为文件名后缀。
我们通常所用的YUM源主要有两种类型: 一种来自网络上的服务器, 另一种来自本地的系统安装光盘。例如, 在CentOS 7系统的“/etc/yum.repos. d/”目录中默认已经存在很多文件名后缀为.repo的YUM源文件, 以CentOS-Base.repo为例, 这就是一个以网络上的 CentOS服务器作为YUM源的配置文件。
为了避免因系统中同时存在多个YUM源而造成混乱,建议先将系统中默认的YUM源文件全部删除。然后, 可以从http://mirrors.aliyun.com/repo/Centos-7.repo下载YUM源配置文件,并将其存放到/etc/yum.repos.d/目录中。 如果Linux系统可以访问Internet, 那么可以直接利用wget命令进行下载,并用 “-O"选项指定下载文件的存放位置。

光盘配置YUM源
挂载光驱。查看光盘的目录结构, 所有的RPM软件包都存放在“/mnt/cdrom/Packages/”目录中,但在设置YUM源时, 不能将这个目录指定为YUM源路径。这是由于按照规定, 只能将存放元数据文件的 repodata目录所在的位置指定为YUM源路径(/mnt/cdrom)。

名为“dvd. repo”的YUM源定义文件。

		[dvd]
        name=CentOS dvd
        baseurl=file:///mnt/cdrom/
        enabled=1
        gpgcheck=0

注意, 文件中“=”的左右两侧不要留有空格。
文件中各行的含义如下。
(1)[dvd]:YUM源的名称。由于系统允许同时配置多个YUM源, 因此这个名称在整个系统中必须是唯一的。名称的具体内容可自由定义。
(2)name:对YUM源的描述。这部分内容可由用户自由定义。
(3)baseurl:指定YUM源的访问路径。这是整个定义文件中最重要的一行, 访问路径可以有多种不同的表示方法。
• 指向网络中的Web服务器:baserul=http://…。
• 指向网络中的FTP服务器:baserul=ftp://…。
• 指向本地的某个目录:baserul=file://…。
“baseurl=file:///mnt/cdrom/”表示访问路径指向的是本地的“/mnt/cdrom/”目录。在同一个YUM源定义文件中可以设置多个 baseurl,即可以指定多个YUM源。在安装软件时会从这些YUM源中自动选择最新版本。如果版本都一样, 那么就选择网络开销最小的。
(4)enabled:是否启用当前的YUM源。“1”表示启用,“0”表示禁用。如果文件中没有这一行, 则系统默认为1。
(5)gpgcheck:是否检查RPM包的来源合法性。将 YUM 源定义文件中的 gpgcheck 项设为“1” 表示检查 RPM 包的数字签名, 设为“0” 则表示不检查。如果将 gpgcheck 设为1那么在 YUM 源定义文件中必须再添加一个 “gpgkey” 行, 以指定公钥的存放位置。gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-Key-CentOS-7。如果将 gpgcheck 设为0,那么无须检查数字签名,"gpgkey"行也就不必设置。

2、YUM源检测
YUM 源设置好之后, 可以执行“yum list”命令进行检测。该命令可以列出系统中已经安装的以及 YUM 源中尚未安装的所有软件包, 其中名字前面带有“@”符号的是已经安装过的软件包。如果执行 “yum list" 命令后可以列出所有软件包, 则证明 YUM 源配置正确。

     [root@mysqldb ~]# yum list
     [root@mysqldb ~]# yum list | more
     Loaded plugins: fastestmirror, langpacks
     Loading mirror speeds from cached hostfile
     Installed Packages
     GConf2.x86_64                           3.2.6-8.el7                    @anaconda
     GeoIP.x86_64                            1.5.0-13.el7                   @anaconda
     LibRaw.x86_64                           0.14.8-5.el7.20120830git98d925 @anaconda
     ModemManager.x86_64                     1.6.10-1.el7                   @anaconda
     ModemManager-glib.x86_64                1.6.10-1.el7                   @anaconda
     NetworkManager.x86_64                   1:1.12.0-6.el7                 @anaconda
     NetworkManager-adsl.x86_64              1:1.12.0-6.el7                 @anaconda
     NetworkManager-glib.x86_64              1:1.12.0-6.el7                 @anaconda
     NetworkManager-libnm.x86_64             1:1.12.0-6.el7                 @anaconda
     NetworkManager-libreswan.x86_64         1.2.4-2.el7                    @anaconda
     NetworkManager-libreswan-gnome.x86_64   1.2.4-2.el7                    @anaconda
     NetworkManager-ppp.x86_64               1:1.12.0-6.el7                 @anaconda
     NetworkManager-team.x86_64              1:1.12.0-6.el7                 @anaconda

yum list 命令也可用于查询 YUM 源中是否存在指定的软件包以及软件包版本。
yum list 命令支持使用通配符, 例如查询 YUM 源中所有名称中含有 ftp 的软件包。如果在安装软件时忘记了软件包的具体名称, 就可以通过这种方式进行查询。

   [root@mysqldb ~]# yum list *ftp*
   [root@mysqldb ~]# yum list | grep "ftp"

除yum list之外, 执行yum repolist命令可以列出系统中所有可用的YUM源, 也可以将其作为一种检测YUM源是否配置正确的方法。

 [root@mysqldb ~]# yum repolist

3、常用的YUM命令
(1)yum info-查看软件包的信息

[root@mysqldb ~]# yum info vsftpd

(2)yum install——安装软件
yum install 命令可以使用“-y”选项实现自动确认, 这样就无须与用户交互了。

[root@mysqldb ~]# yum install vsftpd

(3)yum remove——卸载软件
需要注意的是,yum remove 在卸载一个软件包的同时会将所有依赖于该软件的其他软 件包也一同卸载。

[root@mysqldb ~]# yum remove vsftpd

(4)yum clean all——清除本地缓存
YUM会自动创建本地缓存,用来存储一些 YUM 数据,以提高 YUM 的执行效率。YUM默认优先使用 YUM 缓存来获得软件的相关信息, 在大部分情况下我们无须费心管理这些数据,但如果发现YUM运行不太正常, 也许就是由于YUM缓存错误造成的, 此时就可以用“yum clean all”命令清除缓存以解决问题。

[root@mysqldb ~]# yum clean all

4、YUM故障排错
YUM方式虽然简单易用,但不少初学者在使用的过程中仍会出现一些问题。下面列出 在我们的实验环境中对YUM故障排错的思路和步骤。
(1)确认虚拟机中是否巳正确放入了系统镜像, 并且检查光盘是否已经挂载。
(2)检查YUM源定义文件是否存在错误。
YUM源文件对格式要求非常严格,其中任何一个单词或字母出现错误,都会导致问题出现。
(3)检查是否还有别的YUM源定义文件。
Linux允许在同一个系统中同时配置并启用多个YUM源,但是必须要保证这些YUM 源都是正确的,如果其中任何一个YUM源出现错误, 那么都会导致无法正常安装软件。
(4)用“yum clean all”命令清除缓存。
(5)执行“yum list”命令检测能否正确列出YUM源中的软件包。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ben@dw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值