首页 > 其他 > 详细

Linux Yum的配置

时间:2014-02-09 16:21:11      阅读:345      评论:0      收藏:0      [点我收藏+]

1.Yum概述

Linux系统中安装软件一直是一个比较麻烦的工作,RPMRedHat Package ManageRedHat软件包管理)方式的确可以从一定层度上解决这个问题。通常的RPM包中默认有一个数据库记录,记录这个这个软件要安装的时候必须要安装的其他软件,当安装该软件的时候,RPM会先根据软件里记录的数据查询Linux系统中该软件依赖的其他软件是否已经安装,如果满足安装要求,则允许安装,不满足安装要求,则不予以安装。而Yum的出现就解决了这种软件包的依赖关系,如果发现所依赖的软件包没有安装的话,则自动安装依赖软件包。

Yum工作原理:由于每一个RPM软件包都有一个数据库记录该软件的依赖关系,如果将该内容记录下来并且进行分析,就可以知道每个软件在安装之前需要额外安装哪些基础软件了。也就是说,在服务器上面先以分析工具将所有的RPM文件进行分析,然后将该分析文件记录下来,只要在进行安装或升级时先查询该记录的文件,就可以知道所有相关联的软件。工作流程如下:

服务器端:在服务器上面存放了所有的RPM软件包,然后通过命令分析每一个RPM文件的依赖关系,将这些数据记录成文件放在服务器上面。

客户端:如果需要安装某个软件时,通过yum服务器上记录的依赖性关系文件,下载依赖关系需要的所有相关软件,自动全部下载并进行安装。

2.Yum仓库配置

yum仓库配置首先需要一个yum源,也就是需要提供一个存放RPM包以及YUM对这些RPM包分析文件的位置,这个位置可以是一个本地目录(baseurl)、FTP服务器(FTP)、HTTP服务器(HTTP)。

通常情况下,使用ISO或光盘作为Yum源一般给本机使用,如果有多台主机需要使用yum仓库时最好使用FTP或者是HTTP方式作为Yum源。

2.1FTP服务器作为Yum

步骤如下:

1.挂载光盘

bubuko.com,布布扣

2.安装并配置VSFTPD

进入到挂载目录下的软件包目录,使用rpm –ivh vsftpd安装vsftpd

bubuko.com,布布扣


3.安装createrepo软件包,该软件包用于生成RPM包依赖关系信息和包组信息。

在安装creterepo软件包时,会提示包依赖关系,根据提示安装所需要的软件包后,在安装createrepo软件包。

bubuko.com,布布扣

4.将光盘中的软件包复制到vsftdp匿名用户(anonymous)的家目录下的pub目录下(/var/ftp/pub)。

