linux运维个软件概述,YUM 工作原理详细介绍

YUM 优点

自动解决包的依赖性的问题能更新的添加/删除/更新/RPM包

便于管理大量系统的更新问题

可以同时配置多个资源库(Repository)

简洁的配置文件(/etc/yum.conf)

保持与RPM数据库的一致性

有一个比较详细的log.可以查看何时升级了什么软件包

CentOS的镜像站点

了解 镜像站点的文件结构 对理解 yum 配置文件 .repo 文件有帮助

http://mirror-status.centos.org

http://isoredirect.centos.org/centos/5/isos/i386/

addons/       本目录包含Centos的addons 仓库

centosplus/   本目录包含Centos的centosplus 仓库

extras/      本目录包含Centos的extras 仓库

fasttrack/    本目录包含Centos的extras 仓库

isos-dvd/     本目录包含发行版的DVD iso 下载

isos/        本目录包含发行版 CD iso 下载

os/          本目录包含发行版(distributions)的仓库

updates/     本目录包含Centos的updates仓库

CentOS 的仓库

仓库(repository) 是一个预备好的目录或网站,包含了软件包和索引。

yum 可以在仓库中自动定位并获取正确的RPM软件。

镜像服务器为每个版本的Centos分别提供了一些仓库。

Centos中的软件管理工具 yum已经预先配置为使用下列四个仓库:

base: 构成Centos发行版(distributions)的软件包和安装光盘上的内容一样

updates: base 仓库中软件包的更新版本

addons: 已编译的但不在发行版(distributions)中的软件包

extras: 一大批附加的软件包

centospuls: 用于增强一些现有软件包的功能(默认未启用)

CentOS 仓库的目录结构

updates/

|--SRPMS                        #源代码目录

|  |--*.src.rpm                #源代码包目录

|    |--repodata/                #源代码的索引文件

|--i386                        #Intel 32位平台的目录

|    |--RPMS                        #Intel 32位平台的RPMS目录

|    |    |--*.i386.rpm            #在intel 32位平台上编译的包文件

|    |    |--*.centos.noarch.rpm    #与平台无关的已编译的包文件

|    |--repodata/                #intel 32位平台的索引文件

|--x68_64                        #64位平台的目录

|--RPMS                        #64位平台的RPMS目录

|    |--x68_64.rpm            #在64位平台上编译的包文件

|    |--*.centos.noarch.rpm    #与平台无关的已编译的包文件

|--repodata/                #64位平台的索引文件

配置YUM客户的更新源

yum使用reposdir /etc/yum.repos.d 目录下的一系列.repo 文件列出可获取软件包仓库的镜像站点地址.

默认情况下有两个:

Centos-Base.repo: 用于设置远程仓库

Centos-Media.repo: 用于设置本地仓库

yum程序的目录结构

/etc

|--yum/

|   |--/pluginconf.d

|   |--/yum-updatesd.conf/

|            |--downloadonly.conf

|            |--fastestmirror.conf

|            |--priorities.conf

|--yum.conf

|--yum.repos.d/

|--CentOS-Base.repo

|--CentOS-Media.repo

在.repo 文件中,配置语法是分段的,每一段配置一个软件仓库,语法如下:

设置网络更新源

-----------------------------------------------------------------------------------------

[base]  \\用于指定仓库

name=CentOS-$releasever - Base \\用于指定易读的仓库名称

mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os \\用于指定本仓库的URL

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

#        =ftp://  \\用于指定远程ftp协议的愿

#        =file://  \\ 用于本地镜像或NFS挂载文件系统

#nabled=0/1  \\用于指定是否使用本地仓库,默认为1,即可用。

gpgcheck=1  \\用于指定是否检查软件包的GPG签名

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5  \\用于指定GPG签名文件的URL

注:

若指定mirrorlist,系统将从Centos 的镜像站点中选择离你最近的仓库。

[$releasever]当前系统的版本号

[$basearch] 当前系统的构架

baseurl 可以指定多个URL ,系统会依次检查你列出的仓库。以便某个服务器宕机时使用另一台服务器

设置本地更新源

为了使用 [c5-media]仓库,需将Centos-Base

-----------------------------------------------------------------------------------------

[c5-media]

name=CentOS-$releasever - Media

baseurl=file:///media/CentOS/

file:///media/cdrom/

file:///media/cdrecorder/

gpgcheck=1

enabled=0

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

