linux + 无法运行对话框实用程序 + 出现错误

linux + 无法运行对话框实用程序 + 出现错误

问题如下:

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

相关内容