
Проблема заключается в следующем:
Ядро Linux: 3.0.13-0.27-по умолчанию #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