在docker上安装Ubuntu后,发现没有安装man,执行 apt-get update && apt-get install man ,安装man,完成后,运行man man 会发现并没有出现预想中的情况,而是出现如下信息:
No manual entry for man
See 'man 7 undocumented' for help when manual pages are not available.
这是什么情况?
其实原因很简单,为了使镜像文件体积尽可能的小,所以Ubuntu版本在安装文件时,过滤掉了其中包含的文档内容,这部分配置是在/etc/dpkg/dpkg.cfg.d/excludes文件中声明的(执行man dpkg会有相关配置信息的说明,当然你要先把No manual entry for dpkg的问题解决)。打开该文件cat /etc/dpkg/dpkg.cfg.d/excludes,有如下内容:
# Drop all man pages
path-exclude=/usr/share/man/*
# Drop all documentation ...
path-exclude=/usr/share/doc/*
# ... except copyright files ...
path-include=/usr/share/doc/*/copyright
# ... and Debian changelogs
path-include=/usr/share/doc/*/changelog.Debian.*
所以,只要删除该文件或注释掉path-exclude的部分,之后安装的应用,就可以使用man文档了。但是,