質問は次のとおりです。
Linux カーネル: 3.0.13-0.27-基本 #1 SMP
すでに「ダイアログボックス」ユーティリティ(/usr/bin/dialog
)をインストールし、binファイルを次の場所にコピーしました。/usr/bin
実行しようとすると、libncursesw.so.5
ライブラリの欠落に関するエラーメッセージが表示されます。
問題を解決するためにファイルをコピーしてみましたが、役に立ちませんでしたlibncursesw.so.5
。/usr/lib/
これで別のエラーが発生します。
error while loading shared libraries: /usr/lib/libncursesw.so.5: file too short
アドバイスしてください
答え1
Linuxでは、これらのアプリケーションを「インストール」しません(特定の場合を除く)。配布パッケージマネージャを使用して必要なものをインストールします。必要なすべてのパッケージを自動的にインポートします。 SUSE Linux派生ディストリビューションの場合(該当する/suse
ラベルを使用しているため)、以下を使用してください。
zypper in dialog
(in
略語install
)または
yast -i
これにより、対話型会話が提供されます。明らかに、ルートファイルシステムを変更するには、root権限でこれらのプログラムを実行する必要があります。すでに持っているなら分配するRPMがある場合は、次のものを使用できます。rpm -Uvh package1.rpm package2.rpm ...
単にコンテンツをファイルシステムにコピーすることはエラーの主な原因です。
バイナリのソースは、特にセキュリティの観点から信頼できない可能性があります。他の人が提供したプログラムを実行しないだけです。配布パッケージを使用すると、少なくともパッケージの内容に対するいくつかの保証が提供されます(暗号化署名など)。
バイナリは共有ライブラリ(たとえばlibncursesw)に関連付けられています。互換性のあるライブラリを十分に提供しないと、デバッグが困難な問題が発生する可能性があります。
答え2
libncursesw.so.5
このファイルをどこで入手したかは言っていません。ここは実際の図書館ではないようです。
とにかくライブラリが見つからない場合は、パッケージマネージャからライブラリをインストールする必要があります。
# yum install libncursesw5