/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
インターネットへの接続は不可能であり、手動でダウンロードしてインストールする必要があります。
これがインストールを妨げる唯一の問題であり、bashがインストールされていることが確実なので、RPMに依存関係のチェックをスキップするように指示します。
rpm -ivh --nodeps glibc-2.17-222.el7.x86_64.rpm glibc-common-2.17-222.el7.x86_64.rpm
別のOSにcentosパッケージをインストールしようとしていますか?
インストールしようとしているパッケージは/ bin/bashによって異なります。問題は、なぜ、および/または/ bin/bashがマシンにないのかということです。
したがって、パッケージャーが/ bin/bashへの依存関係をハードコーディングした場合は、src.rpmを再構築してスペックファイルを変更するか、強制的にインストール(rpm --nodeps)してシンボリックリンクを作成し、すべてが機能するようにする以外にできることはほとんどありません。
Rpmがパッケージをビルドすると、依存関係が自動的に検索されるため、依存関係を追加したのはrpmbuildであった可能性があります。これは、rpmがビルドされたマシンに/ usr/bin/bashではなく/ bin/bashがあったためです。その場合、centos上に構築されていない(「el7」部分なしの)このパッケージの別のバージョンを検索して、それをインストールしてみることができます。
これらは、途中で非常に役立つはずのいくつかの考えです。