一、两者简介和区别
1、Linux安装程序方式:
- 通用二进制格式:直接解压压缩文件,就可以使用。但一定要注意安装平台。
- 软件包管理器:如rpm。
- 软件包管理器的前端工具:如yum。
- 源代码编译。
2、两者区别:
- rpm是由RedHat 公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的打包、安装、查询、升级、卸载、校验、数据库管理。但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时。
- RPM早期被称为RedHat Package Manager,但由于目前RPM非常流行,且已经成为Linux工业标准。所以RPM现在又被称为RPM is Package Manager。
- yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
二、rpm使用方式
1、安装一个rpm包
rpm -ivh package_file
-i:安装
-v:可视化
-h:显示安装进度
另外的常用的附带参数为:
--force 强制安装,即使覆盖其他包的文件也要安装
--nodeps:忽略依赖关系。当要安装的rpm包依赖其他包的时候,即使其他包没有安装,也要安装这个包
--query:查询指定包名。同-q选项。
--hash:同-h。
--install:表示安装,同-i选项。
--test:仅作测试,不真正执行,可用于测试安装,测试卸载。
--replacepkgs:重新安装。替换原有的安装。
--initdb:新建RPM的数据库。
--rebuilddb:重建RPM的数据库。
--percent:以百分比的形式输出安装的进度。
2、升级一个rpm包
rpm -Uvh filename
-U:升级软件,如果该软件没安装则安装软件
-F:升级软件
3、卸载一个rpm包
rpm -e filename
filename通过rpm查询功能查询到的,卸载时的filename和安装时的是有区别的。
4、查询一个包是否安装
rpm -q 包名(这里的包名是不带有平台信息以及后缀名的)
- eg:rpm -q alacarte-0.10.0-1.fc6(如果加了平台信息及后缀名alacarte-0.10.0-1.fc6.noarch.rpm反而不能查出来)
- 查询当前系统上所安装的所有rpm包:rpm -qa
5、得到一个rpm包的相关信息
rpm -qi 包名(同样不需要加平台信息和后缀名)
6、列出一个rpm包安装的文件
rpm -ql 包名
7、列出某一个文件属于哪个rpm包
rpm -qf 文件的绝对路径
三、yum使用方式
1、列出所有可用的rpm包
yum list
安装信息如果安装了就显示installed,未安装则显示base或者extras,如果是该rpm包已经安装但需要升级则显示updates。
2、搜索一个rpm包
有两种搜索方法:
①yum search [相关关键词]
eg:yum serch vim
②使用grep过滤
yum list | grep vim
3、安装一个rpm包
yum install [-y][rpm包名]
如果不加-y选项,则会以用户交互方式安装,首先列出需要安装的rpm包信息,然后会问用户是否需要安装,输入y安装,输入n不安装。直接加上-y选项,就省略掉了问用户是否安装的那一步。
4、卸载一个rpm包
yum remove [-y][rpm包名]
-y选项和安装时时一样的作用
5、升级一个rpm包
yum update [-y][rpm包]
6、其他常用查询项目
info:和list相似,类似rpm -qai执行效果