之路 on it Road.com

最佳实践

切勿强行安装 RPM 包。
如果支持团队建议我们这样做,则仅使用 -force 或者 -nodeps 选项。
在某些情况下,这些选项可能很有用,但它们有严格的用例。

-force 和 -nodeps 比较

-force

忽略安装的包和文件冲突 - 包可能会停止正常工作,导致严重问题

-nodeps

不检查依赖项 - 使用此标志后包可能无法正常工作(或者依赖包可能会停止工作)

通常,一个 RPM 包需要一个或者多个其他 RPM 包才能正常工作。
有时一个 RPM 可能依赖于另一个 RPM 的特定版本。
复杂的交互由 yum 和 rpm 工具维护。
使用 -force 或者 -nodeps 中的任何一个都可能破坏包关系并导致极难诊断和修复的无关故障。

通过使用选项 -force 进行安装并不能保证已安装的包将正常工作,安装包文件时不考虑它们是否适用于系统的其余部分。

同样,使用 -nodeps 进行安装和卸载可能会对仍然依赖于该包的包造成严重的麻烦。
在安装过程中,rpm(8) 不会为实际的 rpm 安装必要的包,从而导致严重的依赖问题。

rpm 命令选项 -force 和 -nodeps的比较

这些 rpm 选项可能会损坏 Linux 服务器,因此可能需要重新安装。
所以和他们玩的时候要小心。

恢复

要在使用 -force 或者 -nodeps 后验证 RPM 库的正确性,请检查 RPM 数据库,如下所示:

# rpm -Va
#

如果 RPM 数据库正确,则不会有输出。
某些文件被标记为需要自定义的配置文件;这些在第二个字段中用字母“c”标记,否则第二个字段将为空白。
任何其他行将代表 RPM 检测到的故障。
文件名将是第三个字段。
要将文件名映射回 RPM 包,请执行以下操作:

# rpm -qf /bin/bash
bash

如果 rpm 是核心 O/S 包的一部分,例如 glibc,重新安装 Linux 可能是最好的解决方案,因为几乎每个应用程序都依赖于通用 C 库。
请注意 yum 作为一个类似的选项,它可能会造成类似的损害。

日期:2020-09-17 00:14:48 来源:oir作者:oir