rpm是Redhat Package Manager的缩写,是Linux的特有的软件包的管理工具,可以很大程度上方便我们安装软件包。当然现在的大部分包都可以使用yum来方便的安装,但rpm在此之前,确实是一种非常方便的工具,基本上所有使用Redhat Linux的人都对它相当熟悉。
yum是yellow dog update manager 的缩写,由于我们在安装包是会出现许多依赖关系,所以当我们安装某个软件包时,系统会提示我们应该安装哪一个包,而当我们去安装那个软件包时有可能会需要安装另外的包,所以这是一个非常让人头痛的问题。而yum就很好的解决了这个问题,它是由客户端和yum源库组成的。我们需要在客户端安装yum客户端包,并且需要配置一下客户端配置文件,对于yum源来说,它一般存放了所有可能需要的软件包,并且库中建立了个软件包的依赖关系,并将相同类别的服务分组。
rpm:
- 二进制文件 安装路径:/bin,/sbin,(启动必须) /usr/bin ,/usr/sbin(运行必须) /usr/local/bin ,/usr/local/sbin (第三方软件)
- 配置文件(纯文本) 安装路径:/etc ,/usr/local/etc
- 库文件 安装路径: /lib ,/usr/lib ,/usr/local/lib , /usr/X11/lib
- 帮助文件 安装路径: /usr/share/doc ,/usr/share/man ,/usr/share/man
rpm的选项
-q 查询 -i 安装 -e 载 -V 校验 -U/-F 更新
--force 忽略冲突
--nodeps 略依赖关系
--oldpackage 降级
-ivh 以每个#号2%的显示安装
--test 测试(不安装)
--nosignature 指定不需签名
-Uvh升级时,老版本安装过则更新,否则安装老版本在更新
-Fvh升级时,若老版本没安装则停止更新
-qa显示安装的全部软件包
-qf filename 查询文件属于哪个软件包
-ql packagename 查询软件包安装的文件(安装过后)
-qpl packagename 查询软件包安装的文件(未安装前,p指定全路径)
-qi packagename 软件包的信息(安装过后)
-qpl packagename 软件包的信息(未安装前,p指定全路径)
yum:
yum获取软件包的方式
http://
yum的参数
install (非全名) 安装软件包
info 查看软件包的摘要信息
remove/erase 删除包 (使用remove时注意,它会删除所有有依赖关系的包)
groupinstall 安装软件包组 groupinfo groupremove
grouplist 查看软件包组
localinstall 安装本地软件包(yum可解决依赖关系)
reinstall 重新安装
serach 软件包的简要信息(不精确)
check-update 检查可更新的包 repolist 已安装好yum库
-y 不询问安装 -q 静默模式安装
-t 忽略已安装的包(安装多个包时,否则后面的包都不安装)]
--nogpgcheck 指定不需要验证签名信息
yum两个常用的参数
list all 显示所有软件包(可使用通配符搜索) list "na*"
available 所有可安装的包
update 可升级的包
installed 已安装的包
exeras 额外的包(不属于yum库的包)
obletes 已过时的包
recent 刚加入yum库的包
clean all 清空所有信息
package 清空软件包信息
headers 首部 ,包的依赖关系
dbcahe 软件包的元数据信息(数据库)
创建本地yum源
首先我们建立/media/cdrom用于挂在光驱
建立/var/yum/作为yum源的目录
挂载光盘 mount /dev/cdrom /media/cdrom
拷贝光盘文件 cp -r /media/cdrom/* /var/yum
修改文件的权限 chmod -R u+w /var/yum
安装createrepo包 (本地已安装时可省略此步)
rpm -ivh /media/cdrom/Server/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