Linux下的yum

  yum,是Yellow dog Updater, Modified 的简称,是杜克大学为了提高RPM 软件包安装性而开发的一种软件包管理器。起初是由yellow dog 这一发行版的开发者Terra Soft 研发,用python 写成,那时还叫做yup(yellow dog updater),后经杜克大学的Linux@Duke 开发团队进行改进,遂有此名。yum 的宗旨是自动化地升级,安装/移除rpm 包,收集rpm 包的相关信息,检查依赖性并自动提示用户解决。yum 的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http 或ftp 站点,也可以是本地软件池,但必须包含rpm 的header,header 包括了rpm 包的各种信息,包括描述,功能,提供的文件,依赖性等。正是收集了这些header 并加以分析,才能自动化地完成余下的任务。

  yum 的理念是使用一个中心仓库(repository)管理一部分甚至一个distribution 的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等等操作,减少了Linux 用户一直头痛的dependencies 的问题。这一点上,yum 和apt 相同。apt 原为debian 的deb 类型软件管理所使用,但是现在也能用到RedHat 门下的rpm 了。

  yum 主要功能是更方便的添加/删除/更新RPM 包,自动解决包的倚赖性问题,便于管理大量系统的更新问题。

  yum 可以同时配置多个资源库(Repository)(/etc/yum.repos.d/),简洁的配置文件(/etc/yum.conf),自动解决增加或删除rpm 包时遇到的依赖性问题,保持与RPM 数据库的一致性。

 

  yum可以通过rpm卸载和安装或是升级,例如在配置网络yum源时升级通过rpm升级

命令

yum [参数] [命令] [软件名]

参数:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。

命令:要进行的操作。

package:操作的对象。

 

yum常用命令

yum install <软件名>  安装指定的软件

yum remove <软件名>  卸载删除指定的软件

yum info <软件名>  显示安装包的信息

yum update  更新所有的软件

yum update <软件名>  更新指定的软件

yum search <关键字>  查找包含关键字的软件包

yum list  列出所有可安装的软件

yum check-update  列出所有可更新的软件

yum groups or yum grouplist  查看所有的可以批量安装的程序组

yum groupinstall <group>  安装指定程序组

yum groupupdate <group>  升级指定程序组

yum groupinfo <group>  显示程序组的信息

yum repolist  查看开启的资源库

yum repolist all  查看所有的资源库

yum provides <软件名>  列出包中的文件

yum makecache  建立缓存

其中如果没有缓存的情况下执行yum repolistyum makecacheyum list都会建立缓存

 


关于清除缓存

yum 会把下载的软件包和header存储在cache中,而不会自动删除。假如我们觉得他们占用了磁盘空间,能够使用yum clean指令进行清除,更精确 的用法是yum clean headers清除header,yum clean packages清除下载的rpm包

缓存目录/var/cache/yum

yum clean or yum clean all  清除缓存目录下的软件包以及旧的headers

yum clean packagename  清除缓存目录下的软件包

yum clean headers  清除缓存目录下的headers

yum clean oldheaders  清除缓存目录下旧的headers

关于yum源

[root@localhost yum.repos.d]# cp rhel-source.repo rhel6.repo //配置文件必须以.repo结尾
[root@localhost yum.repos.d]# vim rhel6.repo
[rhel-6]                                     //中括号里内容要求唯一,但不要出现特殊字符
name=Red Hat Enterprise Linux 6           //此为描述信息,可以看情况填写
baseurl=file:///media/                     //此项为yum软件仓库位置,本地yum源指向光盘挂载点
enabled=1                                   //此项为是否开启,1为开启0为不开启
gpgcheck=1                                  //此项为是否检查签名,1为监测0为不检测
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release  //签名认证信息的路径


关于/etc/yum.conf


[main]
cachedir=/var/cache/yum
  //yum 缓存的目录,yum 在此存储下载的rpm 包和数据库,默认设置为/var/cache/yum keepcache=0
  //安装完成后是否保留软件包,0为不保留(默认为0),1为保留 debuglevel=2
  //Debug 信息输出等级,范围为0-10,缺省为2 logfile=/var/log/yum.log
  //yum 日志文件位置。用户可以到/var/log/yum.log 文件去查询过去所做的更新。 pkgpolicy=newest
  //包的策略。一共有两个选项,newest 和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository 中同时存在,yum 应该安装哪一个,如果是newest,则yum 会安装最新的那个版本。如果是last,则yum 会将服务器id 以字母表排序,并选择最后的那个服务器上的软件安装。一般都是选newest。
distroverpkg=redhat-release
  //指定一个软件包,yum 会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm 包。 tolerant=1
  //有1和0两个选项,表示yum 是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3三个包,而其中3此前已经安装了,如果你设为1,则yum 不会出现错误信息。默认是0。 exactarch=1
  //有1和0两个选项,设置为1,则yum 只会安装和系统架构匹配的软件包,例如,yum 不会将i686的软件包安装在适合i386的系统中。默认为1。 retries=6
  //网络连接发生错误后的重试次数,如果设为0,则会无限重试。默认值为6.
obsoletes=1
  //这是一个update 的参数,具体请参阅yum(8),简单的说就是相当于upgrade,允许更新陈旧的RPM包。 plugins=1
  //是否启用插件,默认1为允许,0表示不允许。我们一般会用yum-fastestmirror这个插件。 bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum # Note: yum-RHN-plugin doesn't honor this. metadata_expire=1h installonly_limit = 5 # PUT YOUR REPOS HERE OR IN separate files named file.repo # in /etc/yum.repos.d

 

posted @ 2019-03-21 14:39  daz{2}le  阅读(250)  评论(0编辑  收藏  举报