软件包管理

157 阅读2分钟

RPM

介绍:

一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。RPM是RedHat Package Manager (RedHat软件包管理工具)的缩写,类似windows的setup.exe,这一文件格式名称虽然打上了RedHat的标志,但理念是通用的。
Linux的分发版本都有采用(suse,redhat,centos等等),可以算是公认的行业标准了。

rpm包的简单查询指令:

查询已安装的rpm列表:rpm -aalgrep xx

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 [选项] 软件包名称

主选项

-i 安装
-c 卸载
-U 升级
-q 查找

查询

-a --all查询所有安装的包
-f --file查询拥有<--file>的包
-p 查询一个没有安装的包
-q 查询软件包是否安装
-qa 查询安装的所有rpm包
-qi 查询软件包信息
-ql 查询软件包中的文件
-qf (后面跟文件全路径名)查询文件所属的软件包

卸载

rpm -e 软件包名
卸载过程可能出现问题:如rpm -e foo时出现:removing these packages would break dependencies:foo is needed by bar-1.0-1
如果我们就是要删除foo这个rpm包,可以增加参数--nodeps(忽略依赖) ,就可以强制删除,但是一般不推荐这样做,因为依赖于该软件包的程序可能无法运行
如: rpm -e --nodeps foo

安装

rpm -ivh RPM包全路径名称
参数说明:
i =install安装
v =verbose提示过程
h =hash进度条

安装过程:

先找到安装rpm 包,挂载上我们安装centos的 iso文件,然后到/medial下去找rpm找。
cd Packages/
cp 文件包 一个安装需要的目录如/opt/
ls
下载:

rpm -ivh vsftpd-3.0.2-28.el7.x86_64.rpm
rpm -ivh  ftp://ftp.xxx.com/yyy.rpm
rpm -ivh  http://www.xxx.com/yyy.rpm

查询安装的软件,用管道的方法输出:rpm -qa | grep “elinks”
卸载:rpm -evh vsftpd-3.0.2-28.el7.x86_64.rpm

2.   yum

Yum是一个shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。实现自动解决依赖、自动下包、自动安装。

yum支持协议:

file:本地传输协议
ftp:文件传输协议
http:超文本传输协议
https:超文本传输安全协议


install:安装
remove:删除
update:升级
search:查找