In other words, when I run man
on a command name, does it always provide the manpage of the installation currently associated with the command name?
Com programas configurados corretamente, sim. (Este deve ser o caso, pelo menos, para todos os pacotes originados no Debian.)
Pacotes que configuram corretamente alternativas para comandos associarão as páginas de manual correspondentes à alternativa.
mawk
define uma alternativa awk
com prioridade baixa (5) e associa o comando nawk
e as duas páginas de manual (para awk
e nawk
). Assim, sempre que mawk
for selecionado como o provedor awk
, ele também será selecionado como o provedor nawk
, e sua página de manual será selecionada como o provedor para as páginas de manual awk
e nawk
.
gawk
também define suas alternativas desta forma, com uma prioridade mais alta (10).
Por padrão, as alternativas são gerenciadas no modo automático: sempre que uma alternativa é instalada ou removida, o sistema de alternativas escolhe o provedor disponível com a prioridade mais alta. Quando você instala o Lubuntu, apenas mawk
é instalado, por isso é o único provedor e é escolhido por padrão. Quando você instala gawk
, dois awk
provedores estão disponíveis e o sistema de alternativas escolhe gawk
porque ele tem a prioridade mais alta.
Você pode escolher sua própria alternativa usando update-alternatives --config awk
, o que lhe permitirá forçar sua própria seleção (escolhendo uma das entradas de “modo manual”), ou usar qualquer que seja a seleção automática (escolhendo o “modo automático” "Entrada".
O resultado de tudo isso é um monte de links simbólicos em /etc/alternatives
; o executável awk
é um link simbólico para /etc/alternatives/awk
, que é um link simbólico para o provedor escolhido. O estado atual do sistema é armazenado em arquivos em /var/lib/dpkg/alternatives
, um por alternativa "principal" ( /var/lib/dpkg/alternatives/awk
neste caso). Esse é um detalhe de implementação, claro, e você deve usar apenas update-alternatives
para interagir com o sistema de alternativas.