cp /mnt/cdrom/Packages/*/var/ftp/pub/

5.生成RPM包依赖关系。

createrepo  rpm软件包所在的目录,如:

createrepo  rpm软件包所在目录生成的repodata目录在RPM软件包所在的目录下。

createrepo  -o repodata所在的目录  RPM软件包目录

在软件包所在的目录下会生成一个repodata的目录,该目录下的文件说明如下:

2repomd.xml this is the file that describes the other metadatafiles. It is like an index file to point to the otherfiles. It contains timestamps and checksums forthe other files. This lets a client downloadthis one, small file and know if anything else has changed. This alsomeans that cryptographically (ex: gpg) signing this one file can ensurerepository integrity.

2primary.xml.[gz] this file stores the primary metadatainformation. This includes information such as:

name, epoch,version, release, architecture

file size, filelocation, description, summary, format, checksums header byte-ranges, etc.

dependencies,provides, conflicts, obsoletes, suggests, recommends

file lists forthe package for CERTAIN files - specifically files matching: /etc*, *bin/*,/usr/lib/sendmail [1]

2filelists.xml.[gz] this file stores thecomplete file and directory listings for the packages. The package isidentified by: name, epoch, version, release, architecture and package checksumid.

2other.xml.[gz] this file currently only stores the changelogdata from packages. However, this file could be used for any other additionalmetadata that could be useful for clients.

2groups.xml.[gz] this file is tentatively described. Theintention is for a common package-groups specification as well. There is stillsome sections for this format that need to be fleshed out.



bubuko.com,布布扣


bubuko.com,布布扣

6.重启vsftdp服务

/etc/init.d/vsftpd restart

bubuko.com,布布扣

2.2光盘或ISO文件作为Yum

只需要将光盘或者ISO文件挂载到指定的目录即可。

挂载光盘:mount /dev/cdrom  /mnt/cdrom

挂载ISO文件:mount –o loop rhel.iso /mnt/cdrom

3.Yum客户端配置

yum仓库设置完成以后,需要配置yum客户端,这样yum客户端才可以使用yum的方式安装rpm软件包。

yum客户端的配置文件的位置如下:

/etc/yum.repos.d/*.repo

注:一定要以.repo结尾才可以。

repo文件可以有多个,也就是说yum客户端可以使用多个yum源。

内容如下:

bubuko.com,布布扣

[yum源标签]:这个是标识yum源的,在本地不可重复。

name=yum源的说明:这个是对yum源进行描述的。

baseurl=yum源的位置:指定yum源的位置。如果是本地的话,则为file//mount-point,如baseurl=file:///mnt/cdrom。如果是ftp作为yum源的话,则为ftp://ftp-路径,如baseurl=ftp://var/ftp/pub,如果是HTTP的话,则为http://http-路径,如http://var/www/html

enabled=0|1:是否启用该yum源。0表示不启用,1表示启用。

gpgcheck=0|1:是否启用数字签名进行验证。0表示不启用,1表示启用。

gpgkey=file://gpg-key-location:数字签名存放的位置。通常位于如下目录下:

/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

有时候可能会因为数字签名无法使用,导致不能安装软件包,因此有时需要导入数字签名。

导入数字签名:rpm --import /etc/pki/rpm-gpg/*

bubuko.com,布布扣

4.yum.conf文件详解

文件位置:/etc/yum.conf

该文件的内容如下:

bubuko.com,布布扣

其中main开头的块用于对yum客户端的环境进行配置,各个参数的含义如下:

cachedir:指定yum缓存的目录。yum客户端在该目录下存储下载的rpm包和数据库。默认为/var/cache/yum

keepcache:安装完成后是否保留软件包,0为不保留,1为保留。默认为0

debuglevel:指定debug等级,范围为0-10,默认为2.

logfile:指定yum的日志文件的位置。默认为/var/log/yum.log

pkgpolicy:软件包策略。如果配置了多个yum源时,同一软件在不同的yum源中存在,如果该值为newest,则yum会安装最新的版本,如果为last,则yum客户端会对yum源按照标签进行排序,并安装最后一个yum源的软件包。默认为newest

distroverpkg:指定一个软件包,yum会根据这个包判断系统的发行版本,默认为redhat-release

exactarch:是否只升级和已安装的软件包CPU体系一致的包,0表示可以安装不一致的包,0表示只安装一致的包,默认为1

retries:网络连接发生错误后的重试次数,默认为0,无限重试。

exclude:排除某些软件在升级名单之外,可以用通配符,列表中的各个项目要用空格隔开

metadata_expireyum源超时时间

pluging:是否允许使用插件,0表示不允许使用插件,1表示允许使用插件。默认为1

5.Yum命令参考

格式:

yum 选项与参数软件包名称

选项:

-y:不需要用户确认即将要发生的动作。

yum –y install 软件包名称:安装指定的软件包

yum –y update:升级所有已经安装的软件

yum –y update 软件包:升级指定的软件包

yum check-update:检查是否有需要升级的软件

yum info 软件包:查看指定软件包的信息

yum info updates:显示所有可以升级的软件包的信息

yum info installed:显示所有已经安装的软件包的信息。

yum groupinfo 分组名称:显示指定的分组信息

yum list:显示所有已经安装和可以安装的软件包的信息

yum list installed:显示已经安装的软件包

yum grouplist:显示分组列表

yum search 关键字:搜寻软件包

yum clean all:清除所有yum缓存

yum localinstall 软件名:使用yum的方式安装本地软件包

yum groupinstall 组名:安装一个软件包组。

yum remove 软件名:卸载一个软件

yum groupremove 包组:移除一个软件包组。

yum makecache:构建yum缓存

yum reinstall:重新安装软件包

yum provides 文件名:查询提供指定的文件的软件包名称

yum repolist:显示所配置的yum仓库名称。

yum –installroot:指定安装目录


本文出自 “HeZhang” 博客,请务必保留此出处http://hezhang.blog.51cto.com/1347601/1357202

Linux Yum的配置

原文:http://hezhang.blog.51cto.com/1347601/1357202

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!