对于经常提到的linux,必须明白linux准确应该是GNU/linux,亲爱的Linus torvalds先生为我们提供了linux的kernel,GNU也是linux的发展必须的部分,代表首当其冲的就是

Richard   Mathew  stallman,这位当时世界上著名的cracker编写出了伟大的gcc编译器,c函数库,而且将emacs移植到Unix,并成立FSF,为今天linux的发现做出了不可磨灭

的贡献,请谨记这些伟大的men。

转入正题,我们正式开始我们的RPM介绍

   RPM是RedHat公司推出的一种软件包管理工具,RPM的出现大大方便了用户的使用,而RedHat公司也因为这个获得了巨大的发展

    linux(或者说开源发行版的软件)常见的有两种:

       一:源代码包 ,其为软件的源程序,一般不能直接使用

       二:二进制代码包:这种软件包是源代码经过编译之后生成的,可以至今执行,一般.tar.gz结尾

(小知识:解释一下我们所谓的配置文件,学习linux的人们都知道配置文件时我们linux的一个重要哲学,那么配置文件为什么这么重要呢?举个例子,如果program是个汽车的

话,那么的我们的配置文件就是交通规则,其实配置文件就是二进制文件运行的“规则”)

    下面介绍一下RPM

       四大组成部分:

       1:二进制文件:主要安装在/bin,/sbin,/usr/bin,/usr/sbin/,/usr/local/bin,/usr/local/sbin (二进制安装路径)

       2:配置文件: /etc,/usr/local/etc

       3: 库文件:/lib ,/usr/local/lib,/usr/lib,/usr/local/share/lib  (二进制文件与库文件有什么区别呢?)

       4:帮助文件:/usr/share/docs,/usr/share/man,/usr/local/share/man。(每个开源开发者,在开发之后都必须有帮助文档说明你的程序用法,这是习惯惯例)

      五大功能:

      1:-i (install)顾名思义,i 参数可以帮我们安装一个未安装的软件包   eg:rpm –ivh  x3270-x11-i386.rpm

      2: –U(update)/F(fresh)  这两个参数主要是升级rpm包的,但二者有一点稍微的不同

             U :升级一个软件包,如果此软件包没有安装,那么就安装并升级

             F :  与u不同,F如果发现此包尾安装那么就不升级不安装

      3:-e (erase).此选项是卸载软件的,(把软件擦掉)  

      4:-q (query)检验  检验是否安装了查找软件,-qa查看所有安装过的软件  rpm –qa  |grep  nano

      5:-V  verity) 校验软件  (校验会有不同的选项,可以man查看一下,这里不多说了)

     attention:在使用这些选项是常和vh一起使用,使管理更有交互性

       RPM还有一些子选项:

       --nosignature  忽略签名   rpm –ivh –nosignature

       --oldpacket     降级软件包   rpm –ivh  --oldpacket

       --nodeps  安装时忽略依赖性关系(这样的安装可能出现问题,不建议)rpm –ivh      --nodeps

       --test   表示只是测试安装,并不真正安装   rpm –ivh    --test 

现在说一下rpm安装的依赖性问题

     众所周知,rpm的安装存在依赖性的问题,在你完成安装你的linux系统之后,你就安装了rpm功能,我们的rpm管理你的安装,卸载,更新时通过一个自建的数据库完成,这个

数据库在/var/lib/rpm/下,当这个数据库出问题时,rpm就会出问题,这是你就需要修复你的数据库,可以用一下参数:--initdb(修复;)--rebiulddb(重新生成)

通过一个叫specs文件解读提示用户文件依赖性安装问题

       linux有丰富的软件,这些软件习惯放在(光盘)四个目录下

       1:   Server    存放我们常用的软件包

       2:VT 与虚拟化有关的软件包

       3:Cluster  与集群有关的软件包

       4:ClusterStage  与集群有关的软件包

了解这些对我们以后yum打下一定的基础

 

yum的详解

众所周知,虽然rpm较之前的软件安装让用户方便了很多,但人们的追求的欲望用没有尽头,习惯了这种方便,我们日益发现的它的不足,最让人烦恼的莫过

于依赖性问题,出现问题就需要解决,而yum就在此种前提下应运而生,那么yum是什么呢?

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安

装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

下面就说一下yum

    说到yum,首先必须要说的就是yum源,因为正是yum源解决了rpm的依赖性问题,yum源就是把一批rpm包放在一个固定的位置供远程或本地用户下载安装,yum源会根据自

身的一个配置文件自动分析依赖性问题,自动安装

      yum源支持ftp,http,nfs,当然包括本地file,yum库与本地主机的关系可以用一张图片清楚地表示:

yum

  

yum

    install (非全名) 安装软件包 info 查看软件包的摘要信息

     remove/erase 删除包 (使用remove时注意,它会删除所有有依赖关系的包)

     groupinstall 安装软件包组 groupinfo groupremove

     grouplist 查看软件包组

     localinstall 安装本地软件包(yum可解决依赖关系)

     reinstall重新安装 serach 软件包的简要信息(不精确)

     check-update 检查可更新的包 repolist 已安装好yum库

     - y 不询问安装 -q 静默模式安装 -d调试级别

     -t忽略已安装的包(安装多个包时,否则后面的包都不安装)]

     --nogpgcheck指定不需要验证签名信息

yum两个常用的参数

     list all 显示所有软件包(可使用通配符搜索) list "na*"

     available 所有可安装的包

     update 可升级的包

     installed 已安装的包

     exeras 额外的包(不属于yum库的包)

     obletes 已过时的包

     recent 刚加入yum库的包

     clean all 清空所有信息

     package 清空软件包信息

     headers 首部 ,包的依赖关系

     dbcahe 软件包的元数据信息(数据库)

 

创建本地yum

使用的是5.4的光盘,使用光盘内的软件包.首先我们建立/media/cdrom用于挂在光驱,建立/var/yum/作为yum源的目录

   1:  mount /dev/cdrom /media/cdrom      挂载光盘

   2:  cp -r /media/cdrom/* /var/yum          拷贝光盘文件

   3:  chmod -R u+w /var/yum                   修改文件的权限

   4:  rpm -ivh /media/cdrom/Server/createrepo…        安装createrepo包 (本地已安装时可省略此步)

建立yum源元数据信息

    createrepo -g /var/yum/Server/repodata/comps......

/VT/

/Cluster/

/ClusterServer/

修改yum客户端配置文件

[Server]
   name= Instructor Server Repository
  baseurl=file:///var/yum/Server
  gpgcheck=0

[VT]
   name=Instructor VT Repository
   baseurl=file:///var/yum/VT
   gpgcheck=0

[Cluster]
   name= Instructor Cluster Repository
   baseurl=file:///var/yum/Cluster
   gpgcheck=0

[ClusterStorag]

    name=Instructor ClusterStorag Repository

   baseurl=file:///var/yum/ClusterServer
   gpgcheck=0

清除yum源信息并更新 yum clean all yum list all

测试安装httpd服务 yum install httpd