警告:在 yum 之外更改的 RPMDB 在 rpm 安装时挂起

Warning: RPMDB altered outside of yum hangs on rpm install

我刚刚创建了包含几个 shell 脚本的 rpm 包,我的 rpm 在 post 安装步骤(即 %post 部分)中执行那些 shell 脚本。 我的 RPM 已成功创建,当我 运行 rpm -ivh myrpmfile.rpm RPM 能够找到我的 shell 脚本并 运行 正确地安装它们。这些脚本还使用 yum 安装了一些其他软件包,因此当 yum 尝试安装这些软件包时,它挂起并出现以下错误

Warning: RPMDB altered outside of yum

有时会挂在下面的状态

您无法从 %post 调用 yum,因为数据库已锁定。如果您需要安装其他软件包,请将它们设置为 Required。如果你的 RPM 也安装了 yum repo 文件,那么你需要把它们做成两个 RPM。

那个警告只是因为你直接使用了 rpm "behind its back" 并且很可能是一个红鲱鱼。