sábado, 3 de maio de 2008

Documentação no Linux: Entendendo as Páginas Man

Presente em vários sistemas operacionais Unix-like, as páginas man representam um conjunto de documentação centralizado e organizado de todas as aplicações instaladas no sistema e do próprio. Como a abreviação mesmo diz, eles são verdadeiros manuais mostrando todas as opções disponíveis e imagináveis de uso e configuração.


Diz o ditado que “apenas o man sabe tudo sobre o bash” o que não deixa de ser verdade (embore Júlio Neves venha a descordar dessa frase :D), pois muitas vezes a quantidade de opções disponíveis nesses sistema torna a tarefa de decorar todas as opções um tanto árdua, por isso mesmo os melhores administradores tendem a vez ou outra ir lá caçar aquela opção obscura dentro das páginas man.

O programa man é composto de dois programas básicos. O man propriamente dito e o mamdb. As páginas man se encontram compactadas em determinados diretórios, no geral /usr/man ou /ush/share/man (mais comumente este). A existências de outros diretórios, adicionais ou não a esses, pode ser especificada através da variável de sistemas MANPATH ou no arquivo de configuração do man, localizado em /usr/lib/man.conf ou /etc/man.conf ou ainda no caso do Ubuntu /etc/manpath.config.

Voltando aos programas. O mamdb verifica quais paths as páginas man se encontram armazenadas e gera um índice de palavras-chaves encontradas nas mesmas, de modo que no momento em que o administrador do sistema precise recorrer ao man a sua pesquisa seja a mais rápida possível.

O arquivo man por sua vez, é o responsável por abrir a página solicitada, na seção solicitada e mostra-la ao usuário. Sua sintaxe básica é

# man item_a_ser_procurado

Como eu disse, a página man não apenas mostra o documento solicitado, mas também na seção desejada. As seções existem com o objetivo de agregar as páginas não somente por comando mas também por função. Temos normalmente 9 seções, que segue abaixo:

Seção 1: programas e comandos
Seção 2: sistema
Seção 3: bibliotecas
Seção 4: dispositivos
Seção 5: convenções e formatos de arquivo.
Seção 6: jogos
Seção 7: outros
Seção 8: procedimentos administrativos
Seção 9: kernel

Alguns comandos podem e normalmente possuem 2 ou mais seções de páginas manual. Um exemplo o comando crontab, cuja página man pode ser chamada das seguintes maneiras:

# man crontab

(que equivale a #man 1 crontab)
Será exibida a página man do programa crontab, responsável por carregar a tabela de trabalhos do cron

# man 5 crontab

Irá mostrar as opções de configuração do arquivo crontab, o arquivo de configuração do cron.

Outros dois programas auxiliares são utilizados em conjunto com o man:

O primeiro é o apropos. Digitando apropos seguido por um termo qualquer, este irá procurar por todas as páginas man e retornará na tela aquelas que possuem referência ao termo solicitado. Esse comando pode ser substituído pelo próprio comando man com a opção –k.

Outro comando é o whatis, que irá retornar a descrição básica do programa/comando/biblioteca/etc solicitado e todas as seções de páginas man relacionadas. O programa utiliza a mesma base criada pelo programa mandb.

por Tales de Azevedo (hailtales@gmail.com)