原文在这里  http://doophp.sinaapp.com/archives/linux/yum-setting-parameter.html

因为是程序员出身,平时虽然经常接触服务器,偶尔也会要装一些软件、配置优化什么的,可能还是个人习惯问题,一般情况下我还是以手工编译居多(这其中的优缺点就不在这里啰嗦了)。这几天有同事提出YUM其实更便于日常管理维护,确实,相对于手工编译,服务器多的时候YUM确实要方便不少。今天整理了一下YUM相关的背景知识,东西还不够详细,后续会逐步完善。

YUM简单介绍

YUM,是Yellow dog Updater, Modified的简称,具体念什么?既然是首字母缩写念Y-U-M应该没错吧,(有时候也听人叫晕,那就晕吧:).起初是由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)
  • 简洁的配置文件(/etc/yum.conf)
  • 自动解决增加或删除rpm包时遇到的倚赖性问题
  • 使用方便
  • 保持与RPM数据库的一致性

我们可以在这个地方找到与自己系统相对应的版本YUM:http://ayo.freshrpms.net/

比如安装如下版本:
[root@localhost beinan]# rpm -ivh freshrpms-release-1.1-1.fc.noarch.rpm

YUM命令

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

其中的[options]是可选的,选项包括-h(帮助),-y(当安装过程提示选择全部为”yes”),-q(不显示安装的过程)等等。[command]为所要进行的操作,[package ...]是操作的对象

包的更新

检查可更新包: yum check-update

更新所有包: yum update

更新指定包: yum update package_name

版本升级: yum upgrade

包安装与删除

yum install package_name

yum remove package_name

yum groupinstall group1 安装程序组group1

yum groupremove group1 删除程序组group1

包搜索

搜索特定包: yum search package_name

搜索包含特定文件名的包:yum provides name

包列表

列出所有安装或更新的包: yum list

列出指定包:yum list name

列出可更新包:yum list updates

列出已安装包:yum list installed

列出已安装但不包含在资源库中的包:yum list extras

yum info package_name 显示安装包信息

清除缓存

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

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

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

yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 清除缓存目录下的软件包及旧的headers

YUM源的设置及国内源

全局配置

YUM的配置通常存储在/etc/yum.conf文件内.

#cat /etc/yum.conf

各项参数详细介绍:

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不会用1686的包来升级。

retries:网络连接发生错误后的重试次数,如果设为0,则会无限重试。

tolerent:也有1和0两个选项,表示yum是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3三个包,而其中3此前已经安装了,如果你设为1,则yum不会出现错误信息。默认是0。

除了上述之外,还有一些可以添加的选项,如

exclude:排除某些软件在升级名单之外,可以用通配符,列表中各个项目要用空格隔开,这个对于安装了诸如美化包,中文补丁的朋友特别有用。

gpgchkeck: 有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认好像也是检查的。

源服务器配置

YUM源配置文件通常存储在/etc/yum.repos.d/目录下面

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

默认baseurl是被注释掉的,并启用了mirrorlist。baseurl指定了centos的官网源地址,而mirrorlist则是服务器地理位置附近的一些镜像列表,yum程序会搜获附近速度最快的镜像作为yum源。如果你需要指定某个源地址,就需要将baseurl这一行的注释取消,修改后面的值为你需要修改的服务器地址,同时把mirrorlist这一行注释掉——一般我们不需要做此改动,除非我们用内部源。

所有的源服务器设置都应该遵循如下格式:

[serverid]

name=Some name for this server

baseurl=url://path/to/repository/

其中serverid是用于区别各个不同的repository,必须有一个独一无二的名称。

name,是对repository的描述,支持像$releasever $basearch这样的变量;

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这样的变量。

url之后可以加上多个选项,如gpgcheck、exclude、failovermethod等,比如:

[updates-released]

name=Fedora Core $releasever – $basearch – Released Updates

baseurl=http://download.atrpms.net/mirrors/fedoracore/updates/$releasever/$basearch

http://redhat.linux.ee/pub/fedora/linux/core/updates/$releasever/$basearch

http://fr2.rpmfind.net/linux/fedora/core/updates/$releasever/$basearch

gpgcheck=1

exclude=gaim

failovermethod=priority

其中gpgcheck,exclude的含义和[main]部分相同,但只对此服务器起作用,

failovermethode 有两个选项roundrobin和priority,意思分别是有多个url可供选择时,yum选择的次序,roundrobin是随机选择,如果连接失 败则使用下一个,依次循环,priority则根据url的次序从第一个开始。如果不指明,默认是roundrobin。

几个变量

$releasever,发行版的版本,从[main]部分的distroverpkg获取,如果没有,则根据redhat-release包进行判断。

$arch,cpu体系,如i686,athlon等

$basearch,cpu的基本体系组,如i686和athlon同属i386,alpha和alphaev6同属alpha。

对yum.conf设定完成,我们就可以好好体验yum带来的方便了。

国内源

中科大的yum源:

wget http://centos.ustc.edu.cn/CentOS-Base.repo

163的yum源:

wget http://mirrors.163.com/.help/CentOS-Base-163.repo

sohu的yum源

wget http://mirrors.sohu.com/help/CentOS-Base-sohu.repo

