マニュアルページファイルを手動でインストールする方法を教えてください。


44

システム全体にマニュアルページファイルをインストールするにはどうすればよいですか?

たとえば、マニュアルページファイルがある場合examplecommand.1、それをインストールして、man examplecommand表示するだけで入力できるようにするにはどうすればよいですか?

回答:


53
  1. 最初に、manページが属するセクションを見つけます。コマンドの場合、おそらくセクションに属し1ます。コマンドマンページをmanマンページアイコン読んで、さまざまなセクションの説明と対応する番号を確認できます。

  2. manページをコピーします/usr/local/share/man/man1/1必要に応じてセクション番号に変更します)。にインストールすることもできますが、APTパッケージマネージャーを使用せずにインストールされたファイルにディレクトリ/usr/share/man/man1/を使用するlocalことをお勧めします。

    sudo cp examplecommand.1 /usr/local/share/man/man1/
    
  3. mandbコマンドを実行します。これにより、man内部データベースが更新されます。

    sudo mandb
    
  4. それでおしまい!次のコマンドを実行して、manページを表示できるはずです。

    man 1 examplecommand
    

参照:


1
使用を避けたい場合、オプションはありますか、または推奨される方法は何sudoですか?
ホルヘブカラ

例えば$ HOME / libに/ share / manをまたはそのようなどこか、どのようにあなたがに書くことができる空間でマニュアルページを配置することができますセットMANPATH、上へ下の答えを参照してください@JorgeBucaran
nealmcb

/usr/local/manPATHからMANPATHへのマッピングで提案されているだけでなく、manページを保存できると思います/etc/manpath.config
ジャーノ

10

マニュアルページをローカルにインストールするだけの場合:

場合はMANPATH設定されていない、または空のコンポーネントを含む(すなわちで始まる:、で終わる:、または含まれている::)、そして<path>/share/manたびに自動的manページを検索します<path>/binの一部でありPATHすべての値のために<path>

これにより、ローカルにインストールされたソフトウェアのmanページを追加する非常に簡単な方法が提供されます。そこにいくつかの詳細がでているman manpath/etc/manpath.config、私はより一般的なマッピングの一切の言及が表示されない<path>/binのを<path>/share/man


(非ログインセッション)または(ログインセッション)に追加MANPATH=<local path to the man pages>:$MANPATHしました。私の場合、のmanページ用のローカルディレクトリをセットアップします。これは、古典的なLinuxファイルシステムを模倣しています。を作成しました。これには、プログラムインストーラーが配置したファイルへの場所へのシンボリックリンクが含まれています(configure 'prefix')。起動すると、適切なマニュアルページが見つかります。このように、インストールはローカルですが、システム全体ではありません。${HOME}/.bashrc${HOME}/.profile${HOME}/share/man/${HOME}/share/man/man.1examplecommand.1man examplecommand
XavierStuvw

これは非常に興味深いコメントであり、ローカルバイナリ用にPATHを設定する(既に期待している)必要がある場合にのみパスを提供します。ただし、汎用マッピング<path>/bin-> <path>/share/manが存在するとは思わない。でstrace(1)を実行するmanMANPATH=:/nonexistingdir、次のように表示さ れます。-- <path>/bin> <path>/manこれは、Debain Busterシステム上にあります。
アクタウ

1

上記の@ ntc2による答えは、人々が見るべきものです。コメントセクションに収まらない追加のコメントを追加したかったのです。

@ ntc2によるアプローチは、ローカルバイナリのPATH(既に期待している)を設定するだけの人々にパスを提供します。

ただし、のすべてのパスに対して汎用マッピング<path>/bin-> <path>/share/manが存在するとは思わない$PATH$PATH問題がある場合、この特定のマッピングは回避されるようです$HOME/bin。でstrace(1)を実行するmanMANPATH=:/nonexistingdir、次のルックアップが表示されます。

その中の任意の要素で$PATHはない$HOME/bin

  • <path>/bin -> <path>/man
  • <path>/bin -> <path>/bin/man
  • <path>/bin -> <path>/share/man
  • <path>/bin -> <path>/bin/share/man

ために $HOME/bin

  • $HOME/bin -> $HOME/man

なぜ他のものをスキップするのか分かりません。これはDebian Busterシステム上にあります。他のシステムでは異なる場合があります。

マン・ページをインストールする最も安全なパスがあることを私のために、これは手段<path>/man、中にいた場合に見出されることが保証されますと、$PATH

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.