linux:yum仓库

yum是一个软件包管理器,一般我在安装完一个虚拟机的时候第一时间就是设置它的yum仓库,因为只有这样我们才可以轻松的安装redhat官方提供给我们的各种工具包。所以熟悉和懂得yum仓库的配置是非常重要的。

为什么是YUM?

基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

是的,它帮助我们把各种RPM包的依赖性解决好了,只需要执行yum命令安装就可以了,所以很实用。

配置YUM仓库

一般我作为练习的话,不是时时刻刻周围都可以有上网的环境,所以我更倾向于设置本地YUM,那么我们首先得有一个匹配的iso安装镜像,把它挂载到当前的主机中,然后把yum的baseurl目录设置为它。

1.首先我们要检测linux版本,版本不匹配的iso是无法完全兼容的,版本号查看文件/etc/issue

还要查看linux的位数:


好的,我们要的镜像就是redhat6.3-64位

2.接下来要永久挂载该镜像,写入/etc/fstab文件中:



(1)文件格式是iso9660
(2)挂载方式是defaults,loop

3.查看是否挂载



4.确实挂载上后,我们来配置yum文件/etc/yum.repos.d/yum.repo



我们的挂载点在/mnt/iso下,看起来十分的简单,但是这样的配置就足够使用了,关于这个文件中的参数我列举了网友总结的:

cachedir:  yum缓存的目录,yum在此路径下存储下载的rpm包和数据库,一般是/var/cache/yum。
debuglevel:除错级别,0──10,默认是2
logfile:   yum的日志文件,默认是/var/log/yum.log。
pkgpolicy: 包的策略。

一共有两个选项,newest和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository中同时存在,yum应该安装哪一个,如果是newest,则yum会安装最新的那个版本。如果是last,则yum会将服务器id以字母表排序,并选择最后的那个服务器上的软件安装。一般都是选newest。
distroverpkg:指定一个软件包,yum会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm包。
exactarch:有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会用i686的包来升级。
retries:   网络连接发生错误后的重试次数,如果设为0,则会无限重试。
tolerent:  也有1和0两个选项,表示yum是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3三个包,而其中3此前已经安装了,如果你设为1则yum不会出现错误信息,默认是0。
除了上述之外,还有一些可以添加的选项,如
exclude:   排除某些软件在升级名单之外,可以用通配符,列表中各个项目要用空格隔开,这个对于安装了诸如美化包,中文补丁的朋友特别有用。
gpgcheck: 有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认好像也是检查的。

plugins:  是否启用所有的插件(plug-in),默认为0,代表不启用。由于RHEL为YUM提供了一个名为rhn-plugin的插件,以便读取RHN提供的YUM下载源,因此你必须保持这个参数为1,才能顺利使用RHN的YUM下载源来安装、升级你的RHEL。

metadata_expire: 定义YUM缓存中数据的过期时间,单位为秒。

proxy:    指定读取下载源时使用的代理服务器的路径(URL)。

5.刷新YUM


每重新设置完一次yum仓库参数后请执行yum clean all进行刷新



6.使用YUM

yum本身的命令非常的多,我们来列举部分:

(1)查看包信息:
yum info httpd



(2)查看所有安装包的列表
yum list(信息太多截不下来了,呵呵)

(3)查看命令是何种包支持的

yum whatprovides 命令



(4)安装包
yum install 包
(5)删除安装过的包
yum remove 包
(6)再次安装包
yum reinstall 包
(7)组安装
yum groupinstall 包
(8)组删除
yum groupremove 包

. . .