
Das Problem ist folgendes:
Linux-Kernel: 3.0.13-0.27-default #1 SMP
Ich habe das Dienstprogramm „Dialog“ installiert ( /usr/bin/dialog
), einfach die Bin-Datei kopiert nach/usr/bin
Als ich versucht habe, es auszuführen, libncursesw.so.5
erschien eine Fehlermeldung bezüglich einer fehlenden Bibliothek.
Um das Problem zu lösen, versuche ich, die Datei zu kopieren, libncursesw.so.5
aber /usr/lib/
das hilft nicht
Jetzt habe ich einen weiteren Fehler erhalten:
error while loading shared libraries: /usr/lib/libncursesw.so.5: file too short
Bitte beraten
Antwort1
Sie „installieren“ solche Anwendungen nicht unter Linux (abgesehen von einigen Sonderfällen). Verwenden Sie den Paketmanager Ihrer Distribution, um zu installieren, was Sie brauchen – er wird automatisch alle erforderlichen Pakete einbinden. Bei von SUSE Linux abgeleiteten Distributionen (da Sie das /suse
Tag verwenden) verwenden Sie
zypper in dialog
( in
ist die Abkürzung für install
) oder
yast -i
Dies sollte Ihnen interaktive Dialoge bieten. Sie müssen diese natürlich mit Root-Rechten ausführen, um das Root-Dateisystem ändern zu können. Wenn Sie bereits dieVerteilungWenn Sie RPMs zur Hand haben, können Sierpm -Uvh package1.rpm package2.rpm ...
Die Hauptgründe, warum es falsch ist, Dinge einfach in Ihr Dateisystem zu kopieren:
Die Quelle der Binärdateien ist möglicherweise nicht zuverlässig, insbesondere aus Sicherheitsgründen. Sie führen nicht einfach irgendwelche Programme aus, die Ihnen jemand gibt – die Verwendung eines Distributionspakets gibt Ihnen zumindest eine gewisse Sicherheit über den Inhalt des Pakets (beispielsweise durch eine kryptografisch signierte Version).
die Binärdateien sind mit gemeinsam genutzten Bibliotheken verknüpft (in Ihrem Fall z. B. libncursesw) – wenn Sie keine ausreichend kompatible Bibliothek bereitstellen, treten zwangsläufig Probleme auf (die schwer zu debuggen sind).
Antwort2
Sie haben nicht gesagt, woher Sie die libncursesw.so.5
Datei haben. Es scheint, dass es sich nicht um eine echte Bibliothek handelt.
Wenn Ihnen Bibliotheken fehlen, sollten Sie diese in jedem Fall von Ihrem Paketmanager aus installieren:
# yum install libncursesw5