【问题标题】:What's the root cause of error "Failed dependencies: /bin/sh is needed by xxx" on RHEL?在 RHEL 上出现错误“失败的依赖项:xxx 需要 /bin/sh”的根本原因是什么?
【发布时间】:2013-02-20 16:18:01
【问题描述】:

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

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

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

【问题讨论】:

  • 您应该将您的评论作为答案,然后将该答案标记为正确。
  • 您能告诉我如何将我的评论作为正确答案吗?
  • 我的答案下方应该有一个按钮,可以让您添加答案。添加答案后,只需单击您创建的答案左侧的复选标记。
  • 好的。我删除了我的评论,然后将其发布为答案。

标签: sh rpm rhel


【解决方案1】:

如何在全新安装的 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
    

并且没有正确安装机器。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 在我使用“--nodeps”解决这个问题之前,我曾尝试使用“rpm --rebuilddb”,但它不起作用。
      猜你喜欢
      • 1970-01-01
      • 2015-01-03
      • 2021-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-29
      • 2013-05-07
      相关资源
      最近更新 更多