如何在centos上安装手册页?


18

注意:这适用于Centos7。如果您正在寻找Debian的答案,请参阅此问题。这些答案将不在此处重复。

安装centos 7之后,我无法访问手册页:

# man ls
-bash: man: command not found

我尝试通过yum安装它

# yum install man-pages
... ok

但是再次:

# man ls
-bash: man: command not found

为什么?


1
这是非常不可思议的,这man(1)是系统的一个非常基本的部分。您可以尝试重新安装,即go yum reinstall /usr/bin/man
vonbrand,2015年

Answers:


17

为了使用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. ...

2
显然,这在docker容器内的centOS上不起作用。我知道我已经在centOS VM中工作了,但是不确定为什么它不能在容器中工作。
泽西豆

9
好的,我才找到答案。Docker centos映像是使用/etc/yum.conf中设置的tsflags = nodocs预先构建的。参见hub.docker.com/_/centos
泽西豆

你是对的!+1为补码。谢谢!
雷米B.

6

我在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

排序!


这是我在Windows上安装WSL centos75的秘密调味料。
Choy

4

CentOS 7上的语法:

# yum install man-pages man-db man

CentOS 6上的语法:

$ sudo yum install man man-pages

资源


0

正如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使用它,在这种情况下,应在安装任何其他软件包之前使用它。对于已经安装了软件包的软件包,通常随附的任何手册页都将保持卸载状态,并且必须重新安装软件包才能引入手册页。软件包中包含许多基本系统的手册页(例如lsman-pages,但是其他软件包(例如git包括它们自己的手册页)也需要重新安装。

删除然后重新安装软件包可能会导致依赖性问题。为了避免这些,请使用:

yum -y reinstall man-pages git
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.