一、 rpm包的管理
介绍:
一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中,它生成具有RPM扩展名的文件,RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,类似windows的setup.exe,这一文件格式名称虽然打上了RedHat的标志,但理念是通用的
Linux的分发版本都有采用(suse,redhat, centos 等等),可以算是公认的行业标准了
二、rpm包的简单查询指令:
查询已安装的rpm列表 rpm –qa | grep xx(q表示query,a表示查询所有,grep表示过滤)
例如:查询Linux中是否安装有firefox
rpm -qa | grep firefox
rpm包名基本格式:
一个rpm包名:firefox-45.0.1-1.el6.centos.x86_64.rpm
名称:firefox
版本号:45.0.1-1
适用操作系统: el6.centos.x86_64 表示centos6.x的64位系统
如果是i686、i386表示32位系统,noarch表示通用
rpm包的其它查询指令:
rpm -qa:查询所安装的所有rpm软件包
rpm -qa | more :查询所安装的所有rpm软件包 并且分页显示
rpm -qa | grep X [rpm -qa | grep firefox ] :查询是否安装有某个软件(火狐的软件)
rpm -q 软件包名 :查询软件包是否安装 rpm -q firefox
rpm -qi 软件包名 :查询软件包信息
rpm -ql 软件包名 :查询软件包中的文件的安装位置
rpm -qf 文件全路径名:查询文件所属的软件包 ,例如:rpm -qf /etc/passwd
三、 卸载rpm包:
基本语法 rpm -e RPM包的名称
应用案例 :删除firefox 软件包
rpm -e firefox
细节讨论:
(1) 如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息
如: $ rpm -e foo removing these packages would break dependencies:foo is needed by bar-1.0-1
(2) 如果我们就是要删除 foo这个rpm 包,可以增加参数 --nodeps ,就可以强制删除,但是一般不推荐这样做,因为依赖于该软件包的程序可能无法运行 如:$ rpm -e --nodeps foo
四、安装rpm包
基本语法: rpm -ivh RPM包全路径名称
参数说明: i=install 安装 v=verbose 提示 h=hash 进度条
应用实例: 安装firefox浏览器
① 先要找到安装包,需要先挂载上我们之前安装CentOS的iso文件,点击虚拟机设置使用ios文件,那么在系统中会多出一个光驱,打开命令行终端进入到/media/CentOS_6.8_final/package/
(所有的rpm包都在这里)
点击然后拷贝到/opt目录下
cp firefox( rpm包的文件名) 需要拷贝到的目录 (可以输入rpm包名字的前几个字母然后使用Tab键补全)
② 安装
切换到/opt目录下找到刚才拷贝的文件然后使用: rpm ivh + 火狐rpm软件安装包的名字就可以了