yum

yum的工作原理

 

yumc/s模型,yum是由互联网上的官方认证yum仓库,可以通过本地客户端访问远程yum仓库,先拿系统安装时自带的程序包源数据和互联网上的yum仓库上的程序包的源数据比较,看下校验码是否相同,不同的话,就把网上最新的源数据下载到本地,查找本地已安装的程序和你要下载的程序做比较,没有就安装有就不用了,安装完后会删除源程序包。

注意:源数据里放着是:程序的版本号,程序列表,程序之间的依赖关系等等...

yum的缺点:在安装过程中如果中断了,在开始时yum可能识别不了这个程序是否安装。

yum仓库不光有网上的镜像服务器,官网服务器,还可以自己制作一个rpm包,可以用系统光盘上的仓库。

 

 

[main]                       #全局设置
cachedir=/var/cache/yum         #yum下载的RPM包的缓存目录
keepcache=0             #缓存是否保存,1保存,0不保存。
debuglevel=2             #调试级别(0-10),默认为2(具体调试级别的应用,我也不了解)
logfile=/var/log/yum.log         #yum的日志文件所在的位置
exactarch=1             #在更新的时候,是否允许更新不同版本的RPM包,比如是否在i386上更新i686RPM包。
obsoletes=1             #这是一个update的参数,具体请参阅yum(8),简单的说就是相当于upgrade,允许更新陈旧的RPM包。
gpgcheck=1             #是否检查GPG(GNU Private Guard),一种密钥方式签名。
plugins=1             #是否允许使用插件,默认是0不允许,但是我们一般会用yum-fastestmirror这个插件。
installonly_limit=3         #允许保留多少个内核包。
exclude=selinux*         #屏蔽不想更新的RPM包,可用通配符,多个RPM包之间使用空格分离。

以上转载自:

http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/10/09/2203916.html

 

 

*.repo文件详解

 

什么是repo文件?

    repo文件是Fedora中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用!
