问题如下:
Linux 内核:3.0.13-0.27-default #1 SMP
我已经安装了“dialog”实用程序(/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