Docker – debian:stretch-slim – 安装 man 并查看手册页

Docker – debian:stretch-slim – 安装 man 并查看手册页

当使用debian:stretchDocker 镜像,/usr/share/man/目录已经包含很多联机帮助页, 和man可以轻松安装以查看它们:

$ apt-get update
$ apt-get install man
$ man ls
$ man cp

然而,当使用debian:stretch-slimDocker 镜像,该/usr/share/man/目录故意为空:

这些标签是提供更精简基础的实验(删除容器中通常不需要的一些额外文件,例如手册页和文档)

如何填充该/usr/share/man/目录,以便可以用来man查看核心实用程序的联机帮助页(例如catchmodchowncplsmkdirmvrmtail等)?

答案1

coreutils包裹/usr/share/man/man1/使用核心实用程序的联机帮助页填充目录

然而,仅仅运行apt-get updateapt-get install coreutils不够的,因为dpkg已经配置为排除/usr/share/man/*,使用path-exclude/etc/dpkg/dpkg.cfg.d/docker(参见这里这里)。

因此,第一步是从/etc/dpkg/dpkg.cfg.d/docker文件中删除该行。一种方法是使用sed:

$ sed -i '/path-exclude \/usr\/share\/man/d' /etc/dpkg/dpkg.cfg.d/docker

dpkg也曾被配置为排除/usr/share/groff/*,这也需要撤消(因为groff需要渲染联机帮助页):

$ sed -i '/path-exclude \/usr\/share\/groff/d' /etc/dpkg/dpkg.cfg.d/docker

现在/usr/share/man/man1/需要从包中填充该目录coreutils。由于coreutils已经安装在debian:stretch-slimDocker镜像中,因此需要重新安装:

$ apt-get update
$ apt-get install --reinstall coreutils

最后man就可以安装并可以查看manpages了:

$ apt-get install man
$ man ls
$ man cp

安装起来也很有帮助less,它将man用于对联机帮助页进行分页,并提供比默认更好的体验more分页器:

$ apt-get install less

相关问题:

答案2

如果您想要包含手册页,请不要使用

debian:stretch-slim版本,

而是选择常规的

debian:stretch

人故意在精简版中节省磁盘空间。

相关内容