对于经常提到的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 �Civh x3270-x11-i386.rpm
2: �CU(update)/F(fresh) 这两个参数主要是升级rpm包的,但二者有一点稍微的不同
U :升级一个软件包,如果此软件包没有安装,那么就安装并升级
F : 与u不同,F如果发现此包尾安装那么就不升级不安装
3:-e (erase).此选项是卸载软件的,(把软件擦掉)
4:-q (query)检验 检验是否安装了查找软件,-qa查看所有安装过的软件 rpm �Cqa |grep nano
5:-V verity) 校验软件 (校验会有不同的选项,可以man查看一下,这里不多说了)
attention:在使用这些选项是常和vh一起使用,使管理更有交互性
RPM还有一些子选项:
--nosignature 忽略签名 rpm �Civh �Cnosignature
--oldpacket 降级软件包 rpm �Civh --oldpacket
--nodeps 安装时忽略依赖性关系(这样的安装可能出现问题,不建议)rpm �Civh --nodeps
--test 表示只是测试安装,并不真正安装 rpm �Civh --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
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