当我使用 rpm 在 RHEL 上安装 rpm 包时,我收到一条错误消息,就像“失败的依赖项:xxx 需要 /bin/sh”。
我检查了 /bin/sh 是否存在,它链接到 /bin/bash 并且 bash 运行良好。
我找到了一个添加--nodeps
到 rpm 命令来解决这个问题的解决方案。但我真的很想知道根本原因是什么?
如何在全新安装的 Ubuntu 14.04 上重现此错误。
sudo apt-get install rpm
chmod +x nomachine_4.2.25_1_x86_64.rpm
一个像这样提取它:
el@apollo:~Desktop$ sudo rpm -i nomachine_4.2.25_1_x86_64.rpm
rpm: RPM should not be used directly install RPM packages, use Alien instead!
rpm: However assuming you know what you are doing...
error: Failed dependencies:
/bin/sh is needed by nomachine-4.2.25-1.x86_64
所以这就是错误。为了修复它,我按照它的建议使用了外星人。
sudo alien -i nomachine_4.2.25_1_x86_64.rpm --scripts
并且没有正确安装机器。
我找到了这个问题的根本原因。我的机器上缺少 rpm-libs。我重新安装 rpm-libs 然后一切正常。注意:安装 rpm-libs 后,如果问题仍然存在,请尝试“rpm -v --rebuilddb --define="_rpmlock_path /var/lock/rpm"”。
在我看来,您的 RPM 数据库很可能有问题。您最近是否以任何方式删除或修改过它?我将从解释如何重建数据库的Fedora 文档开始。