人为破坏,可能是在安装 git 时,我该如何修复?

人为破坏,可能是在安装 git 时,我该如何修复?

我正在运行 Mac snow leopard 10.6.3,并且我使用了最初为 leopard 设计的 Mac git 安装程序。我想从那时起我的手册页就坏了,尝试查找任何命令都会让我的计算机停顿一段时间,然后返回“未找到手册页”。我从哪里开始修复这个问题?谢谢。

以下是 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

答案1

我的猜测是,你所安装的东西在你的目录中添加了一些额外的目录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重建页面索引和/或对您安装的内容进行一些预格式化有关。

答案2

我想说,man man但我想那对你没有帮助!:-)

首先,which man确保您仍在运行 Mac OS X 系统默认设置/usr/bin/man。检查以确保它没有损坏。在我的 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 dir(预渲染手册页的缓存版本),但在我的 10.6.3 系统上,似乎没有手册页的 cat dir。

答案3

我在 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,但我认为我在此之前就遇到过这个问题。

相关内容