web-dev-qa-db-ja.com

/ usr / bin / bashではなく/ bin / bashを使用しますが、依存関係が失敗したため、RPM更新をインストールできません

/binではなく/usr/binにbashが配置されているLinuxシステム。

次のコマンドのいずれかを使用して、(rootとして)glibc-common-2.17-222.el7.x86_64をインストールしようとしています。

rpm -ivh glibc-2.17-222.el7.x86_64.rpm glibc-common-2.17-222.el7.x86_64.rpm

または

yum localinstall glibc-common-2.17-222.el7.x86_64.rpm glibc-2.17-222.el7.x86_64.rpm

依存関係エラーを取得します:/usr/bin/bash is needed by glibc-common-2.17-222.el7.x86_64

更新1

[root@ruapp117 dep]# ls -ld /bin
dr-xr-xr-x. 2 root root 4096 Mar  5  2018 /bin

更新2

[root@ruapp117 dep]# rpm -q --whatprovides /bin/bash /usr/bin/bash
bash-4.1.2-48.el6.x86_64
error: file /usr/bin/bash: No such file or directory

更新3

[root@smbruapp117 dep]# rpm -qa | grep bash
bash-4.1.2-48.el6.x86_64

インターネットへの接続は不可能であり、手動でダウンロードしてインストールする必要があります。

1
Kevin Williams

これがインストールを妨げる唯一の問題であり、bashがインストールされていることが確実なので、RPMに依存関係のチェックをスキップするように指示します。

rpm -ivh --nodeps glibc-2.17-222.el7.x86_64.rpm glibc-common-2.17-222.el7.x86_64.rpm
1
Jeff Schaller

別のOSにcentosパッケージをインストールしようとしていますか?

インストールしようとしているパッケージは/ bin/bashによって異なります。問題は、なぜ、および/または/ bin/bashがマシンにないのかということです。

したがって、パッケージャーが/ bin/bashへの依存関係をハードコーディングした場合は、src.rpmを再構築してスペックファイルを変更するか、強制的にインストール(rpm --nodeps)してシンボリックリンクを作成し、すべてが機能するようにする以外にできることはほとんどありません。

Rpmがパッケージをビルドすると、依存関係が自動的に検索されるため、依存関係を追加したのはrpmbuildであった可能性があります。これは、rpmがビルドされたマシンに/ usr/bin/bashではなく/ bin/bashがあったためです。その場合、centos上に構築されていない(「el7」部分なしの)このパッケージの別のバージョンを検索して、それをインストールしてみることができます。

これらは、途中で非常に役立つはずのいくつかの考えです。

0
Chris Maes