Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103647929
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-05-04 22:40:41

 

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

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

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

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、编辑/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

要使用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 =  or yourwebserverip/RPMS  
如果repository在您本地系统上,也可以用下面的方式:
baseurl = file:///data/RPMS/                  

当第一次使用yum或yum资源库有更新时,yum会自动下载所有所需的headers放置于/var/cache/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后,基本上就可以解决。  

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

图1

图2

浏览 查看您系统上当前已安装的软件包组的情况。
搜索 查找某个软件包
列表 [所有软件包] 是您系统当前已安装的包和可用的包的总
     [已安装的软件包] 是您系统当前已安装的软件包
     [可用的软件包] 是您当前系统上没有安装和已删除的软件包  

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

2、更新软件包工具
Turbolinux 还提供了一个图形化的软件更新的工具,选择”应用程序→系统工具→软件包更新工具”。如图3、图4

图3

图4

如果您的repository有新的软件包,此工具会为您找到,点击[应用更新]即可更新此包。
阅读(433) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~