RPM 命令

RPM的全称是Red Hat Package Manager.

rpm -ivh来安装RPM包

RPM的文件名包含了软件的名字, 版本号, 发行号,以及软件架构.

比如在MySQL-client-3.23.57-1.i386.rpm这个文件名中,

  • MySQL-client 是包的名字
  • 3.23.57 是版本号
  • 1 是发行号
  • i386 是软件架构(32位)

当你安装一个RPM包时, RPM会检查你的系统是否能够安装这个包, 看一下这个包文件要安装在哪儿, 安装完成之后还会更新RPM的软件数据库.

# rpm -ivh
MySQL-client-3.23.57-1.i386.rpm
Preparing...################################### [100%]
1:MySQL-client############################## [100%]

上面的例子中:

  • -i 代表安装(install)
  • -v 代表显示详细信息(verbose)
  • -h 打印hash marks(我也不知道这是什么鬼...)

rpm -qa列出全部已经安装的包

# rpm -qa
cdrecord-2.01-10.7.el5
bluez-libs-3.7-1.1
setarch-2.0-1.1
...
...
...

其中:

  • -q 列举, 查询(query)
  • -a 全部(all)

列举包的时候规定显示格式

# rpm -qa --queryformat '%{name-%{version}-%{release} %{size}\n'
cdrecord-2.01-10.7 12324
bluez-libs-3.7-1.1 5634
setarch-2.0-1.1 235563
...
...
...

rpm -qf查看某个文件所属的包

# rpm -qf /usr/bin/mysqlaccess
MySQL-client-3.23.57-1

可以看到这个文件属于MySQL-client-3.23.57-1这个包.

rpm -qip查看某个已安装包的具体信息

# rpm -qip MySQL-client-3.23.57-1.i386.rpm
Name        : MySQL-client Relocations: (not relocatable)
Version     : 3.23.57
Vendor      : MySQL AB
Release     : 1
Build Date  : Mon 09 Jun 2003
Install Date:
Build Host  : build.mysql.com
Group       : Applications/Databases
Size        : 5305109
Signature   : (none)
Packager    : Lenz Grimmer
URL         : http://www.mysql.com/
Summary     : MySQL - Client
License     : GPL / LGPL
Description : This package is a standard MySQL client.

其中:

  • -i 查看rpm包的信息
  • -p 指定包的名字

查看包内的文件

$ rpm -qlp ovpc-2.1.10.rpm
/usr/bin/mysqlaccess
/usr/bin/mysqldata
/usr/bin/mysqlperm
...
...
/usr/bin/mysqladmin

其中-l的意思就是列出包内的文件.

rpm -qRP查看某个包依赖的其他包

# rpm -qRp MySQL-client-3.23.57-1.i386.rpm
/bin/sh
/usr/bin/perl

这个mysql-client就依赖shperl.

扩展阅读

RPM Command: 15 Examples to Install, Uninstall, Upgrade, Query RPM Packages

results matching ""

    No results matching ""