Linux命令(008) -- yum
yum命令(全称为Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
一、yum命令详解
# 语法
yum(选项)(参数) # 选项
-h:显示帮助信息;
-y:对所有的提问都回答“yes”;
-c:指定配置文件;
-q:安静模式;
-v:详细模式;
-d:设置调试等级(0-10);
-e:设置错误等级(0-10);
-R:设置yum处理一个命令的最大等待时间;
-C:完全从缓存中运行,而不去下载或者更新任何头文件。 # 参数
install:安装rpm软件包;
update:更新rpm软件包;
check-update:检查是否有可用的更新rpm软件包;
remove:删除指定的rpm软件包;
list:显示软件包的信息;
search:检查软件包的信息;
info:显示指定的rpm软件包的描述信息和概要信息;
clean:清理yum过期的缓存;
shell:进入yum的shell提示符;
resolvedep:显示rpm软件包的依赖关系;
localinstall:安装本地的rpm软件包;
localupdate:显示本地rpm软件包进行更新;
deplist:显示rpm软件包的所有依赖关系。
示例:
1.安装
yum install # 全部安装
yum install package1 # 安装指定的安装包package1
yum groupinsall group1 # 安装程序组group1 2.更新和升级
yum update # 全部更新
yum update package1 # 更新指定程序包package1
yum check-update # 检查可更新的程序
yum upgrade package1 # 升级指定程序包package1
yum groupupdate group1 # 升级程序组group1 3.查找和显示
yum info package1 # 显示安装包信息package1
yum list # 显示所有已经安装和可以安装的程序包
yum list package1 # 显示指定程序包安装情况package1
yum groupinfo group1 # 显示程序组group1信息
yum search string # 根据关键字string查找安装包 4.删除
yum remove | erase package1 # 删除程序包package1
yum groupremove group1 # 删除程序组group1
yum deplist package1 # 查看程序package1依赖情况 5.清除缓存
yum clean packages # 清除缓存目录下的软件包
yum clean headers # 清除缓存目录下的headers
yum clean oldheaders # 清除缓存目录下旧的headers 6.生成缓存
yum clean all
yum makecache
二、yum的配置文件
yum 的配置文件分为两部分:main 和repository。
- main部分定义了全局配置选项,整个yum 配置文件应该只有一个main。常位于/etc/yum.conf中。
- repository部分定义了每个源/服务器的具体配置,可以有一到多个。常位于/etc/yum.repo.d目录下的各文件中。
1、yum.conf文件详解
[main]
cachedir=/var/cache/yum/$basearch/$releasever
# 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 文件去查询过去所做的更新。 exactarch=1
# 有1和0两个选项,设置为1,则yum 只会安装和系统架构匹配的软件包,例如,yum 不会将i686的软件包安装在适合i386的系统中。默认为1。 pkgpolicy=newest
# pkgpolicy:包的策略。一共有两个选项,newest和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository中同时存在,yum应该安装哪一个,如果是newest,则yum会安装最新的那个版本。如果是last,则yum会将服务器id以字母表排序,并选择最后的那个服务器上的软件安装。一般都是选newest。 obsoletes=1
# 这是一个update的参数,简单的说就是相当于upgrade,允许更新陈旧的RPM包。 gpgcheck=1
# 有1和0两个选择,分别代表是否是否进行gpg(GNU Private Guard) 校验,以确定rpm 包的来源是有效和安全的。这个选项如果设置在[main]部分,则对每个repository 都有效。默认值为0。 plugins=1
# 是否启用插件,默认1为允许,0表示不允许。我们一般会用yum-fastestmirror这个插件。 installonly_limit=3
# 允许保留多少个内核包 exclude=selinux*
# 排除某些软件在升级名单之外,可以用通配符,列表中各个项目要用空格隔开
2、repo文件详解
repo文件是Fedora中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用。在repo文件中可以包含如下内容:
[serverid]
# serverid用于区别各个不同的repository,必须有一个独一无二的名称。 name=Some name for this server
# name用于对repository的描述,支持像$releasever $basearch这样的变量。 baseurl=url://path/to/repository/
# baseurl是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件。它的格式是:
# baseurl=url://server1/path/to/repository/
# url://server2/path/to/repository/
# url://server3/path/to/repository/
# 其中url支持的协议有 http://、ftp://、file://三种。baseurl后可以跟多个url,你可以自己改为速度比较快的镜像站,但baseurl只能有一个,也就是说不能像如下格式:
# baseurl=url://server1/path/to/repository/
# baseurl=url://server2/path/to/repository/
# baseurl=url://server3/path/to/repository/
# 其中url指向的目录必须是这个repository header目录的上一级,它也支持$releasever $basearch这样的变量。 mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
# 指定一个镜像服务器的地址列表。 gpgcheck=1
exclude=selinux*
# pgcheck,exclude的含义和[main]部分相同,但只对此服务器起作用。 failovermethod=priority
# failovermethode有两个选项roundrobin和priority,意思分别是有多个url可供选择时,yum选择的次序,roundrobin是随机选择,如果连接失败则使用下一个,依次循环,priority则根据url的次序从第一个开始。如果不指明,默认是roundrobin。 enabled=1/0
# 当某个软件仓库被配置成enabled=0时,yum在安装或升级软件包时不会将该仓库做为软件包提供源。使用这个选项,可以启用或禁用软件仓库。
示例:163的yum源文件
[base]
# name定义了软件仓库的名称,$releasever变量定义了发行版本
name=CentOS-$releasever - Base - 163.com
# baseurl定义了软件仓库服务器的地址
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
# gpgcheck选项表示这个repo中下载的rpm将进行gpg的校验,已确定rpm包的来源是有效和安全的
gpgcheck=1
# gpgkey定义用于校验的gpg密钥
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
Linux命令(008) -- yum的更多相关文章
- N天学习一个linux命令之yum
yum命令 用途 yum(Yellowdog Updater Modified),RedHat系Linux操作系统包管理器,基于rpm,从源远程仓库下载rpm包安装,同时解决依赖关系,使用Python ...
- Linux命令:yum命令
YUM: Yellowdog Update Modifier,rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,up2date的替代工具 一.yum命令用法 yum repolist ...
- Linux命令之yum
yum [选项] [命令] [包] yum命令是RedHat和SUSE基于rpm的软件管理器.能够从指定的服务器自动下载rpm包并安装,可以自动处理依赖关系,并且可以一次安装所有依赖关系. (扩展:域 ...
- Linux命令之yum篇
作业六:yum命令1) 自定义yum仓库:createrepo[root@localhost /]#mkdir /rpm_bak[root@localhost /]#cp /media/Package ...
- Linux CentOS7通过yum命令安装Mono(尝先安装模式)
前言 经过尝试网上各种安装mono的技术贴,这个安装过程经历了大约2周,尝试了各个版本,几目前博客所描述的所有安装方式.以下内容的安装方式可以为你尝试不同版本的mono.并非正式环境安装标准方式安装. ...
- Linux下常用yum命令
linux各发行版有多种包管理机制,下面介绍基于RedHat系的yum包管理命令: yum -y install xxx 无需询 ...
- linux命令之:yum
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...
- linux下的yum命令详细介绍
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...
- Linux系统下RPM命令和yum的使用
Linux系统下RPM命令和yum的使用 RPM:Redhat Packages Manager (红帽系列软件包的管理),主要用于安装.卸载.升级和管理软件. 一个包由下面几个部分构成: 例如:ht ...
随机推荐
- Codeforces 628D Magic Numbers
题意: 求在[a,b](a,b不含前导0)中的d−magic数中有多少个是m的倍数. 分析: 计数dp Let's call a number d-magic if digit d appears i ...
- Spring中通过java的@Valid注解和@ControllerAdvice实现全局异常处理。
通过java原生的@Valid注解和spring的@ControllerAdvice和@ExceptionHandler实现全局异常处理的方法: controller中加入@Valid注解: @Req ...
- [bzoj3436]小K的农场_差分约束
小K的农场 bzoj-3436 题目大意:给定n个点,每个节点有一个未知权值.现在有m个限制条件,形如:点i比点j至少大c,点i比点j至多大c或点i和点j相等.问是否可以通过给所有点赋值满足所有限制条 ...
- 【天道酬勤】 腾讯、百度、网易游戏、华为Offer及笔经面经(转)
应届生上泡了两年,一直都是下资料,下笔试题,面试题.一直都在感谢那些默默付出的人.写这个帖子花了我两 个夜晚的时间,不是为了炫耀,只是为了能给那些“迷惘”的学弟学妹,一点点建议而已.大家何必那么认真, ...
- Servlet实现点击计数器
以下内容引用自http://wiki.jikexueyuan.com/project/servlet/hits-counter.html: 一.Web页面的点击计数器 很多时候,可能有兴趣知道网站的某 ...
- Java File类 mkdir 不能创建多层目录,如果是多层,可以调mkdirs
public static void createDir(String destDirName) { File dir = new File(destDirName); if (!dir.exists ...
- delphi异步选择模型编程TCP
Server端: unit U_FrmServer; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, ...
- phpunit 单元测试框架-代码覆盖率
"phpize not found" 的解决办法: apt-get install php5-dev http://jeffreysambells.com/2010/04/08/r ...
- Jenkins + SVN搭建php持续集成
目标需求 开发提交代码到SVN,jenkins在分发服务器上执行'svn update',分发服务器在把代码同步到webserver,实现持续集成 流程 配置jenkins 一.jenkins所需插件 ...
- C#如何使用右下角托盘图标notifyIcon
1 拖放一个NotifyIcon控件,并设置图标,还有显示的文字 2 双击这个控件,即当最小化了主窗体,然后双击这个右下角图标的时候,要显示主窗体(大部分程序的用户体验都是这样干的,比如QQ,双击 ...