现象:
自从使用了docker容器,在容器中yum安装的软件就怎么着也man不了,man的时候就提示:
1 |
No manual entry for man |
通过rpm查看软件包中是否包含man文件,确实包含; 使用rpm -V 也检查不到rpm包损坏; 实际上,man文件是不存在的。
原因:
- 我们使用的docker镜像已经被官方精简过了,把所有已安装软件的man页都删除了,这样镜像可以更小
- docker镜像中的/etc/yum.conf 也被刻意处理了一下,里面有个tsflags的选项,配置了nodocs,这样的话,新安装的软件也会被自动剔掉man文件(估计rpm知道man文件是被故意删掉的,所以也不报错)
解决办法:
- /etc/yum.conf 中注释掉:
1tsflags=nodocs - 卸载掉相关软件,重新yum安装
注: 上述情况是把docker容器当虚拟机使用的,并不太在乎镜像的大小