• linux 之 yum 介绍 <转>


    原文在这里  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

  • 相关阅读:
    ArrayList集合封装 类 并通过方法调用
    ArrayList集合的基本操作
    方法的重复定义和重载
    方法间值的传递,二维数组的定义和遍历
    赋值运算,逻辑运算符,引用数据类型
    Javase;jdk的安装调试;基础语法和变量以及基础数据类型
    E-R画图规则和数据库设计的三大范式
    sql多表查询和子查询
    sql约束的使用
    sql表操作的基础语法
  • 原文地址:https://www.cnblogs.com/debmzhang/p/3868272.html
Copyright © 2020-2023  润新知