Lubuntu 18.04では、デフォルト値はですawk
。与えられたmanpagをmawk
見つけました。man awk
mawk
それからそれをインストールし、gawk
それがawk
すべてでしたgawk
。そしてman awk
manpagが与えられましたgawk
。
一般的なケースなのかと思います。つまり、man
特定のコマンド名を実行するときは、常にそのコマンド名と現在接続されているインストールのマンページを提供しますか?
ありがとうございます。
答え1
これは代替アップデート魔法。
一部のコマンドが同じ名前(この例のように)をgawk
持ち、両方ともmawk
nameとして使用可能である必要がある場合は、作成しawk
てくださいsymlink
。例えば
/usr/bin/awk -> /etc/alternatives/awk
/etc/alternatives/awk -> /usr/bin/gawk
男も同じです。
/usr/share/man/man1/awk.1.gz -> /etc/alternatives/awk.1.gz
/etc/alternatives/awk.1.gz -> /usr/share/man/man1/gawk.1.gz
現在インストールされているコマンドマニュアルへのシンボリックリンクであるmanから読むと、現在インストールされているコマンド/usr/share/man/man1/awk.1.gz
マニュアルが開きます。
/etc/alternatives
ディレクトリが使用されます代替アップデート現在使用されている代替案を追跡します。
答え2
つまり、
man
特定のコマンド名を実行するときは、常にそのコマンド名と現在接続されているインストールのマンページを提供しますか?
適切に構成されたプログラムを使用すれば可能です。 (少なくともこれは Debian で起動されたすべてのパッケージの場合でなければなりません。)
パッケージを正しく設定代替up for コマンドは、適切なマンページを代替と関連付けます。
mawk
awk
低い優先順位(5)の代替を設定し、nawk
コマンドを2つのマンページ(awk
および)にnawk
関連付けます。したがって、プロバイダmawk
として選択されるたびにプロバイダとしても選択され、そのマンページもそのマンページのプロバイダとして選択されます。awk
nawk
awk
nawk
gawk
また、より高い優先順位(10)で代替をこの方法で設定します。
デフォルトでは、代替項目はサイレントモードで管理されます。つまり、代替エントリがインストールまたは削除されるたびに、代替システムは最も優先順位の高い利用可能なプロバイダを選択します。 LubuntuをインストールするとLubuntuのみがインストールmawk
されるため、これは唯一のプロバイダであり、デフォルトで選択されます。をインストールすると、gawk
2 つのawk
プロバイダーが使用可能になり、システムは優先gawk
順位の高いプロバイダーを選択します。
を使用して独自の選択肢を選択できます。update-alternatives --config awk
これにより、強制的に選択するか(「手動モード」項目の1つを選択)、自動選択を使用できます(「自動モード」項目の選択)。
これらすべての結果は複数のシンボリックリンクです/etc/alternatives
。実行可能ファイルは、それ自体で選択したプロバイダへのシンボリックリンクですawk
。/etc/alternatives/awk
システムの現在の状態は、/var/lib/dpkg/alternatives
各「デフォルト」代替(/var/lib/dpkg/alternatives/awk
この場合)ごとに1つずつ以下のファイルに保存されます。もちろん、これは実装の詳細なので、update-alternatives
代替システムと対話するためにのみ使用する必要があります。