2

Linuxの手動ファイルはに保存され/usr/share/manます。以前は、私のアプリケーションはrootユーザーのみがインストールでき、手動ファイルをこのディレクトリに配置していました。ここで、root以外のインストールを有効にします。これを実現するために、すべてのデータと構成ファイルがの下にインストールされ~/<appname>/ます。ただし、ホームにコピーされた手動ファイルには、manコマンドでアクセスできなくなります。

この問題の通常の回避策は何ですか?

"man"実行するコマンドをアプリケーションで作成することを考えましたman -M /<man_path>/<appname>/(これは、コマンドを自分で実行するよりもユーザーにとって簡単だからです)。これは良いオプションですか?

前もって感謝します。

4

3 に答える 3

3
[spatel@ap4004 appname]$ export MANPATH=/home/spatel/appname/man

[spatel@ap4004 appname]$ manpath
/home/spatel/appname/man/en:/home/spatel/appname/man

その他の回避策はコマンドですalias

[spatel@ap4004 appname]$ alias man='man -M /home/spatel/appname/man'

[spatel@ap4004 appname]$ alias man
alias man='man -M /home/spatel/appname/man'
于 2013-01-28T19:52:01.797 に答える
0

manpathコマンドを使用する必要があります。

于 2013-01-28T19:48:09.067 に答える
0

manデフォルトでは(少なくともFedora 14以降では)、PATH環境変数に対応するパスを検索するという新しい動作があります。つまり、PATH=/xyz/bin検索/xyz/bin/man/xyz/share/manその他の近くの場所を検索します。設定されていない限りMANPATH

unset MANPATHあなたはあなたの最後にする必要があります.bash_profile、いくつかのスタートアップスクリプトはあなた/etcを怒らせるようにそれを設定するかもしれません。

-MまたはMANPATHを使用して明示的なパスリストを指定しない場合、manは、構成ファイル/etc/man.configの内容に基づいて独自のパスリストを作成します。構成ファイルのMANPATHステートメントは、検索パスに含める特定のディレクトリーを識別します。

さらに、MANPATH_MAPステートメントは、コマンド検索パス(つまり、PATH環境変数)に応じて検索パスに追加されます。コマンド検索パスに含まれる可能性のあるディレクトリごとに、MANPATH_MAPステートメントは、マニュアルページファイルの検索パスに追加する必要のあるディレクトリを指定します。manはPATH変数を調べ、対応するディレクトリをマニュアルページファイルの検索パスに追加します。したがって、MANPATH_MAPを適切に使用すると、コマンドman xyzを発行すると、コマンドxyzを発行した場合に実行されるプログラムのマニュアルページが表示されます。

さらに、MANPATH_MAPステートメントがないコマンド検索パス(これを「コマンドディレクトリ」と呼びます)の各ディレクトリについて、manは自動的に「近く」の手動ページディレクトリを検索します。コマンドディレクトリ自体またはコマンドディレクトリの親ディレクトリ。

/etc/man.configにNOAUTOPATHステートメントを含めることにより、自動「近隣」検索を無効にできます。

于 2013-01-28T20:41:20.793 に答える