什么才是Linux系统管理中最重要的?(二)

日期: 2008-04-07 作者:韩玄科 来源:TechTarget中国

  二、 YUM
 
  一)YUM介绍


  yum(yellowdog updater modified)的理念是使用一个中心仓库(repository)管理一部分甚至一个distribution的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等等操作,减少了Linux用户头痛的dependencies的问题。


  yum通过一个或者多个配置文件描述对应的repository的网络地址,通过http或者ftp协议在需要的时候从repository获得必要的信息,下载相关的软件包。这样,本地用户通过建立不同的repository的描述说明,在有网络连接时就能方便进行系统的升级维护工作。


  二)YUM配置及应用


  1建立repository


  repository可以使用createrepo命令创建,也可以用网络中已有的repository镜像,下面我们介绍如何建立一个repository(以httpd为例)。


  1.1配置HTTP服务


  1、创建要存放RPM包的目录


  #mkdir /data && mkdir /data/RPMS
  2、将每张安装光盘上的GTES目录下所有的RPM包以及其他新的软件包复制到/data/RPMS目录下,如果您只想管理部分RPM


  包也可以只将需要的包复制到此目录:


#cp *.rpm /data/RPMS


3、将第一张安装光盘GTES/repodata/comps.xml文件复制到/data/下,然后执行createrepo命令:


#createrepo -v -p -g /data/comps.xml -o /data/RPMS /data/RPMS


该操作会创建/data/RPMS/repodata目录,并在其中生成有关/data/RPMS目录中rpm包的信息文件。类似下面的结果:


#ls -l /data/RPMS/repodata
-rw-r–r– 1 root root  895280 04-24 14:24 comps.xml
-rw-r–r– 1 root root 2050016 04-24 14:24 filelists.xml.gz
-rw-r–r– 1 root root  113566 04-24 14:24 other.xml.gz
-rw-r–r– 1 root root  750514 04-24 14:24 primary.xml.gz
-rw-r–r– 1 root root    1140 04-24 14:24 repomd.xml


4、编辑/etc/httpd/conf/httpd.conf
DocumentRoot  “/var/www/html” 改为 DocumentRoot  “/data”


然后在文件最后添加下列几行:



      Options FollowSymLinks Indexes Includes
      AllowOverride None



5、重新启动httpd


#/etc/init.d/httpd restart
1.2配置yum-updatesd服务
1、编辑/etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=turbolinux-release
tolerant=1
exactarch=1
obsoletes=1
gpgcheck=1   ==>只需要将此处改为0,即不检查GPG签名。
plugins=1
metadata_expire=1800


# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d


2、重新启动yum-updatesd


/etc/init.d/yum-updatesd restart


2.配置yum客户端


要使用yum功能,我们仅仅需要配置一个yum客户端。如下:


1、编辑/etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=turbolinux-release
tolerant=1
exactarch=1
obsoletes=1
gpgcheck=1   ==>只需要将此处改为0,即不检查GPG签名。
plugins=1
metadata_expire=1800


# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d


2、编辑/etc/yum.conf或者在/etc/yum.repos.d/下新建以.repo为后缀的文件(如:gtes11.repo),在文件最后加入下列几行:


[repositoryid]
name = gtes11 packages updates
baseurl = http://yourwebservername/RPMS or yourwebserverip/RPMS
如果repository在您本地系统上,也可以用下面的方式:
baseurl = file:///data/RPMS/  


3.yum应用


当第一次使用yum或yum资源库有更新时,yum会自动下载所有所需的headers放置于/var/cache/yum目录下,所需时间可能较长。


3.1 yum命令介绍


下面我们介绍一下yum一些常用命令:


列出资源库中所有可以安装或更新的rpm包


#yum list


列出资源库中特定的可以安装或更新以及已经安装的rpm包


#yum list mozilla


可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包


#yum list mozilla*


搜索rpm包


#yum search mozilla


安装rpm包,同时自动安装其所依赖的软件包


#yum install mozilla


删除rpm包,同时删除倚赖于该包所有的软件包


#yum remove mozilla


检查有哪些可更新的rpm包


#yum check-update


更新指定的rpm包


#yum update mozilla


更新软件包(更新所有可以升级的rpm包,包括kernel)


#yum -y update


大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级
#yum upgrade
yum缓存(/var/cache/yum/)的相关参数
清除缓存中rpm包文件
#yum clean packages
清除缓存中rpm头文件
#yum clean headers
清除缓存中旧的rpm头文件
#yum clean oldheaders
清除缓存中旧的rpm头文件和包文件
#yum clean 或#yum clean all (相当于yum clean packages + yum clean oldheaders)



注意:在您正确配置了repository及yum客户端后,使用yum时,如果报””这样的错误,很可能是您客户端yum缓存造成的。执行yum clean all后,基本上就可以解决。


3.2 图形工具


1、添加/删除软件包工具


Turbolinux提供了基于yum的图形化软件包添加/删除工具,选择”应用程序→系统工具→添加/删除软件”。


浏览 查看您系统上当前已安装的软件包组的情况。


搜索 查找某个软件包


列表 [所有软件包] 是您系统当前已安装的包和可用的包的总
     [已安装的软件包] 是您系统当前已安装的软件包
     [可用的软件包] 是您当前系统上没有安装和已删除的软件包


  注意:在您添加所选的包的同时,此工具会同时添加它所依赖的包;删除所选的包的同时,会删除依赖此包的一些包。


  2、更新软件包工具


  Turbolinux 还提供了一个图形化的软件更新的工具,选择”应用程序→系统工具→软件包更新工具”。
 
  如果您的repository有新的软件包,此工具会为您找到,点击[应用更新]即可更新此包。


  总结,RPM使用起来最直接,不需要额外配置其他服务;而YUM则需要配置repository,但是使用起来比较方便。至于哪个工具比较好用,还要因人而异。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