在redhat上,rpm软件包放在/dev/cdrom下,在cdrom目录下有Cluster(与群集相关的包)、Clusterstorage(与存储相关的包)、Sercer(与服务相关的包)、VT(与虚拟化相关的包)、p_w_picpaths和isolinux(与光盘引导相关)这几个目录,而Server目录下的软件包是我们经常使用的。
一般情况下我们会使用rpm –ivh安装rpm包,其中 –i参数可理解为installed;-v参数为显示详细信息;-h为显示进度条。
另外还有几条常用的的命令参数:
rpm –qa 查询所有的rpm包
rpm –qi 查询已安装包的详细信息**-qi参数后跟的是名字而不是完整的包名
rpm –ql 查询rpm包安装位置信息
rpm –qf查询文件是属于哪个rpm包
rpm –qip 查询未安装包的详细信息**-qip参数后跟的是完整的包名和路径
rpm –qlp 查询未安装包的内容**-qlp参数后跟的是完整的包名和路径
在安装的时候还会遇到一些问题,比如安装的时候有某个文件已经存在,系统就会报错,这时候可以用rpm--replacefiles命令来覆盖文件;如果我们要安装一个软件包组的话,为了避免交互,我们可以使用rpm--replacepkgs;如果安装软件包的时候想指定安装路径,可以用rpm--prefix;如果需要安装有依赖关系的包可以用rpm--nodeps直接安装**安装后不能使用**
rpm –ivh可以安装没有依赖关系的rpm包,而对于有依赖关系的rpm–ivh是不能安装的,像下面这种情况。
对于这种情况我们可以使用yum来解决,而对于Red Hat Enterprise 5.0以后实现软件包的部署是基于网络的,所以可以把yum理解为客户端-服务器形式。
如上图所示,提供安装文件的为yum服务器,上面有放置安装文件的几个“仓库”,网络中的一个或多个yum客户端可以通过FTP、HTTP、NFS等网络协议访问yum服务器,因此yum服务器也必须是FTP、HTTP、NFS等的应用服务器。
yum实现过程:
在要成为yum服务器的linux主机上安装ftp,使其成为ftp服务器。登陆ftp服务器会发现处在 / 下, / 下还有一个pub目录,这个pub目录其实就是主机/var/ftp/pub。那我们可以把所有的软件包放在主机/var/ftp目录下,方便yum客户端的访问。
通过修改/etc/yum.repos.d/*.repo来指明yum服务器的所有信息。
在yum客户端上查看yum服务器上都有那些“仓库”:
现在就可以安装有依赖关系的软件包了:
在yum服务器上如果有新上传的rpm包的话是不能被识别的,必须更新“仓库”下的comps-rhel5-server-core.xml把新上传的rpm包信息缓存到文件中,使用createrepo –g 命令更新(需要安装createrepo-0.4.11-3.el5.noarch.rpm)。*yum clean all清除缓存文件
如果要安装没有redhat数字签名的rpm包的话,使用—nogpgcheck不进行数字签名检测。
上面介绍的这种叫网络yum,可以为网络中的多台yum客户端提供下载安装。我们也可以把一台linux主机既作为服务器又作为客户端,这种又叫做本地yum。
yum install 安装rpm包
yum repolist 能识别的仓库有哪些
yum list all列出所有软件包
yum list installed列出已安装软件包
yum list Available列出未安装软件包
yum Info查看软件包信息 *后跟-y选项可以避免交互
yumremove 卸载软件*后跟-y选项可以避免交互
yum grouplist查看包组
yum groupinfo查看包组信息
yum groupinstall 安装包组*组名中有空格的话要用双引号引起来
yum groupremove 卸载包组
卸载:
卸载使用rpm–e
升级:
升级可以使用rpm –Fvh*只能完成升级
rpm –Uvh*能完成升级和安装
校验:
校验是否发生改变用rpm–V
转载于:https://blog.51cto.com/windowsemo/1259692