linux系统下RPM包的安装、检查、删除、查询

注释:安装软件包

RPM包的全名

删除

名称(不是包名)

参数
- IVH获取详细安装过程

——nodeps忽略依赖关系

强制安装

- U包名称:升级安装

- f更新直接覆盖的内容

——replacepkgs,RPM将忽略该错误信息——取代VIH





安装软件包

RPM包的全名

删除

名称(不是包名)

参数

- IVH获取详细安装过程

——nodeps忽略依赖关系

强制安装

- U包名称:升级安装

- f更新直接覆盖的内容

——replacepkgs,RPM将忽略该错误信息-- replacepkgs VIH

- q名称:查询

- QA查询所有已安装的RPM

-齐名查询本软件详细信息

- QL显示列表

QF路径:查询文件属于哪个包

- QP包名称:要查找的文件是什么

- QPL包名称:一包没有安装



配置文件



转速的影响

RPM

打包名



5 - MD5校验和

文件长度

l符号链接

修改文件日期

D -设备

U -用户

用户组

m模式(包括许可证和文件类型)

-不可读的文件







详细的课程



使用RPM

RPM有五种基本的操作模式(不包括包编译):安装、卸载、升级、查询、检查。这一节将逐一介绍它们。为了了解完整的细节和选项,您可以通过RPM或帮助获得更多有关RPM的信息,或者调用该小节的其他RPM资源。

1安装

一个典型的转速有一个名字像foo-1.0-1.i386.rpm,说明包名字(Foo),版本号(1)、发行数量(1),和硬件平台(i386)。安装软件包只需要键入以下命令:

#转- IVH foo-1.0-1.i386.rpm

#################################### Foo

#





你可以看到,RPM将打印出来的包的名称(不一定是相同的文件名,可能是1转),然后打印出一系列的#,说安装进度。



请注意,

虽然它通常是用转- IVH foo-1.0-1.i386.rpm安装的软件包,它也可以用rpm包取代干扰。i386。转。-你是一个软件包升级参数,也可用于安装新的软件包。看到的U参数更新使用RPM。



软件包的安装非常简单,但可能会出现以下错误。

已经安装了软件包。

如果已经安装了软件包,将显示以下信息:

#转- IVH foo-1.0-1.i386.rpm

foo软件包已安装

错误:foo-1.0-1.i386.rpm无法安装

#





如果你还没有安装包,你可以在命令行中使用,replacepkgs选项,RPM将忽略该错误信息:

转- IVH -- replacepkgs foo-1.0-1.i386.rpm #

#################################### Foo

#





文件冲突

如果在其他包的安装中安装了软件包中的文件,则会显示以下信息:

#转- IVH foo-1.0-1.i386.rpm

Foo / usr /斌/ foo文件从bar-1.0-1冲突

错误:foo-1.0-1.i386.rpm无法安装

#





让RPM忽略错误信息,使用命令行选项-- replacefiles:

转- IVH -- replacefiles foo-1.0-1.i386.rpm #

#################################### Foo

#





未解决的依赖

RPM包可能依赖其他软件包,也就是说包可以在特定的包被安装后安装:

#转- IVH bar-1.0-1.i386.rpm

依赖失败:

需要bar-1.0-1 Foo

#





这个问题的解决只能通过安装软件包,是依赖于它。如果你想强制安装(这是不是一个好办法,因为安装的软件可能无法正常运行),你可以使用命令行选项-- nodeps。

3.2.2卸载

卸载一个软件包只是简单的安装软件包。

# RPM -E Foo

#







请注意,

注意,包foo用在这里的名字,而不是文件名包。i386。转的原包装。当你卸载一个软件包,你需要与原包装的实际文件名替换foo软件包名称。



当卸载软件包时,可能会出现依赖性错误,这表明其他软件包与软件包之间存在安装依赖关系:

# RPM -E Foo

删除这些包会破坏依赖关系:

需要bar-1.0-1 Foo

#





使转忽略此错误时,卸包,这是不是一个好办法,因为软件包,卸载后不一定能够发挥正常的功能依赖于它,使用-- nodeps命令行选项。

3.2.3升级

升级包类似于软件包的安装。

#转-干扰foo-2.0-1.i386.rpm

#################################### Foo

#





RPM将自动卸载已安装的旧版本的富软件包,用户无法看到信息。事实上,用户可能总是使用U来安装包,因为它们可以运行,即使它们过去没有安装。

由于RPM执行智能软件包升级并自动处理配置文件,将显示以下信息:

节约 / / /等foo.conf等 / foo.conf.rpmsave





这表明用户修改配置文件不一定是向上兼容包中的配置文件。因此,RPM将备份原始文件和安装新文件。用户要解决的两个配置文件之间的差异,尽快使系统能够继续正常运行。

因为升级实际上是软件包卸载和安装的组合,它也可能满足这些操作中可能出现的错误。此外,当使用旧版本的RPM包升级软件的新版本时,将生成以下信息:

#转-干扰foo-1.0-1.i386.rpm

食品包装foo-2.0-1(这是新的)已经安装

错误:foo-1.0-1.i386.rpm无法安装

