yum仓库管理

本文详细介绍了CentOS系统中yum仓库的管理,包括在线与离线使用,如查询、安装、升级、卸载软件包,以及如何配置和使用本地光盘yum源。yum作为RPM包管理器,能自动处理依赖关系,简化软件安装过程。文章还提到了yum源的配置文件解析,以及如何创建和验证自定义yum源。
摘要由CSDN通过智能技术生成

yum在线管理

  rpm包的管理分为 rpm命令管理和yum在线管理,rpm命令管理由于可能需要解决各种依赖问题,在安装软件的时候可能显得比较麻烦,然而,yum在线管理正好和它相反。Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。SO,SO,SO它用起来是相当的方便,特别适合初学者使用。 不过yum的安装源可以是网上的,也可以是光盘上的呢,要是我们使用网络上的yum源,那么,这些yum源来自于哪里呢?在我们的/etc/yum.repo.d/目录下,我们可以看到我们可以使用的yum源,如果/etc/yum.repos.d/里的所有文件不改动,默认启用网络yum源,如果把除CentOS-Media.repo以外的yum源暂时修改,并将CentOS-Media.repo里面的内容做下修改,就能启用本地光盘yum源

一般,只要我们的网络连通,  上面的yum源都是合法的yum源。一般在有网络的情况下,默认会从“Base”yum源中下载我们需要的rpm包以及各种依赖包进行自动安装,在没有网络的情况下,则会选择“Media”yum源——本地光盘yum源.

/etc/yum.repos.d/
CentOS-Base.repo
CentOS-Debuginfo.repo
CentOS-Media.repo
CentOS-Vault.repo

其中CentOS-Base.repo用于网络yum源的配置
CentOS-Media.repo 用于光盘yum源的配置


 

除了上面的方法外,我们还可以自己手动写一个yum源配置,方法十分的简单,首先我们要在 创建一个后缀为repo的文件,至于这个文件的名字,我们可以自己随意起名,比如我起的名字是:

[root@CT71 ~]#vim locate.repo

接下来我们需要知道在这个文件里面都写什么东西:

[base]        容器名称,一定要放在[]里(必须写,一般第一个我们默认写成base)
name         容器说明,可以自己写(可以不写)
mirrorlist      镜像站点,可以注释掉(可以不写)
baseurl      我们yum源的地址。默认是centOS官方的yum源服务器,是可以使用的(必须写)
enabled       如果enabled=1或者不写,此容器都是生效的,enabled=0容器无效(默认是1)
gpgcheck       如果是1 则RPM数字证书生效,如果是0不生效
gpgkey          数字证书的公钥文件保存位置,不用管
enablegroups={1|0}开启组
failovermethod={roundrobin|priority}
roundrobin: 意为随机挑选,默认值
priority:按顺序访问 cost= 默认为1000 

在上面的说明中,baseurl的值就是我们的yum源的路径,它不能识别空格,所以路径中有空格的要用“\”进行转译,我们所要获取的软件包都是从这个路径里面来的,由于yum的最大作用就是为了解决我们的依赖问题,所以在我们的路径打开后我们需要能够看到一个名字为repodata的目录,这里面记录的就是我们安装文件需要的依赖,要想repo可以使用,其实很简单,我们以一个简单的例子试下就知道了:

挂载光驱:

[root@CT71 yum.repos.d]#df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda2       52403200 4811976  47591224  10% /
/dev/sda3       52403200  339132  52064068   1% /app
/dev/sda1        1038336  172128    866208  17% /boot
/dev/sr0         8086368 8086368         0 100% /mnt/cdrom
[root@CT71 yum.repos.d]#
[root@CT71 yum.repos.d]#ll /mnt/cdrom/
total 1550
-rw-r--r--. 1 root root      14 Dec  5  2016 CentOS_BuildTag
drwxr-xr-x. 3 root root    2048 Dec  5  2016 EFI
-rw-r--r--. 1 root root     215 Dec 10  2015 EULA
-rw-r--r--. 1 root root   18009 Dec 10  2015 GPL
drwxr-xr-x. 3 root root    2048 Dec  5  2016 images
drwxr-xr-x. 2 root root    2048 Dec  5  2016 isolinux
drwxr-xr-x. 2 root root    2048 Dec  5  2016 LiveOS
drwxrwxr-x. 2 root root 1548288 Dec  5  2016 Packages
drwxrwxr-x. 2 root root    4096 Dec  5  2016 repodata
-rw-r--r--. 1 root root    1690 Dec 10  2015 RPM-GPG-KEY-CentOS-7 ------------------------------------校验码
-rw-r--r--. 1 root root    1690 Dec 10  2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r--. 1 root root    2883 Dec  5  2016 TRANS.TBL
  1 [base]
  2 name=my own yum
  3 baseurl=file:///mnt/cdrom/
[root@CT71 yum.repos.d]#yum repolist
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
repo id                                     repo name                                      status
base                                        my own yum                                     9,363
repolist: 9,363

  是不是感觉很简单,但是这样是有一个问题的,那就是我们无法对安装包进行各种验证,无法保证我们的安装包是安全的,也是是说我们需要对我们安装的包进行校验,校验,就是要验证包来源的合法性和完整性。这很重要,能够保证我们安装的软件没有被人修改过,我们上面做的那个小示例是没有进行校验的,是存在安全性问题的。

  rpm包的校验是基于非对称加密方式的,通过秘钥对我们的软件包进行校验,如果人为的修改软件包,就无法针对秘钥验证成功手动验证方式我们参考rpm包管理。这里我们就说一下如何在域名配置中添加校验:

  我们在上面的代码中有一个校验码,一般的yum仓库都会有这个校验码,用于我们在安装软件的时候进行校验。我们以一个小例子说明如何写这个repo:

  1 [base]
  2 name=my own yum
  3 baseurl=file:///mnt/cdrom/
  4 enable=1
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值