Why can't I find any manpages?

Why can't I find any manpages?

私は Ubuntu 16.04.2 LTS を実行している Power8 サーバーで作業しています。

$ uname -a    
Linux power 4.4.0-75-generic #96-Ubuntu SMP Thu Apr 20 09:55:30 UTC 2017 ppc64le ppc64le ppc64le GNU/Linux

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"

通常のマニュアルページはインストールされていないようです。次のような簡単なコマンドでも:

man man

戻り値

No manual entry for man
See 'man 7 undocumented' for help when manual pages are not available.

これは、、などのさまざまなツールやls、、grepなどのライブラリ関数にも当てはまります。usleepprintf

少なくともいくつかのマニュアルページが実際にインストールされていることを確認しました。

$ dpkg -l | grep -i manpages
ii  manpages                           4.04-2                                     all          Manual pages about using a GNU/Linux system
ii  manpages-dev                       4.04-2                                     all          Manual pages about using GNU/Linux for development
ii  manpages-posix                     2013a-1                                    all          Manual pages about using POSIX system
ii  manpages-posix-dev                 2013a-1                                    all          Manual pages about using a POSIX system for development

何か見落としているのでしょうか? これはppc64leアーキテクチャに固有のものですか? または、これらのマニュアルページにアクセスするためにインストールできる/インストールする必要がある何か他のものがありますか?

アップデート:要求に応じて、 を実行しましたsudo mandb。結果は次のとおりです。

0 man subdirectories contained newer manual pages.
0 manual pages were added.
0 stray cats were added.
2 old database entries were purged.

およびその他の同様のコマンドには変更はありませんでしたman man

さらに、出力は次のmanpathようになります。

$ manpath -g
/usr/man:/usr/share/man:/usr/local/man:/usr/local/share/man:/usr/X11R6/man:/opt/man
$ manpath -c
/var/cache/man/oldlocal:/var/cache/man/local:/var/cache/man

答え1

マニュアル ページのキャッシュに問題があると思われます。次を実行してください。

sudo mandb

更新するには、システムに存在しない場合は作成されます。

sudo mandb -c古いキャッシュを削除して新しいキャッシュを作成するためにも使用できます。

役に立つかもしれないもう 1 つのオプションは-t、マニュアル ページの正確性チェックを実行することです。

pipまたは他のパッケージ マネージャーを使用してローカルにパッケージをインストールしている場合、~/.local/binそのマニュアル ページを追加するには、以下なしで再度実行しますsudo

mandb

追加の手順

上記の手順manpathで手動検索パスが見つからない場合は、パスが空でないことを確認してください。

次に、マニュアルがインストールされているかどうかを確認します。

$ man -w man
/usr/share/man/man1/man.1.gz

コマンドに結果がない場合は、次を使用します。

$ file /usr/share/man/man1/man.1.gz
/usr/share/man/man1/man.1.gz: gzip compressed data, max compression, from Unix

次に、manマニュアルを開いて、動作するかどうかを確認します。

man /usr/share/man/man1/man.1.gz

マニュアルページが見つからない場合は、そのパッケージを再インストールしてみてください。

答え2

残念ながら、受け入れられた回答は Ubuntu 18 (Bionic) では機能しませんでした。機能したのは次のとおりです。

$ sudo apt install man-db manpages-posix manpages-dev manpages-posix-dev
$ sudo mandb

参照:Ubuntu Linux にマニュアルページをインストールする方法

答え3

私のシステム (Ubuntu 20.04、Focal) では、GROMACS が変数 $MANPATH を作成しましたが、これは manpages で使用される変数よりも優先されます。 を使用することsudo manも機能しますが、~/.bashrc にこの行を追加すると永続的になります。

unset MANPATH

To go a step further, adding this instead makes sure both GROMACS and manpages work alongside.

function man() {              
    unset MANPATH             
    /usr/bin/man ${@}         
    . /usr/local/gromacs/bin/GMXRC
}

関連情報