LInux软件包大致可分为两种:源码包和二进制包,使用的工具也不同。
- 源码包:Source Code,没有经过编译的软件包,需要经过GCC,C++等编译环境进行编译以后才能运行。一般情况下是以
tar.gz,zip,rar
结尾的包。 - 二进制包:Binary Code,可直接安装使用。一般情况下是以
rpm
结尾的包。
1. RPM命令
RPM是“RedHat Package Manager”的缩写,它是互联网下载打包及安装的工具,主要用于以.rpm
结尾的文件,类似于windows中的setup.exe
。rpm
文件格式虽然用的是红帽的标志,但是这个理念是通用的,并且已经成为行业的执行标准!
1.1 RPM包命名格式
- name-version.rpm
- name-version-noarch.rpm
- name-version-arch.src.rpm
以yasm-1.2.0-4.el7.x86_64.noarch.rpm
为例:
- 软件名称:yasm
- 软件版本号:1.2.0-4,其中1.2.0依次代表:主版本号.次版本号.修正号。4是标识发布版本号,该rpm包是第几次编译生成的。
- el7:软件包发行版本。
- noarch:软件包可以在任何平台上安装。
- rpm:表示已经编译号的二进制包,可以直接用rpm命令安装。
拓展:
- arch:表示适用的硬件平台,RPM支持的平台有:i386、i586、i686、x86_64、sparc、alpha等。
- devel:开发包。
- src.rpm:源代码包,需要编译生成rpm格式包以后才能安装。.
1.2 rpm参数及常用命令
rpm 参数 软件包名
1.21 rpm参数介绍
参数 | 说明 |
---|---|
-a, --all | 查询所有已安装软件包; |
-q,–query | 表示询问用户,输出信息; |
-l, --list | 打印软件包的列表; |
-f, --file | FILE 查询包含 FILE 的软件包; |
-i, --info | 显示软件包信息,包括名称,版本,描述; |
-v, --verbose | 打印输出详细信息; |
-U,–upgrade | 升级RPM软件包; |
-h,–hash | 软件安装,可以打印安装进度条; |
–last | 列出软件包时,以安装时间排序,最新的在上面; |
-e, --erase | 卸载rpm软件包 |
–force | 表示强制,强制安装或者卸载; |
–nodeps | RPM包不依赖 |
-l, --list | 列出软件包中的文件; |
–provides | 列出软件包提供的特性; |
-R, --requires | 列出软件包依赖的其他软件包; |
–scripts | 列出软件包自定义的小程序。 |
1.2.2 rpm常用命令
1.2.2.1 查看软件包的相关信息
查看安装的软件包:
rpm -qa #查看所有已安装的软件包。
rpm -qa | more #以more的模式显示。
rpm -qa | grep [软件包名]
- 查看软件包是否安装:
rpm -q [软件包名]
例:
- 查询软件包信息:
能详细显示软件包的名称、安装时间、大小、依赖的环境组、编译前的软件包名称等。
rpm -qi [软件包名] #必须是qi ,不能写成iq,如果携程iq则只显示软件包名
例:
- 查询软件包中的文件
查询软件包安装在哪里,包含什么文件
rpm -ql [软件包名]
例:
- 查询文件所属的软件包
rpm -qf [文件路径名]
例:
- 查询软件包依赖的其他软件包
rpm -qR httpd
例:
1.2.2.2 rpm包卸载
基本语法: