
После того, как я запустил man ls
, он показывает:
Мужчина: найти все соответствующие страницы руководства
* ls (1)
ls (1p)
Мужчина: Какую страницу руководства вы хотите?
Мужчина:
После того, как я ввел «1», он не показывает ничего, кроме «Страница руководства ls(1) строка ?/? (КОНЕЦ)" в строке состояния.
Полагаю, что я не установил страницу руководства для ls
, поэтому я запустил manpath
и получил следующий вывод:
/usr/share/man:/usr/local/man:/usr/local/share/man
Прямо в каталоге /usr/share/man/man1/
я нашел файл gzip ls.1.gz
, который, как я думаю, является информацией руководства ls
.
Так почему же man ls
здесь ничего не показано?
решение1
Спасибо всем за ваши предложения.
Я наконец решил проблему и теперь man
все работает.
Отвечать
Кто-то установил и 64-битную, и 32-битную версию glibc
, что, я полагаю, вносит хаос. После удаления 32-битной версии и повторной установки 64-битной версии glibc
, man
все работает.
== Подробный процесс ==
- Запустил
mandb -t
, появилось множество сообщений об ошибках:
iconv_open ("UTF-8//IGNORE", "ISO-8859-1"): недопустимый аргумент
- С помощью Google я нашел, что
iconv_open
это вgconv
(ссылка). strace mandb -t
иstrace man ls
оба показывают эту информацию:
open("/usr/lib64/gconv/gconv-modules.cache", O_RDONLY) = -1 ENOENT (Нет такого файла или каталога)
open("/usr/lib64/gconv/gconv-modules", O_RDONLY) = -1 ENOENT (Нет такого файла или каталога)
- С помощью Google я обнаружил, что gconv-modules могут быть очень важны для
iconv
, что может быть очень важно дляman
. И gconv находится вglibc
, теперь лучшее предположение, что мойglibc
установлен неправильно. - Ран
rpm -qa | grep glibc
, у меня вот это:
glibc-i18ndata-2.11.1-0.17.4
glibc-locale-2.11.1-0.17.4
glibc-info-2.11.1-0.17.4
glibc-html-2.11.1-0.17.4
glibc-profile-2.11.1-0.17.4
glibc-devel-2.11.1-0.17.4
glibc-2.11.1-0.17.4
glibc-32bit-2.11.1-0.17.4
glibc-devel-32bit-2.11.1-0.17.4
glibc-locale-32bit-2.11.1-0.17.4
glibc-profile-32bit-2.11.1-0.17.4
- Запустил
rpm -e --nodeps 32bit-PACKAGE
удаление всех 32-битных пакетов, затем перезагрузил машину (есть ли другой способ, кроме перезагрузки?). - Переустановил все 64-битные пакеты glibc.
man ls
, это сработало!
решение2
Наконец,правильныйответ на эту ошибку также:
QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed
Оно делаетнетне имеет ничего общего с установленными шрифтами, а с отсутствующими пакетами glibc.