14

当我使用 rpm 在 RHEL 上安装 rpm 包时,我收到一条错误消息,就像“失败的依赖项:xxx 需要 /bin/sh”。

我检查了 /bin/sh 是否存在,它链接到 /bin/bash 并且 bash 运行良好。

我找到了一个添加--nodeps到 rpm 命令来解决这个问题的解决方案。但我真的很想知道根本原因是什么?

4

3 回答 3

8

如何在全新安装的 Ubuntu 14.04 上重现此错误。

  1. 全新安装 Ubuntu 14.04
  2. 做一个sudo apt-get install rpm
  3. 从https://www.nomachine.com/download/download&id=4下载 nomachine rpm 64 位 linux
  4. chmod +x nomachine_4.2.25_1_x86_64.rpm一个
  5. 像这样提取它:

    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
    
  6. 所以这就是错误。为了修复它,我按照它的建议使用了外星人。

    sudo alien -i nomachine_4.2.25_1_x86_64.rpm --scripts
    

并且没有正确安装机器。

于 2014-07-07T00:57:49.530 回答
3

我找到了这个问题的根本原因。我的机器上缺少 rpm-libs。我重新安装 rpm-libs 然后一切正常。注意:安装 rpm-libs 后,如果问题仍然存在,请尝试“rpm -v --rebuilddb --define="_rpmlock_path /var/lock/rpm"”。

于 2013-04-03T05:10:58.897 回答
0

在我看来,您的 RPM 数据库很可能有问题。您最近是否以任何方式删除或修改过它?我将从解释如何重建数据库的Fedora 文档开始。

于 2013-03-06T03:41:24.060 回答