man-страница найдена только после запуска с рутом

1181
7368616d696c

Когда я пытаюсь запустить man-страницу на своей Red Hat как обычный пользователь, я получаю «Нет ручного ввода для zip». Если я перехожу на root, запустите: «man zip», а затем я получаю man-страницу, после чего я вижу ту же самую man-страницу. как я сделал с рутом. Есть ли какой-то процесс создания man-страницы, когда я запускаю его впервые с root?

Я проверил / usr / share / man / man1 / там, кажется, есть все страницы руководства для инструментов, которые я обычно использую cp, ls, zip и т. Д. Я также установил envvar $ MANPATH, но все равно не помог.

Я делаю что-то не так или конфигурация в Red Hats отличается от конфигурации других дистрибутивов Linux?

6

2 ответа на вопрос

2
Doug Harris

Я предполагаю, что ваш MANPATHустановлен неправильно.

Чтобы проверить это, сначала попробуйте сбросить его:

$ unset MANPATH $ man zip 

Если мое предположение верно, то вы будете manиспользовать его путь по умолчанию и найти страницу руководства.

Также попробуйте сравнить выходные данные echo $MANPATHкак обычный пользователь с пользователем root.

Спасибо за ответ, это определенно помогло устранить неполадки. На самом деле проблема была в неправильном разрешении на каталоги man. Не было никакого флага выполнения. После установки правильного флага я мог читать Ман. Спасибо. 7368616d696c 11 лет назад 0
@ 7368616d696c Если это был не тот ответ, который вы использовали для решения проблемы, не принимайте его - либо попросите ответчика добавить это к своему вопросу, либо опубликуйте его самостоятельно. cutrightjm 11 лет назад 0
Как указывает ekaj, вы можете добавить ответ на свой вопрос. Я думаю, вам нужно подождать день или два, чтобы принять это. Преимущество явного добавления собственного ответа состоит в том, что если кто-то в будущем найдет этот вопрос, ваш ответ будет четко помечен как решение и может помочь. Doug Harris 11 лет назад 0
2
7368616d696c

The solution to this issue is to check whether then /usr/share/man/ permissions are correctly set. In my case the execute flag on all

/usr/share/man/

folders was removed, except for root.

$ ls -l /usr/share/man/ # check if it has the x flag set for others 

if x flag is not set, set it

$ chmod o+x /usr/share/man/* 

of course you also want check if $MANPATH is correctly set as mention in an earlier answer.

+1. Нужно только добавить права на выполнение для других. Также, что касается этой переменной `MANPATH`, в руководстве сказано, что переменная используется, только если она установлена. Похоже, это не является обязательным требованием, но может быть установлено, чтобы переопределить путь по умолчанию. Bhesh Gurung 9 лет назад 0

Похожие вопросы