Chinaunix首页 | 论坛 | 博客
  • 博客访问: 46414
  • 博文数量: 9
  • 博客积分: 1433
  • 博客等级: 上尉
  • 技术积分: 112
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-12 23:41
文章分类
文章存档

2011年(1)

2009年(8)

我的朋友

分类: LINUX

2009-05-05 23:49:57


    Yun之前,先说一下RPM是什么?RPMRedHat Package Manager的缩写。这个软件管理的程序是由Red Hat发展出来的,当然也有很多其它相类似的软件管理程序 。RPM是以一种数据库记录的方式来将所需要的软件安装到Linux系统的一套管理程序。其最大的特点就是将要安装的软件先编译过(如果需要的话)并且打包好,通过包装好的软件里头预设的数据库记录,记录这个软件要安装的时候必须要的依赖的其它软件,当安装在Linux系统时,RPM会先根据软件里纪录的数据查询Linux系统中依赖的其它软件是否满足,如果满足则安装,如不满足则不安装。RPM包安装程序最大的问题在于,由于RPM程序是已经打包好的数据,也就是说,里面的数据已经都编译完成,所有安装时一定需要当初安装时的主机环境才能安装。当初建立这个软件的安装环境必须也要在当前主机上出现。如果有过RPM安装经验,碰到这样的问题时的确很头疼。而YUM可以很好的解决这个问题。YUMYellow dog Updater, Modified的缩写,是由Duke University所发起的计划,目的就是为了解决RPM的依赖关系的问题,方便使用者进行软件的安装、升级等等工作。在此在特别说明的是,YUM只是为了解决RPM的依赖关系的问题,而不是一种其它的软件安装模式。当然可以实现这样功能的除了YUM外,还有APT (Advanced Package Tool,是由debian所发展的一个软件管理工具)。其实YUM的工作原理并不复杂,每一个 RPM软件的头(header)里面都会纪录该软件的依赖关系,那么如果可以将该头的内容纪录下来并且进行分析,可以知道每个软件在安装之前需要额外安装哪些基础软件。也就是说,在服务器上面先以分析工具将所有的RPM档案进行分析,然后将该分析纪录下来,只要在进行安装或升级时先查询该纪录的文件,就可以知道所有相关联的软件。所以YUM的基本工作流程如下:


服务器端配置:


#mount -o loop rhel-server-5.3-i386-dvd.iso /mnt

#cd /mnt/Server

#rpm -ivh vsftpd-*.rpm

#server vsftpd restart

#cd ..

#cp -R Cluster/ /var/ftp/pub

#cp -R ClusterStorager/ /var/ftp/pub

#cp -R VT/ /var/ftp/pub

#cp -R Server/ /var/ftp/pub (#把这4个目录COPYvsftp的默认目录下面)

#cd /var/ftp/pub

#rm -rf `find /var/ftp/pub | grep .olddate`

#rpm -q createrepo (# [ $? -ne 0 ] && rpm -ivh createrepo*)

#for i in `find /var/ftp/pub | grep “xml$” |grep comps ` ;do createrepo -g ${i#./*/} ${i%/*/*.xml}; done (# 各种依赖关系生成一个列表)


到此服务器端的配置完成。


客户端配置:


#vim /etc/yum.repos.d/server.repos


本地配置文件内容:

[rpms]

name=Red Hat Enterprise Linux $releasever - $basearch - rpms

baseurl=file:///var/ftp/pub/Server

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[VT]

name=Red Hat Enterprise Linux $releasever - $basearch - VT

baseurl=file:///var/ftp/pub/VT

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[Cluster]

name=Red Hat Enterprise Linux $releasever - $basearch-Cluster

baseurl=file:///var/ftp/pub/Cluster

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[ClusterStorage]

name=Red Hat Enterprise Linux $releaseve -$basearch - ClusterStorage

baseurl=file:///var/ftp/pub/ClusterStorage

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-Release

远程客户端内容(以远程提供 ftp 服务为例):

[rpms]

name=Red Hat Enterprise Linux $releasever-$basearch -rpms

baseurl=ftp://192.168.0.1/pub/Server

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[VT]

name=Red Hat Enterprise Linux $releasever -$basearch -VT

baseurl=ftp://192.168.0.1/pub/VT

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpmg-pg/RPM-GPG-KEY-redhat-release

[Cluster]

name=Red Hat Enterprise Linux $releasever - $basearch-Cluster

baseurl=ftp://192.168.0.1/pub/Cluster

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[ClusterStorage]

name=Red Hat Enterprise Linux $releasever-$basearch -ClusterStorage

baseurl=ftp://192.168.0.1/pub/ClusterStorage

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

客户端配置完成

#getenforce (#查看selinux是否打开 )

#chcon -u system_u -r object_r -t etc_t /etc/yum.d/servser.repo


#yum list

#yum grouplist

#yum install

#yum groupinstall


可以了 !遇到复杂的依赖关系以后不需要找rpm 包慢慢的安装,yum可以解决软件各种依赖关系的烦恼.


阅读(2737) | 评论(0) | 转发(0) |
0

上一篇:initrd.img的error制作

下一篇:找工作

给主人留下些什么吧!~~