音效素材网提供各类素材,打造精品素材网站!

站内导航 站长工具 投稿中心 手机访问

音效素材

YUM软件包管理工具与yum命令的详细介绍
日期:2017-01-12 09:07:10   来源:脚本之家

一、yum介绍

Yum (Yellow dog Updater, Modified) 是一个在 Fedora 中的字符前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

rpm命令只能安装下载到本的.rpm格式的安装包,但是rpm并不能处理软件包之间的依赖关系,尤其是软件由多个.rpm包组成时,这时可以使用yum。

yum的主要是更方便的添加、删除、更新RPM包,自动解决软件包之间的依赖关系,方便系统更新及软件管理。yum通过软件仓库(repository)进行软件的下载、安装等,软件仓库可以是一个HTTP或FTP站点,也可以是一个本软件池,资源仓库也可以是多个,在/etc/yum.conf文件中进行相关配置即可。在yum的资源库中,会包括rpm的头信息(header),头信息中包括了软件的功能描述、依赖关系等。通过分析这些信息,yum计算出依赖关系并进行相关的升级、安装、删除等操作。

二、yum命令

命令格式:

yum [options] COMMAND

命令(COMMAND)列表:

check   检测 rpmdb 是否有问题
check-update 检查可更新的包
clean   清除缓存的数据
deplist  显示包的依赖关系
distribution-synchronization 将已安装的包同步到最新的可用版本
downgrade  降级一个包
erase   删除包
groupinfo  显示包组的详细信息
groupinstall 安装指定的包组
grouplist  显示可用包组信息
groupremove 从系统删除已安装的包组
help   删除帮助信息
history  显示或使用交互历史
info   显示包或包组的详细信息
install  安装包
list   显示可安装或可更新的包
makecache  生成元数据缓存
provides  搜索特定包文件名
reinstall  重新安装包
repolist  显示已配置的资源库
resolvedep  指事实上依赖
search   搜索包
shell   进入yum的shell提示符
update   更新系统中的包
upgrade  升级系统中的包
version  显示机器可用源的版本

常用选项(options)列表:

-h, --help   显示帮助信息
-t, --tolerant  容错
-C, --cacheonly  完全从系统缓存中运行,不更新缓存
-c [config file], --config=[config file]
      本地配置文件
-R [minutes], --randomwait=[minutes]
      命令最大等待时间
-d [debug level], --debuglevel=[debug level]
      设置调试级别
-e [error level], --errorlevel=[error level]
      设置错误等级
-q, --quiet   退出运行
-v, --verbose   详细模式
-y, --assumeyes  对所有交互提问都回答“yes”

注:以上可用命令和选项由于yum版本的不同可能会有所有不同

三、yum使用示例

3.1 安装

安装软件时,较常用的安装方式有单独安装、包组安装两种方式:

# 安装软件包 foo
yum install foo
# 安装 Web server 软件包组
yum groupinsall "Web server"

注:groupinsall是一种快捷安装方式,他会将包组中所需的软件包一次性全部安装。如,上例中的"Web server"包组可能会包含:httpd、 crypto-utils等软件包

3.2 更新、升级

对于已安装的程序,可以进行升级操作,有以下几种升级方式:

# 检查可用更新
yum check-update 
# 全部更机关报
yum update
# 更新 foo 软件包
yum update foo
# 或
yum upgrade foo
# 升级 Web server 软件包组
yum groupupdate "Web server"

更新安装包时,可以使用update或upgrade,二者区别如下:

  1. yum update是更新下载源里面的metadata,包括这个源有什么包、每个包什么版本之类的
  2. yum upgrade会根据update后的元信息对软件包进行升级

3.3 删除

删除时,可以删除单个软件包或软件包组:

# 删除软件 foo
yum remove foo
# 删除 Web server 软件包组
yum groupremove "Web server"

3.4 查找

通过search命令可以查找软件包,而info命令可以用来显示软件包信息:

