Человек сломался, возможно при установке git, как мне починить?

1171

Я использую Mac Snow Leopard 10.6.3, и я использовал программу установки Mac для git, которая была первоначально разработана для Leopard. Я думаю, что с тех пор мои справочные страницы были сломаны, и попытка найти какую-либо команду заставляет мой компьютер ненадолго зависнуть, прежде чем вернуть сообщение «справочная страница не найдена». Где мне начать это исправлять? Благодарю.

Вот отладочный вывод для man man:

$ man -d man Reading config file /private/etc/man.conf Looked whether there exists a message catalog man, but there is none (and for English messages none is needed)  found man directory /usr/share/man found man directory /usr/local/share/man found man directory /usr/X11/man found manpath map /bin --> /usr/share/man found manpath map /sbin --> /usr/share/man found manpath map /usr/bin --> /usr/share/man found manpath map /usr/sbin --> /usr/share/man found manpath map /usr/local/bin --> /usr/local/share/man found manpath map /usr/local/sbin --> /usr/local/share/man found manpath map /usr/X11/bin --> /usr/X11/man found manpath map /usr/bin/X11 --> /usr/X11/man found manpath map /usr/bin/mh --> /usr/share/man  using /usr/bin/less -is as pager  using /usr/bin/less -is as browser  using /bin/cat to dump HTML pages as text path directory /usr/bin is in the config file adding /usr/share/man to manpath  path directory /bin is in the config file  path directory /usr/sbin is in the config file  path directory /sbin is in the config file  path directory /usr/local/bin is in the config file adding /usr/local/share/man to manpath  path directory /usr/local/git/bin is not in the config file but there is a man directory nearby adding /usr/local/git/share/man to manpath  path directory /usr/X11/bin is in the config file adding /usr/X11/man to manpath  adding mandatory man directories  No manual entry for man 
3
Все эти проверки, кажется, работают. Ничто из того, что я вижу, явно не так. Очевидно, что-то происходит с мерзавцем, но я не знаю достаточно, чтобы знать, что это может сделать с моим manpath, если что-нибудь. 14 лет назад 0
Here is $ man --path: /usr/share/man:/usr/local/share/man:/usr/local/git/share/man:/usr/X11/man 14 лет назад 0
$ MANPATH пуст 14 лет назад 0
Что находится в `/ usr / share / man`? Doug Harris 14 лет назад 0
$ ls / usr / share / man fr man3 pl fISIS8859-1 man4 pl.ISO8859-2 fr.UTF-8 man5 pl.UTF-8 it man6 ru.KOI8-R it.ISO8859-1 man7 ru.UTF- 8 it.UTF-8 man8 whatis man1 man9 whatis (со старого Mac) man2 mann 14 лет назад 0
Хорошо, тогда что находится в `/ usr / share / man / man1`? Spiff 14 лет назад 0
тонну заархивированных файлов и некоторых файлов, заканчивающихся на .1 как расширение. Вот некоторые из них: ImageUnitAnalyzer.1 esac.1.gz LaunchCFMApp.1 escputil.1.gz [.1.gz etags.1.gz 14 лет назад 0
Есть ли там man.1 или man.1.gz? Spiff 14 лет назад 0
выглядит не так: $ ls / usr / share / man / man1 / | grep man command.1.gz dbmmanage.1.gz hdxml2manxml.1 14 лет назад 0
На самом деле, похоже, что он не содержит ничего, что в алфавитном порядке после "l". Последняя запись - lprm.1.gz 14 лет назад 0
Я могу быть человеком "egrep", но не "ls". Wtf 14 лет назад 0
«Человек сломался» - лучший старт в истории Canadian Luke 12 лет назад 0

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

3
Doug Harris

Я предполагаю, что то, что вы установили, добавило несколько дополнительных каталогов к вам MANPATHи, вероятно, удалило несколько стандартных каталогов MANPATH.

Сначала запустите, man --pathчтобы определить, какие каталоги manбудут искать справочные страницы. Вот что я вижу:

$ man --path /opt/local/share/man:/usr/local/share/man:/usr/local/mysql/man:/usr/share/man:/usr/X11/man 

Если вы не видите /usr/share/manв этом выводе, вы не получите стандартные страницы руководства.

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

Чем больше я об этом думаю, тем больше мне нравится ответ Дуга как быстрый, простой и вероятный способ попробовать первым. Я не удивлюсь, если этот установщик git установит переменную среды MANPATH, которая обычно не устанавливается. Если бы они сделали это с помощью «MANPATH = $ MANPATH: / path / to / git / man / pages», он бы содержал только путь к страницам man git, и поскольку он переопределял /etc/man.conf, это могло бы объяснить все , Spiff 14 лет назад 0
1
Spiff

Я бы сказал, man manно я думаю, это не поможет вам! :-)

Во-первых, which manубедитесь, что вы все еще используете Mac OS X по умолчанию /usr/bin/man. Убедитесь, что он не поврежден. FWIW, в моей системе 10.6.3 вот его md5:

$ md5 `which man` MD5 (/usr/bin/man) = 20c983ccab20dbea7aa76608b27aa148 

Далее, посмотрите, /etc/man.confкак ваш MANPATHнастроен (примечание: это не обязательно будет отображаться в вашей $MANPATHпеременной среды).

Если вы хотите проверить, man.confне повреждены ли вы, вот краткая информация о моем. Я тоже на 10.6.3 и не думаю, что когда-либо менял свои man.conf:

$ md5 /etc/man.conf  MD5 (/etc/man.conf) = 56592a53f75e08418362d2cfcf675e52  $ wc -l /etc/man.conf  140 /etc/man.conf  

Если вы man.confвыглядите вменяемым, начните искать пути MANPATH, которые он определяет, чтобы увидеть, существуют ли эти каталоги и правильно ли они заполнены. /usr/share/manбольшой.

Я полагаю, что вы могли бы также проверить свой каталог man cat (кэшированные версии предварительно отредактированных man-страниц), но в моей системе 10.6.3, похоже, нет каталога cat для man-страниц.

0
D. Woods

У меня была эта проблема навсегда на OS X 10.6.x (где x было по крайней мере 3, 4, 5, 6, 7 и 8).

Сегодня я, наконец, расстроился из-за этого и следил за любыми онлайн-темами, которые мог найти. В первую очередь благодаря предложениям по устранению неполадок на этой странице я решил проблему. Оказывается, что решение проблемы на моем компьютере было намекнуто в комментариях Spiff и user37929. В моей папке / usr / share / man отсутствовало МНОЖЕСТВО ключевых файлов, включая man.1.gz (у меня не было точно проблемы user37929, потому что у меня были файлы в папке man1, которые начинались с букв после «L»). После того, как я скопировал несколько отсутствующих файлов с компьютера друга, страницы руководства вернулись, и я больше не получаю сообщение об ошибке (для тех, которые скопировал).

Итак, в моем случае, похоже, мне нужно полное восстановление / usr / share / man. Это будет проект на будущий день!

О, и я тоже всегда устанавливал git, но я думаю, что до этого у меня была эта проблема.

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