web-dev-qa-db-ja.com

CentOSにmanページをインストールする方法は?

注:これはCentos 7に適用されます。Debianの回答を探している場合は、 この質問 を参照してください。これらの回答はここでは複製されません。

Centos 7をインストールした後、manページにアクセスできません。

# man ls
-bash: man: command not found

Yumでインストールしてみた

# yum install man-pages
... ok

しかし、再び:

# man ls
-bash: man: command not found

どうして?

18
Rémi B.

Manコマンドを使用するには、man-pagesの前または後にmanパッケージもインストールする必要があります

# 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. ...
17
Rémi B.

私のdockerコンテナーで同じ問題があり、コメントアウトして解決しましたtsflags=nodocs の中に /etc/yum.confファイルを削除してから、man-pagesとman-dbを削除して、再インストールしました。この方法で問題なく動作します。

$ vi /etc/yum.conf

ファイル内でtsflagsを検索し、その前にコメント(#)を追加します。

#tsflags=nodocs

システムにすでにインストールされている場合は、man-dbとman-pagesを削除します。

$ yum remove man-pages man-db

次に、それらを再度インストールします。

$ yum install man-pages man-db

ソートされました!

7
R. S

CentOS 7の構文:

# yum install man-pages man-db man

CentOS 6の構文:

$ Sudo yum install man man-pages

ソース

4
simhumileco

R。S で指摘されているように、CentOSの公式Dockerイメージでは、マニュアルページのインストールが無効になっています。これは、Fedoraの公式Dockerイメージにも当てはまります。

これを処理する最も簡単な方法は、どちらのシステムでも機能する次のsedコマンドを使用することです。

sed -i -e '/tsflags=nodocs/s/^/#/' /etc/yum.conf /etc/dnf/dnf.conf || true

これにより、2つのファイルのいずれかを読み取ることができないというエラーメッセージが表示されますが、どちらかが存在する場合は、tsflags=nodocs行をコメント化するように更新されます。末尾の|| trueを使用すると、スクリプトが停止しないように、エラーが発生してもコマンドが成功を返すことが保証されます。

これはRUNDockerfileコマンドで使用できます。その場合は、さらにパッケージをインストールする前に使用する必要があります。すでにインストールされているパッケージの場合、通常それらに付属するマニュアルページはアンインストールされたままになり、マニュアルページを表示するにはパッケージを再インストールする必要があります。ベースシステムの多くのマニュアルページ(lsなど)はman-pagesパッケージに含まれていますが、gitなどの他のパッケージには独自のマニュアルページが含まれており、再インストールする必要があります。

パッケージを削除してから再インストールすると、依存関係の問題が発生する可能性があります。これらを回避するには、代わりに次を使用します。

yum -y reinstall man-pages git
1
cjs