什么是YUM

YUM,全称Yellow dog Updater, Modifier,是一个自由、开源的命令行软件包管理工具,运行在基于RPM包管理的的Linux操作系统(例如RedHat、CentOS、Suse等)。

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

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

yum的命令

语法

命令格式:

yum [options] [command] [package ...]

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

command:要进行的操作。

package操作的对象。

常用选项(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

命令列表(command):

check 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 #显示机器可用源的版本

查询功能:

yum [list | info | search | provides | whatprovides] 参数

$ yum [option] [查询工作项目] [相关参数]

选项与参数:

[option]:主要的选项,包括有:

-y :当 yum 要等待使用者输入时,这个选项可以自动提供 yes 的回应;

--installroot=/some/path :将该软件安装在 /some/path 而不使用默认路径

[查询工作项目] [相关参数]:这方面的参数有:

search :搜寻某个软件名称或者是描述 (description) 的重要关键字;

list :列出目前 yum 所管理的所有的软件名称与版本,有点类似 rpm -qa;

info :同上,不过有点类似 rpm -qai 的运行结果;

provides:从文件去搜寻软件!类似 rpm -qf 的功能!

范例一:搜寻git相关的软件有哪些?

$ yum search git

范例二:找出 git 这个软件的功能为何

$ yum info git

范例三:列出 yum 服务器上面提供的所有软件名称

$ yum list

范例四:列出目前服务器上可供本机进行升级的软件有哪些?

$ yum list updates <==一定要是 updates 喔!

范例五:列出提供 passwd 这个文件的软件有哪些

$ yum provides passwd

安装/升级功能

yum [install | update | groupinstall | groupupdate] 软件

$ yum [option] [查询工作项目] [相关参数]

选项与参数:

install :后面接要安装的软件!

groupinstall : 组包安装,后面接软件包组

update :后面接要升级的软件,若要整个系统都升级,就直接 update 即可

groupupdate : 组包升级

范例一:安装git

$ yum install git

范例二:升级真个系统的软件

$ yum update

移除功能

yum [remove | groupremove] 软件

$ yum remove git

清除缓存

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

yum [clean]

1.清除缓存目录(/var/cache/yum)下的软件包

$ yum clean packages

2.清除缓存目录(/var/cache/yum)下的 headers

$ yum clean headers

3.清除缓存目录(/var/cache/yum)下旧的 headers

$ yum clean oldheaders

4.清除缓存目录(/var/cache/yum)下的软件包及旧的headers

$ yum clean, yum clean all (= yum clean packages; yum clean oldheaders)

yum的配置

yum 的配置文件分为main 和repository :

main:定义了全局配置选项,该文件只有一个。通常位于 /etc/yum.conf

repository:定义了源服务器的具体配置,可能是一或多个。通常位于 /etc/yum.repo.d 目录

配置文件main

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

$ cat /etc/yum.conf

主要配置项如下:

[main]

# yum 的缓存目录,用于存储下载的 RPM 包和数据库

cachedir=/var/cache/yum/$basearch/$releasever

# 安装完成后是否保留软件包,0为不保留(默认为0),1为保留

keepcache=0

# Debug 信息输出等级,范围为0-10,默认为2

debuglevel=2

# yum 日志文件位置,用户通过该文件查询做过的更新

logfile=/var/log/yum.log

# 是否只安装和系统架构匹配的软件包。可选项为:1、0,默认为1

# 设置为 1 时不会将 i686 的软件包安装在适合i386的系统中

exactarch=1

# update 设置,是否允许更新陈旧的 RPM 包,相当于 upgrade

obsoletes=1

# 是否进行 GPG(GNU Private Guard) 校验,以确定 RPM 包的来源是有效和安全

# 当在这个选项设置在[main]部分,则对每个 repository 都有效

plugins=1

# 是否启用插件,默认1为允许,0表示不允许

gpgcheck=1

# 排除某些软件在升级名单之外,可以用通配符,各个项目用空格隔开

exclude=*.i?86 kernel kernel-xen kernel-debug

# 可同时安装多少程序包

installonly_limit=5

# Bug 追踪路径

bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum

# 当前发行版版本号

distroverpkg=centos-release

配置目录repository

在yum.repos.d 目录下存放的就是yum源的设定文件。

查看对应目录下的文件内容

$ cat /etc/yum.repos.d/CentOS-Base.repo

[base]

name=CentOS-$releasever - Base

mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra

#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

...

说明:

[base]:代表容器的名字!中刮号一定要存在,里面的名称则可以随意取。但是不能有两个相同的容器名称, 否则 yum 会不晓得该到哪里去找容器相关软件清单文件。

name:只是说明一下这个容器的意义而已,重要性不高!

mirrorlist=:列出这个容器可以使用的映射站台,如果不想使用,可以注解到这行;

baseurl=:这个最重要,因为后面接的就是容器的实际网址! mirrorlist 是由 yum 程序自行去捉映射站台, baseurl 则是指定固定的一个容器网址!我们刚刚找到的网址放到这里来啦!

enable=1:就是让这个容器被启动。如果不想启动可以使用 enable=0 喔!

gpgcheck=1:还记得 RPM 的数码签章吗?这就是指定是否需要查阅 RPM 文件内的数码签章!

gpgkey=:就是数码签章的公钥档所在位置!使用默认值即可

注意:手工修改repo文件后,需要更新缓存,命令如下

yum clean all

2018.05.03

参考

linux 在固定网址yum,linux yum介绍相关推荐

  1. Linux安装及管理程序——RPM和yum学会装软件超简单

    Linux安装及管理程序--RPM和yum学会装软件超简单 一.linux应用程序基础 应用程序与系统命令的关系 典型应用程序的目录结构 常见的软件包封装类型 二.RPM包管理工具 RPM软件包管理器 ...

  2. linux本地yum源与软件包管理,【Linux系统中的】本地yum源的搭建与使用yum源进行软件的下载...

    前言: 当我们在使用Linux系统时,有时需要一些辅助工具帮助我们实现某项功能, 例如画图.wps.等功能,而这些功能并不是系统自带的,需要我们下载相关的 软件,那如何去下载这些软件那,这里我们不得不 ...

  3. yum arm linux gcc 4.8,Linux-使用 yum 升级 gcc 到 4.8

    wget http://people.centos.org/tru/devtools-2/devtools-2.repo mv devtools-2.repo /etc/yum.repos.d yum ...

  4. Linux(redhat7.2)本地yum源配置

    本地yum源配置 由于特殊原因,有的时候我们的Linux系统无法连接网络,这种时候软件的安装更新等就成了一个问题,但其实安装Linux系统的光盘映像中有许多我们需要用到的软件,利用本地的光盘映像作为y ...

  5. linux下载东西出现loaded,Linux yum提示Loaded plugins错误怎么办?

    yum是Linux软件包管理器,也叫yum源,在yum使用过程中,有时会出现Loaded plugins错误,重启无效,遇到这种情况该如何解决呢?下面小编就给大家介绍下Linux yum提示Loade ...

  6. linux yum配置文件 yum.conf 简介

    yum的配置一般有两种方式:   一种是直接配置/etc目录下的yum.conf文件, 另外一种是在/etc/yum.repos.d目录下增加.repo文件.  一.yum的配置文件yum.conf ...

  7. linux软件包管理之rpm 、yum基本使用

    linux软件包管理之rpm .yum基本使用 一.RPM RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是 ...

  8. Linux 配置iso系统盘为本地yum源

    Linux 配置iso系统盘为本地yum源 (2014-11-19 09:34:39) 转载▼ 标签: linux 配置 系统 yum源 iso 分类: 操作系统服务器 Linux配置iso系统盘为本 ...

  9. linux基础-第十六单元 yum管理RPM包

    第十六单元 yum管理RPM包 yum的功能 本地yum配置 光盘挂载和镜像挂载 本地yum配置 网络yum配置 网络yum配置 Yum命令的使用 使用yum安装软件 使用yum删除软件 安装组件 删 ...

  10. linux救援模式使用yum,linux学习笔记-第二课-yum,救援模式,单用户模式,运行级别...

    一.学习yum命令 yum list ==> 列出一个或一组软件包 grouplist ==> 列出关联数据包清单 install package1 [[package2] [...] = ...

最新文章

  1. 动态创建DataTable[转]
  2. AHOI2009 中国象棋
  3. awb数据怎么计算_白平衡自己主动(AWB)算法---2,颜色计算
  4. 前端学习(1712):前端系列javascript之创建uni-app创建下
  5. mysql 数据库导出全部数据到excel,并保存为不同的sheet
  6. linux系统无法读取硬盘,安装CentOS时读取硬盘错误解决办法
  7. C++ 位图及位图的实现
  8. 利用XSS盗取cookies
  9. Linux应用的c编程main函数参数argc,argv说明
  10. Java内存Happen-Before
  11. allegro16.6使用汇总
  12. 【十八掌●武功篇】第七掌:MapReduce之倒排索引
  13. Moto Z2F 使用体验 刷机经验分享
  14. Scrum立会报告+燃尽图(Beta阶段第五次)
  15. matlab eig函数
  16. realme真我V15国潮锦鲤手机:携《国家宝藏》IP筑开年之作
  17. 计算机专业职业理想作文400字,理想的职业400字作文
  18. 针对conda环境中出现的ImportError: No module named easydict 问题,行之有效的解决方法
  19. 深度 | 张正友:计算机视觉的三生三世 | CCF-GAIR 2019
  20. 写给程序员的UI设计书 (转) (二)

热门文章

  1. Unity MasterServer主服务器
  2. waitpid status参数介绍
  3. regedit 导入注册表
  4. Complete Internet Repair(电脑网络修复工具)官方中文版V6.0.3.5003 | 富有成效的电脑网络修复大师 | 电脑网络修复怎么修复?
  5. 薛定谔的猫、量子纠缠、和量子计算机
  6. python画三维投影图_python之画三维图像
  7. Infor CloudSuite Industrial (SyteLine) IDO 行授权 设置
  8. 微信号注册人工服务器,怎么设置微信公众号接入人工客服?
  9. 中南大学官网计算机学院,中南大学
  10. Debug---Eclipse断点调试基础