Answers:
为了使用man命令,你还必须安装man
前或后包man-pages
一个
# yum install man-pages
... ok
# yum install man
... ok
现在man
已安装
# man ls
NAME
ls - list directory contents
SYNOPSIS
ls [OPTION]... [FILE]...
DESCRIPTION
List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort.
Mandatory arguments to long options are mandatory for short options too. ...
我在docker容器中遇到了同样的问题,并通过tsflags=nodocs
在/etc/yum.conf
文件中注释掉了它来解决它,然后我删除了手册页和man-db并再次重新安装它们。这样可以很好地工作。
$ vi /etc/yum.conf
搜索tsflags
文件,并在文件前面添加注释(#):
#tsflags=nodocs
现在,如果您的系统上已经安装了man-db和手册页,请删除它们:
$ yum remove man-pages man-db
然后再次安装它们:
$ yum install man-pages man-db
排序!
正如R. S指出的那样,CentOS官方Docker映像已禁用手动页面安装。Fedora官方Docker映像也是如此。
解决此问题的最简单方法是通过以下sed
命令,该命令将在任一系统上运行:
sed -i -e '/tsflags=nodocs/s/^/#/' /etc/yum.conf /etc/dnf/dnf.conf || true
这将产生一条错误消息,表明它无法读取两个文件之一,但是存在的任何一个文件都会被更新以注释掉该tsflags=nodocs
行。将|| true
在年底确保命令返回成功,无论任何错误,以避免在脚本停止。
可以在中的RUN
命令中Dockerfile
使用它,在这种情况下,应在安装任何其他软件包之前使用它。对于已经安装了软件包的软件包,通常随附的任何手册页都将保持卸载状态,并且必须重新安装软件包才能引入手册页。软件包中包含许多基本系统的手册页(例如ls
)man-pages
,但是其他软件包(例如git
包括它们自己的手册页)也需要重新安装。
删除然后重新安装软件包可能会导致依赖性问题。为了避免这些,请使用:
yum -y reinstall man-pages git
man(1)
是系统的一个非常基本的部分。您可以尝试重新安装,即goyum reinstall /usr/bin/man
。