# 查找名称包含 foo 的软件包
yum search foo
# 显示名为 foo 的软件包信息
yum info foo
# 显示软件包 foo 的依赖关系
yum deplist foo
# 显示软件包组 Web server 的信息
yum groupinfo "Web server"
# 显示已安装的软件包 
yum list installed

四、yum的配置

YUM的配置文件分为main和repository两部分:

  1. main-这个文件定义了全局配置选项,该文件只有一个。通常位于/etc/yum.conf
  2. repository-定义了源-服务器的具体配置,可能是一或多个。通常位于/etc/yum.repo.d目录

可以通过以下命令查看yum的配置:

cat /etc/yum.conf

主要配置项如下:

[main]
cachedir=/var/cache/yum/$basearch/$releasever
   # yum 的缓存目录,用于存储下载的RPM包和数据库
keepcache=0
   # 安装完成后是否保留软件包,0为不保留(默认为0),1为保留
debuglevel=2
   # Debug 信息输出等级,范围为0-10,缺省为2
logfile=/var/log/yum.log
   # yum 日志文件位置,用户通过该文件查询做过的更新
exactarch=1
   # 是否只安装和系统架构匹配的软件包。可选项为:1、0,默认 1。设置为1时不会将i686的软件包安装在适合i386的系统中。
obsoletes=1
   # update 设置,是否允许更新陈旧的RPM包,相当于upgrade
gpgcheck=1
   # 是否进行 GPG(GNU Private Guard) 校验,以确定rpm 包的来源是有效和安全。当在这个选项设置在[main]部分,则对每个repository 都有效
plugins=1
   # 是否启用插件,默认1为允许,0表示不允许
exclude=*.i?86 kernel kernel-xen kernel-debug
   # 排除某些软件在升级名单之外,可以用通配符,各个项目用空格隔开
installonly_limit=5
   # 可同时安装多少程序包
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum
   # Bug 追踪路径
distroverpkg=centos-release
   # 当前发行版版本号

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

五、配置yum源

yum源配置文件通常位于/etc/yum.repo.d目录下,笔录所使用的CentOS 6.3发生版中包含以下几个配置文件:

$ # ll
总用量 16
-rw-r--r--. 1 root root 1926 6月 26 2012 CentOS-Base.repo
-rw-r--r--. 1 root root 637 6月 26 2012 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 626 6月 26 2012 CentOS-Media.repo
-rw-r--r--. 1 root root 2593 6月 26 2012 CentOS-Vault.repo

其中:

  1. CentOS-Base.repo - 用于配置yum网络源
  2. CentOS-Media.repo - 用于配置yum本地源

5.1 启用yum本地源

编辑CentOS-Media.repo文件:

vi CentOS-Media.repo
# CentOS-Media.repo
#
# This repo is used to mount the default locations for a CDROM / DVD on
# CentOS-6. You can use this repo and yum to install items directly off the
# DVD ISO that we release.
#
# To use this repo, put in your DVD and use it with the other repos too:
# yum --enablerepo=c6-media [command]
# 
# or for ONLY the media repo, do this:
#
# yum --disablerepo=\* --enablerepo=c6-media [command]
 
[c6-media]
name=CentOS-$releasever - Media
# 本地源路径
baseurl=file:///media/CentOS/
  file:///media/cdrom/
  file:///media/cdrecorder/
gpgcheck=1
# enabled=0
# 启用本地源
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

配置后,修改CentOS-Base.repo中的enabled配置项为enabled=0,或将CentOS-Base.repo文件删除或重命名,就会从本地源安装软件

5.2 添加yum网络源

网络源通地CentOS-Base.repo文件配置,配置一个源包括以下几个部分:

  1. [serverid] - 源标识,必须唯一
  2. name - 源名称,支付$releasever等变量名
  3. mirrorlist或baseurl - 其中,

        mirrorlist是一个保存了镜像列表列表的网站

        baseurl是一个包库