#





使用rpm强制升级

转-干扰-- oldpackage foo-1.0-1.i386.rpm #

#################################### Foo

#





3.2.4更新

包的更新与包升级类似:

#转- FVH foo-1.2-1.i386.rpm

#################################### Foo

#





RPM更新选项是否在命令行中指定的版本是安装在系统中的软件包版本一致。当RPM更新选项处理安装新版本的软件包,该软件包将升级到新版本。然而,RPM更新选项无法安装系统目前没有可用的软件包。这是由不同的RPM升级和升级选项可以安装包,无论是安装包的旧版本。

RPM更新选项可以使一个很好的更新包或包集。如果用户下载大量的软件包,但如果你想升级现有的系统中的软件包,RPM更新选项会很有用。使用rpm更新选项意味着你不需要选择从下载的包,也不删除包没有。

在这种情况下,只需键入:

# RPM转速- Fvh *。





RPM工具会自动更新已安装的包。

3.2.5 query

使用命令q - Q查询已安装的数据库。简单地使用命令RPM将打印出包的包名、版本号和发行号。

# RPM -q foo

foo-2.0-1

#





除了指定包名外,用户还可以使用以下选项与q连接,以指示要查询哪些软件包。



-查询所有已安装的软件包。

F将查询包含文件的软件包。

p用文件名查询包。

指定查询软件包时显示的信息有几种方法。下面的选项可以用来选择对它感兴趣的信息并显示它。



-我显示软件包信息,如描述、发行编号、大小、编译日期、安装日期、硬件平台和其他一些类型的信息。

-列出软件包中包含的文件。

s显示软件包中所有文件的状态。

d列出标记为文档的文件(如手册、信息、自述文件等)。

C列出标记为配置文件的文件。这些文件都需要定制安装后,如(sendmail.cf,passwd,inittab,等)。

如果要执行上述选项,请同时显示文件列表并使用v命令行选项,您可以得到与ls - L格式类似的输出。

3.2.6检查

包检查是将软件包中的文件信息与软件包中的原始文件进行比较的相同信息,与其他验证相同,包检查将比较文件的长度、MD5校验和、许可证、类型、属于主机和组的文件。

使用rpm - V命令来验证包。用户可以使用每个包的选择选项来列出检查包的结果:



检查包含特定文件的软件包:RPM







检查所有已安装的软件包:rpm







与RPM包文件检查已安装的软件包:转VP foo-1.0-1.i386.rpm





如果您担心RPM数据库被破坏,您可以用这种方式检查它。

如果所有的检查结果都是正常的,没有输出会产生。如果有分歧,它将显示。输出格式是8位长的字符串,C指的是配置文件,由文件名。长8位字符,每个代表一个文件与记录在RPM数据库的属性,属性的比较结果。。(点)就意味着测试通过。以下字符代表一个失败的测试:



5 - MD5校验和

文件长度

l符号链接

修改文件日期

D -设备

U -用户

用户组

m模式(包括许可证和文件类型)

-不可读的文件

如果有信息输出,用户应该认真地考虑一下,这是应该被删除,重新安装的问题,或修改。

3.2使用rpm

RPM有五种基本的操作模式(不包括包编译):安装、卸载、升级、查询、检查。这一节将逐一介绍它们。为了了解完整的细节和选项,您可以通过RPM或帮助获得更多有关RPM的信息,或者调用该小节的其他RPM资源。

3.2.1安装

一个典型的转速有一个名字像foo-1.0-1.i386.rpm,说明包名字(Foo),版本号(1)、发行数量(1),和硬件平台(i386)。安装软件包只需要键入以下命令:

#转- IVH foo-1.0-1.i386.rpm

#################################### Foo

#





你可以看到,RPM将打印出来的包的名称(不一定是相同的文件名,可能是1转),然后打印出一系列的#,说安装进度。



请注意,

虽然它通常是用转- IVH foo-1.0-1.i386.rpm安装的软件包,它也可以用rpm包取代干扰。i386。转。-你是一个软件包升级参数,也可用于安装新的软件包。看到更新的部分在U参数在RPM的详细用法。



软件包的安装非常简单,但可能会出现以下错误。

已经安装了软件包。

如果已经安装了软件包,将显示以下信息:

#转- IVH foo-1.0-1.i386.rpm

foo软件包已安装

错误:foo-1.0-1.i386.rpm无法安装

#





如果你还没有安装包,你可以在命令行中使用,replacepkgs选项,RPM将忽略该错误信息:

转- IVH -- replacepkgs foo-1.0-1.i386.rpm #

#################################### Foo

#





文件冲突

如果在其他包的安装中安装了软件包中的文件,则会显示以下信息:

#转- IVH foo-1.0-1.i386.rpm

Foo / usr /斌/ foo文件从bar-1.0-1冲突

错误:foo-1.0-1.i386.rpm无法安装

#





让RPM忽略错误信息,使用命令行选项-- replacefiles:

转- IVH -- replacefiles foo-1.0-1.i386.rpm #

#################################### Foo

#





未解决的依赖

RPM包可能依赖其他软件包,也就是说包可以在特定的包被安装后安装:

