仅为当前用户安装的应用程序中的Linux:Man命令

仅为当前用户安装的应用程序中的Linux:Man命令,linux,manpage,Linux,Manpage,Linux中的手动文件存储在/usr/share/man中。以前,我的应用程序只能由root用户安装,它将手动文件放在这个目录中。现在,我想启用非root安装;为此,我的所有数据和配置文件都将安装在~/下。但是,man命令将无法再访问复制到主页的手动文件 这个问题通常的解决方法是什么 我考虑在我的应用程序中创建一个运行man-M//的“man”命令(因为这比用户自己运行命令更容易)。这是一个好的选择吗 提前感谢。您需要使用命令 其他解决方法是命令alias [spatel@ap4004 appn

Linux中的手动文件存储在
/usr/share/man
中。以前,我的应用程序只能由root用户安装,它将手动文件放在这个目录中。现在,我想启用非root安装;为此,我的所有数据和配置文件都将安装在
~/
下。但是,man命令将无法再访问复制到主页的手动文件

这个问题通常的解决方法是什么

我考虑在我的应用程序中创建一个运行
man-M//
“man”
命令(因为这比用户自己运行命令更容易)。这是一个好的选择吗

提前感谢。

您需要使用命令

其他解决方法是命令
alias

[spatel@ap4004 appname]$ alias man='man -M /home/spatel/appname/man'

[spatel@ap4004 appname]$ alias man
alias man='man -M /home/spatel/appname/man'

man
在默认情况下具有新的行为(至少在Fedora 14和上),它在与环境变量
PATH
对应的路径中搜索,即在
PATH=/xyz/bin
中搜索
/xyz/bin/man
/xyz/share/man
和其他附近的位置。除非设置了
MANPATH

您需要在
.bash\u配置文件的末尾
取消设置MANPATH
,在
/etc
中的一些启动脚本可能会将其设置为禁用

如果不使用-M或MANPATH指定显式路径列表,man将根据配置文件/etc/man.config的内容开发自己的路径列表。配置文件中的MANPATH语句标识要包含在搜索路径中的特定目录

此外,MANPATH_MAP语句根据命令搜索路径(即path环境变量)添加到搜索路径。对于可能位于命令搜索路径中的每个目录,MANPATH_MAP语句指定应添加到手动页面文件搜索路径中的目录。man查看PATH变量并将相应的目录添加到手动页面文件搜索路径中。因此,在正确使用MANPATH_MAP的情况下,当您发出命令man xyz时,您将获得一个程序的手动页面,如果您发出命令xyz,该程序将运行

此外,对于命令搜索路径(我们称之为“命令目录”)中没有MANPATH_MAP语句的每个目录,man会自动查找“附近”的手动页面目录,即作为命令目录本身或命令目录父目录中的子目录

通过在/etc/man.config中包含NOAUTOPATH语句,可以禁用自动“附近”搜索

[spatel@ap4004 appname]$ alias man='man -M /home/spatel/appname/man'

[spatel@ap4004 appname]$ alias man
alias man='man -M /home/spatel/appname/man'