我们以一份系统自带的repo文件做为实例来探讨(#号后面是我加的注释):

    [fedora]      #方括号里面的是软件源的名称,将被yum取得并识别

        name=Fedora $releasever - $basearch   #这里也定义了软件 仓库的名称,通常是为了方便阅读配置文件,一般没什么作用,$releasever变量定义了发行版本,通常是8,9,10等数字,$basearch变 量定义了系统的架构,可以是i386、x86_64、ppc等值,这两个变量根据当前系统的版本架构不同而有不同的取值,这可以方便yum升级的时候选择 适合当前系统的软件包,以下同……
failovermethod=priority   #failovermethod 有两个值可以选择,priority是默认值,表示从列出的baseurl中顺序选择镜像服务器地址,roundrobin表示在列出的服务器中随机选择
exclude=compiz* *compiz* fusion-icon* #exclude这个选项是后来我自己加上去的,用来禁止这个软件仓库中的某些软件包的安装和更新,可以使用通配符,并以空格分隔,可以视情况需要自行添加
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
#上面的一行baseurl第一个字符是'#'表示该行已经被注释,将不会被读取,这一行的意思是指定一个baseurl(源的镜像服务器地址)
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
#上面的这一行是指定一个镜像服务器的地址列表,通常是开启的,本例中加了注释符号禁用了,我们可以试试,将$releasever和$basearch替换成自己对应的版本和架构,例如10和i386,在浏览器中打开,我们就能看到一长串镜可用的镜像服务器地址列表。
选择自己访问速度较快的镜像服务器地址复制并粘贴到repo文件中,我们就能获得较快的更新速度了,格式如下baseurl所示:
baseurl=
ftp://ftp.sfc.wide.ad.jp/pub/Linux/Fedora/releases/10/Everything/i386/os
file:///media/cdrom
http://ftp.yz.yamagata-u.ac.jp/pub/linux/fedora/linux/releases/10/Everything/i386/os
http://mirror.nus.edu.sg/fedora/releases/10/Everything/i386/os
http://mirror.yandex.ru/fedora/linux/releases/10/Everything/i386/os
http://ftp.twaren.net/Linux/Fedora/linux/releases/10/Everything/i386/os
http://ftp.itu.edu.tr/Mirror/Fedora/linux/releases/10/Everything/i386/os

enabled=1 #这个选项表示这个repo中定义的源是启用的,0为禁用
gpgcheck=1 #这个选项表示这个repo中下载的rpm将进行gpg的校验,已确定rpm包的来源是有效和安全的
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch #定义用于校验的gpg密钥

##以下的软件仓库基本上用不到,选项含义同上
[fedora-debuginfo]
name=Fedora $releasever - $basearch - Debug
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/debug/
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-debug-$releasever&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

[fedora-source]
name=Fedora $releasever - Source
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/source/SRPMS/
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-source-$releasever&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

以上转载自:

http://hi.baidu.com/%CE%AA%B0%AExxx/blog/item/ba40f75157f8ec878c54308d.html

 

yum命令的用法:

   help 帮助信息

   显示仓库列表

repolist

yum repolist all :显示所有

yum repolist enabled显示启用的

Yum repolist disabled :显示禁用的

 

    显示程序包

    list

    # yum list [all | glob_exp1] [glob_exp2] [...]

yum list显示程序包

Yum list all:显示所有的程序包,可指定包名

匹配显示程序:

 wKioL1Z6V_CCTGh0AABFjB_2cB0492.png


    # yum list {available|installed|updates} [glob_exp1] [...]

Yum list available:显示未安装的程序包,可指定包名

Yum list updates:显示可升级的程序包,可指定包名或加版本

Yum list installed: 以安装的程序包,可指定包名或加版本

 

    安装程序包:

    install package1 [package2] [...]

Yum install 包名 

    reinstall package1 [package2] [...]  (重新安装)

Yum reinstall 以安装的包名

 

升级程序包

Yum update 包名或加版本

    downgrade package1 [package2] [...] (降级)

wKiom1Z6V3vypw79AAA7RvkFaSI040.png

 

    检查可用升级:

    check-update

wKiom1Z6WAWQYPHlAAAkB8LtJZw822.png

    卸载程序包:

    remove | erase package1 [package2] [...]

wKiom1Z6Wmmjt9P-AABByPRqxwE397.png

    查看程序包information:

    info [...]

yum info :如果后面不跟包名,默认显示所有

    查看指定的特性(可以是某文件)是由哪个程序包所提供:

    provides | whatprovides feature1 [feature2] [...]

yum provides /etc/passwd :查看文件是由那个程序包所提供的

Yum provides bash :查看命令是由那个程序包所提供的

    清理本地缓存:

    clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]

wKiom1Z6Woqz4CP3AAAiRoZewNU328.png清除数据包

wKiom1Z6Wp6hvCQrAAAjXicNHQc667.png:清理过期文件

    构建缓存:

    Makecache

wKioL1Z6WtXwbqkzAAAqk-o4XCY774.png

 

    搜索:

    search string1 [string2] [...]

yum search zsh 

    以指定的关键字搜索程序包名及summary信息;

 

    查看指定包所依赖的capabilities:

    deplist package1 [package2] [...]


 wKiom1Z6WwywvJXrAAA47H8Xmt4343.png

    查看yum事务历史:

    history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]

yum history info

    安装及升级本地程序包:

* localinstall rpmfile1 [rpmfile2] [...]

wKiom1Z6W9DRxxEWAABKYIhbPME192.png

           (maintained for legacy reasons only - use install)

        * localupdate rpmfile1 [rpmfile2] [...]

           (maintained for legacy reasons only - use update)

yum localupdate 本地包全名

 

    包组管理的相关命令:

        * groupinstall group1 [group2] [...]

Yum groupinstall 包组名 :安装组包

        * groupupdate group1 [group2] [...]

Yum groupupdate 包组名 :升级组包

        * grouplist [hidden] [groupwildcard] [...]

yum grouplist 包组名  :查询包组

        * groupremove group1 [group2] [...]

yum groupremove 包组名 :删除包组

        * groupinfo group1 [...]

wKioL1Z6XATAfiYoAAAsSp-OsEE658.png


你可能感兴趣的:(互联网,服务器,工作原理,yum,版本号,源程序)