#转- IVH bar-1.0-1.i386.rpm

依赖失败:

需要bar-1.0-1 Foo

#





这个问题的解决只能通过安装软件包,是依赖于它。如果你想强制安装(这是不是一个好办法,因为安装的软件可能无法正常运行),你可以使用命令行选项-- nodeps。

3.2.2卸载

卸载一个软件包只是简单的安装软件包。

# RPM -E Foo

#







请注意,

注意,包foo用在这里的名字,而不是文件名包。i386。转的原包装。当你卸载一个软件包,你需要与原包装的实际文件名替换foo软件包名称。



当卸载软件包时,可能会出现依赖性错误,这表明其他软件包与软件包之间存在安装依赖关系:

# RPM -E Foo

删除这些包会破坏依赖关系:

需要bar-1.0-1 Foo

#





使转忽略此错误时,卸包,这是不是一个好办法,因为软件包,卸载后不一定能够发挥正常的功能依赖于它,使用-- nodeps命令行选项。

3.2.3升级

升级包类似于软件包的安装。

# rpm -Uvh foo-2.0-1.i386.rpm

#################################### Foo

#





RPM将自动卸载已安装的旧版本的富软件包,用户无法看到信息。事实上,用户可能总是使用U来安装包,因为它们可以运行,即使它们过去没有安装。

由于RPM执行智能软件包升级并自动处理配置文件,将显示以下信息:

节约 / / /等foo.conf等 / foo.conf.rpmsave





这表明用户修改配置文件不一定是向上兼容包中的配置文件。因此,RPM将备份原始文件和安装新文件。用户要解决的两个配置文件之间的差异,尽快使系统能够继续正常运行。

因为升级实际上是软件包卸载和安装的组合,它也可能满足这些操作中可能出现的错误。此外,当使用旧版本的RPM包升级软件的新版本时,将生成以下信息:

#转-干扰foo-1.0-1.i386.rpm

食品包装foo-2.0-1(这是新的)已经安装

错误:foo-1.0-1.i386.rpm无法安装

#





使用rpm强制升级

转-干扰-- oldpackage foo-1.0-1.i386.rpm #

#################################### Foo

#





3.2.4更新

包的更新与包升级类似:

#转- FVH foo-1.2-1.i386.rpm

#################################### Foo

#





RPM更新选项是否在命令行中指定的版本是安装在系统中的软件包版本一致。当RPM更新选项处理安装新版本的软件包,该软件包将升级到新版本。然而,RPM更新选项无法安装系统目前没有可用的软件包。这是由不同的RPM升级和升级选项可以安装包,无论是安装包的旧版本。

RPM更新选项可以使一个很好的更新包或包集。如果用户下载大量的软件包,但如果你想升级现有的系统中的软件包,RPM更新选项会很有用。使用rpm更新选项意味着你不需要选择从下载的包,也不删除包没有。

在这种情况下,只需键入:

# RPM转速- Fvh *。





RPM工具会自动更新已安装的包。

3.2.5查询

使用命令q - Q查询已安装的数据库。简单地使用命令RPM将打印出包的包名、版本号和发行号。

# RPM -q foo

foo-2.0-1

#





除了指定包名外,用户还可以使用以下选项与q连接,以指示要查询哪些软件包。



-查询所有已安装的软件包。

F将查询包含文件的软件包。

p用文件名查询包。

指定查询软件包时显示的信息有几种方法。下面的选项可以用来选择对它感兴趣的信息并显示它。



-我显示软件包信息,如描述、发行编号、大小、编译日期、安装日期、硬件平台和其他一些类型的信息。

-列出软件包中包含的文件。

s显示软件包中所有文件的状态。

d列出标记为文档的文件(如手册、信息、自述文件等)。

C列出标记为配置文件的文件。这些文件都需要定制安装后,如(sendmail.cf,passwd,inittab,等)。

如果要执行上述选项,请同时显示文件列表并使用v命令行选项,您可以得到与ls - L格式类似的输出。

3.2.6检查

包检查是将软件包中的文件信息与软件包中的原始文件进行比较的相同信息,与其他验证相同,包检查将比较文件的长度、MD5校验和、许可证、类型、属于主机和组的文件。

使用rpm - V命令来验证包。用户可以使用每个包的选择选项来列出检查包的结果:



检查包含特定文件的软件包:RPM







检查所有已安装的软件包:rpm







与RPM包文件检查已安装的软件包:转VP foo-1.0-1.i386.rpm





如果您担心RPM数据库被破坏,您可以用这种方式检查它。

如果所有的检查结果都是正常的,没有输出会产生。如果有分歧,它将显示。输出格式是8位长的字符串,C指的是配置文件,由文件名。长8位字符,每个代表一个文件与记录在RPM数据库的属性,属性的比较结果。。(点)就意味着测试通过。以下字符代表一个失败的测试:



5 - MD5校验和

文件长度

l符号链接

修改文件日期

D -设备

U -用户

用户组

m模式(包括许可证和文件类型)

-不可读的文件

如果有信息输出,用户应该认真地考虑一下,这是应该被删除,重新安装的问题,或修改。