-----------------------------------------------------------------------------------------

设置非官方更新源

以安置rpmforge 软件包为例

http://rpm.pbone.net/

http://dag.wieers.com/rpm/

http://rpmforge.net

http://rpm.livna.org

http://freshrpms.net

http://atrpms.net

中找到适用于 Centos 5 的软件包

wgethttp://................rpmforge-release......rpm(省略了路径和具体包的版本等信息,这要看你用网址和版本了)

rpm -ivh rpmforge-release........... .rpm

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-*

安装 rpmforge-release 软件包之后可以看到/etc/yum.repos.d/rpmfoge.repo文件

或者

建立一个DAG 的仓库

vi /etc/yum.repos.d/dag.repo

#

[dag]

name=Dag RPM Repository for Red Hat Enterprise Linux

baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag

gpgcheck=1

enabled=1

gpgkey=http://dag.wieers.com/packages/RPM-GPG-KYE.dag.txt

#

yum 命令工具

yum check-update            检查可更新的软件包

yum update                    下载更新系统已安装的所有软件把

yum upgrade                    大规模的升级,不同于上面的是,连旧的淘汰的包也升级

yum install         安装指定的软件包

yum update         更新指定的软件包

yum remove         卸载指定的软件包

yum groupinstall     安装指定的软件组中的软件包

yum groupupdate     更新 ... ...

yum groupremove     卸载 ... ...

yum grouplist                查看系统中已经安装的和可以用的软件组

yum list                    列出资源库中所有可以安装or 更新以及已经安装的的rpm包

yum list              列出资源库中与正则表达式匹配的可以安装或更新以及已经安装的rpm包

yum list available             列出资源库中所有可以安装的rpm包

yum list available      列出资源库中与正则表达式匹配的所有可以安装的rpm包

yum list updates             列出资源库中所有可以更新的rpm包

yum list updates      列出资源库中与正则表达式匹配的所有可以更新的rpm包

yum list installed             列出资源库中所有已经安装的rpm包

yum list installed      列出资源库中与正则表达式匹配的所有已经安装的rpm包

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

yum list extras      列出与正则表达式匹配的已经安装的但是不包含在资源库中的rpm包

yum list recent             列出最近被添加到资源库中的软件包

yum search              检测所有可用的软件的名称、描述、概述和已列出的维护者,查找与正则表达式匹配的值

yum provides          检测软件包中包含的文件以及软件提供的功能,查找与正则表达式匹配的值

yum clean headers             清除缓存中的rpm头文件

yum clean packages             清除缓存中rpm包文件

yum clean all                 清除缓存中的rpm头文件和包文件

yum deplist          显示软件包的依赖信息

第一次使用yum或者yum资源库有更新是.yum会自动下载所有需要的headers 放置于/var/cache/yum

还可以用yum info 命令列出包信息,yum info 可用的参数与 yum list的相同

yum 命令还可以使用 -y 参数 回答命令运行时所提出的问题。

yum update 升级时 排除升级内核

yum update 排除升级内核,方法有两个:

1.修改yum的配置文件 vi /etc/yum.conf,在[main]的最后添加exclude=kernel*

2.直接在yum的命令行执行如下的命令:

yum –exclude=kernel* update

附:

当仓库配置文件 *.repo 使用了多个URL yum-fastestmirror  可以自动选择最快的镜像站点

yum -y install yum-fastestmirror

yum-fastestmirror 的配置文件在 /etc/yum/pluginconf.d/fastestmirror.conf 默认不需要修改。

yum -updatesd

rpm -ql yum-updatesd

yum -cron

yum -y install yum-cron

rpm -ql yum-cron

/etc

|--/cron.daily/yum.cron        每日更新脚本

|--/cron.weekly/yum.cron    每周更新脚本

|--/rc.d/int.d/yum            启动脚本

|--/yum/yum-daily.yum

/usr/share/doc/yum-cron-0.1

|--/COPYING

|--/README

使用yum下载而不安装rpm包

先安装yum-downloadonly

# yum install yum-downloadonly

安装后使用方法如下:

# yum update httpd -y --downloadonly   ###下载到默认目录  /var/cache/yum

OR

# yum update httpd -y --downloadonly --downloaddir=/opt     ##下载到指定目录

# yum install perl-MailTools --downloadonly --downloaddir=/opt -y     ##如果软件已经下载过了,必须使用这个来下载

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值