如,以下是CentOS 6.3中的一个配置镜像:

[contrib]
name=CentOS-$releasever - Contrib
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

    您感兴趣的教程

    在docker中安装mysql详解

    本篇文章主要介绍了在docker中安装mysql详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编...

    详解 安装 docker mysql

    win10中文输入法仅在桌面显示怎么办?

    win10中文输入法仅在桌面显示怎么办?

    win10系统使用搜狗,QQ输入法只有在显示桌面的时候才出来,在使用其他程序输入框里面却只能输入字母数字,win10中...

    win10 中文输入法

    一分钟掌握linux系统目录结构

    这篇文章主要介绍了linux系统目录结构,通过结构图和多张表格了解linux系统目录结构,感兴趣的小伙伴们可以参考一...

    结构 目录 系统 linux

    PHP程序员玩转Linux系列 Linux和Windows安装

    这篇文章主要为大家详细介绍了PHP程序员玩转Linux系列文章,Linux和Windows安装nginx教程,具有一定的参考价值,感兴趣...

    玩转 程序员 安装 系列 PHP

    win10怎么安装杜比音效Doby V4.1 win10安装杜

    第四代杜比®家庭影院®技术包含了一整套协同工作的技术,让PC 发出清晰的环绕声同时第四代杜比家庭影院技术...

    win10杜比音效

    纯CSS实现iOS风格打开关闭选择框功能

    这篇文章主要介绍了纯CSS实现iOS风格打开关闭选择框,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作...

    css ios c

    Win7如何给C盘扩容 Win7系统电脑C盘扩容的办法

    Win7如何给C盘扩容 Win7系统电脑C盘扩容的

    Win7给电脑C盘扩容的办法大家知道吗?当系统分区C盘空间不足时,就需要给它扩容了,如果不管,C盘没有足够的空间...

    Win7 C盘 扩容

    百度推广竞品词的投放策略

    SEM是基于关键词搜索的营销活动。作为推广人员,我们所做的工作,就是打理成千上万的关键词,关注它们的质量度...

    百度推广 竞品词

    Visual Studio Code(vscode) git的使用教程

    这篇文章主要介绍了详解Visual Studio Code(vscode) git的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。...

    教程 Studio Visual Code git

    七牛云储存创始人分享七牛的创立故事与

    这篇文章主要介绍了七牛云储存创始人分享七牛的创立故事与对Go语言的应用,七牛选用Go语言这门新兴的编程语言进行...

    七牛 Go语言

    Win10预览版Mobile 10547即将发布 9月19日上午

    微软副总裁Gabriel Aul的Twitter透露了 Win10 Mobile预览版10536即将发布,他表示该版本已进入内部慢速版阶段,发布时间目...

    Win10 预览版

    HTML标签meta总结,HTML5 head meta 属性整理

    移动前端开发中添加一些webkit专属的HTML5头部标签,帮助浏览器更好解析HTML代码,更好地将移动web前端页面表现出来...

    移动端html5模拟长按事件的实现方法

    这篇文章主要介绍了移动端html5模拟长按事件的实现方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家...

    移动端 html5 长按

    HTML常用meta大全(推荐)

    这篇文章主要介绍了HTML常用meta大全(推荐),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参...

    cdr怎么把图片转换成位图? cdr图片转换为位图的教程

    cdr怎么把图片转换成位图? cdr图片转换为

    cdr怎么把图片转换成位图?cdr中插入的图片想要转换成位图,该怎么转换呢?下面我们就来看看cdr图片转换为位图的...

    cdr 图片 位图

    win10系统怎么录屏?win10系统自带录屏详细教程

    win10系统怎么录屏?win10系统自带录屏详细

    当我们是使用win10系统的时候,想要录制电脑上的画面,这时候有人会想到下个第三方软件,其实可以用电脑上的自带...

    win10 系统自带录屏 详细教程

    + 更多教程 +
    WIN服务器linux服务器FTP服务器DNS服务器其他