下载源.repo文件后,备份默认源配置,替换上新的版运行yum makecache命令使新源生效

#yum makecache

linux 之 yum 介绍 <转>的更多相关文章

  1. Linux实战教学笔记07:Linux系统目录结构介绍

    第七节 Linux系统目录结构介绍 标签(空格分隔):Linux实战教学笔记 第1章 前言 windows目录结构 C:\windows D:\Program Files E:\你懂的\精品 F:\你 ...

  2. Linux中yum和apt-get用法及区别

    Linux中yum和apt-get用法及区别   一般来说著名的linux系统基本上分两大类:   1.RedHat系列:Redhat.Centos.Fedora等   2.Debian系列:Debi ...

  3. linux下yum安装及配置

    1 2 3 4 分步阅读 公司使用的是linux搭建服务器,linux安装软件能够使用yum安装依赖包是一件非常简单而幸福的事情,所以这里简单介绍一下linux安装yum源流程和操作. 工具/原料 电 ...

  4. Linux常用操作命令介绍

     Linux常用操作命令介绍 重要概念 CPU:就像人的大脑,主要负责相关事情的判断以及实际处理的机制.查询指令:cat /proc/cpuinfo 内存:大脑中的记忆区块,将皮肤.眼睛等所收集到的信 ...

  5. Linux监控平台介绍、zabbix监控介绍、安装zabbix、忘记Admin密码如何做

    7月6日任务 19.1 Linux监控平台介绍19.2 zabbix监控介绍19.3/19.4/19.5 安装zabbix19.6 忘记Admin密码如何做 19.1 Linux监控平台介绍 一般大公 ...

  6. [转帖]linux 下yum使用技巧

    linux 下yum使用技巧 https://www.cnblogs.com/galengao/p/5750389.html 本文来自我的github pages博客http://galengao.g ...

  7. Linux centosVMware Linux监控平台介绍、zabbix监控介绍、安装zabbix、忘记Admin密码如何做

    一.Linux监控平台介绍 cacti.nagios.zabbix.smokeping.open-falcon等等 cacti.smokeping偏向于基础监控,成图非常漂亮 cacti.nagios ...

  8. Linux下yum安装MySQL

    写这篇文章的原因是:在刚开始使用Linux操作系统时想要搭建LAMP环境,于是开始在Google和百度上各种寻找资料,碰到了不是很多的问题后,我决定写这篇文章总结一下在Linux下yum安装MySQL ...

  9. Linux的简单介绍和常用命令的介绍

    Linux的简单介绍和常用命令的介绍 本说明以Ubuntu系统为例 Ubuntu系统的安装自行百度,或者参考http://www.cnblogs.com/CoderJYF/p/6091068.html ...

随机推荐

  1. Android 常用系统控件

    1. 日期选择器 DatePickerDialog 2. 时间选择器 TimePickerDialog 3. 单选按钮 RadioButton 4. 多选按钮 CheckBox 5. 下拉列表 Spi ...

  2. phpcms栏目调用

    {loop subcat(0,0,0,$siteid) $r} {php $num++} <h3><a href="{$r[url]}">{$r[catna ...

  3. utf8_general utf8_general utf8_bin区别

    对与general来说 ß = s 是为true的 但是对于unicode来说 ß = ss 才是为true的, 其实他们的差别主要在德语和法语上,所以对于我们中国人来说,一般使用general,因为 ...

  4. HDU 1996

    Problem Description n个盘子的汉诺塔问题的最少移动次数是2^n-1,即在移动过程中会产生2^n个系列.由于发生错移产生的系列就增加了,这种错误是放错了柱子,并不会把大盘放到小盘上, ...

  5. 知识库系统/知识管理系统 WCP

    知识库系统/知识管理系统 WCP 本项目的应用场景是管理技术团队的相关知识(API.代码片段.知识定义.技术经验...) 但是其应用并不局限于这些应用,当然你最好下载一个安装版先试一试.其实这就是一个 ...

  6. 应用tomcat(Linux中安装)

    CentOS 7 中安装 tomcat. 下载 Tomcat Wget 下载 Tomcat Tomcat 官网中找到指定版本 Tomcat rpm 的 url 使用 wget url 下载 rpm , ...

  7. jQuery折叠风琴

    这个效果用jQuery做是很方便的,根本不需要搞得很复杂. 网上有些效果DEMO不仅用了jQuery还引用一两个封装文件,真是匪夷所思. 最初想到了toggle: jQuery(document).r ...

  8. 在字符编码格式选项里UTF-8(无BOM)的意思

    BOM: Byte Order MarkUTF-8 BOM又叫UTF-8 签名,其实UTF-8 的BOM对UFT-8没有作用,是为了支援UTF-16,UTF-32才加上的BOM,BOM签名的意思就是告 ...

  9. oracle中的exists 和not exists 用法详解(转)

    有两个简单例子,以说明 “exists”和“in”的效率问题 1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ; ...

  10. CGI编程完全手册

    一.基本原理 CGI:通用网关接口(Common Gateway Interface)是一个Web服务器主机提供信息服务的标准接口.通过CGI接口,Web服务器就能够获取客户端提交的信息,转交给服务器 ...