使用FreeBSD的man命令,也许会碰到找不到的情况,而实际上对应的手册页已经安装到系统中,这有时让人很迷惑,但若细想也在情理之中,毕竟机器只是个机器,操作系统也不是万能的,能够感知系统中业已安装的所有手册页。
实际上,从出错信息看是在manpath指定的搜索路径中找不到对应man文档,所以要想解决这个问题,还是要从manpath上入手,探究其根本运作的原理。
最简单的解决办法是设置MANPATH变量,但若不是考虑周详,可能连最基本的命令手册页也找不到,而实际上在系统运行上下文中,MANPATH环境变量并未进行定义,所以这个方法不是解决之道。
查询man自身的手册页:man man 可知,man 会调用 manpath 命令得到系统定义的man搜索路径,而查看manpath的手册页,对FreeBSD系统,manpath主要会查询 /etc/manpath.config ,manpath.config 内包含了系统定义的man搜索路径,所以只需要修改manpath.config的相关条目,把man无法找到的手册页所在文件路径添加到里面,就可以了。perl在系统安装时就修改了这个文件,增加了:
OPTIONAL_MANPATH /usr/local/lib/perl5/5.10.1/man
OPTIONAL_MANPATH /usr/local/lib/perl5/5.10.1/perl/man
这样就可以查看到perl附带的各种man页面了。
阅读(5225) | 评论(0) | 转发(0) |