MANPATH não definido no Scientific Linux 5.5

MANPATH não definido no Scientific Linux 5.5

Em uma instalação do Scientific Linux 5.5, o $MANPATH não está definido. Tenho módulos de ambiente instalados, isso pode causar a substituição de $ MANPATH, mas não tenho certeza disso. Portanto, minha questão principal é: em que ponto o /etc/man.config é interpretado para formar o $ MANPATH? É o bash-shell por si só (codificado) ou é um arquivo originado no momento do login, por exemplo, /etc/profile? Não consigo encontrar nenhuma dependência em /etc em nenhum arquivo para /etc/man.config.

A razão pela qual acho que os módulos de ambiente estão mexendo com o $MANPATH é que após o login no sistema a única entrada é:

# manpath 
/cm/local/apps/environment-modules/3.2.6/man

EDITAR:

Enquanto isso e em relação à primeira resposta, tentei o seguinte:

# find . -type f -exec fgrep -l -i manpath {} \;
./profile.d/man.sh
./profile.d/man.csh
./man.config

Bem, este é o conteúdo de

# cat /etc/profile.d/man.sh 
export MANPATH=:ignore:/cm/local/apps/environment-modules/3.2.6/man

Se eu remover este arquivo, pelo menos "/usr/man" aparecerá no $MANPATH, mas esta é apenas a ponta do iceberg do que está definido no /etc/man.config . Então acho que /etc/man.config ainda não foi completamente tratado. Alterar /etc/profile.d/man.sh para o seguinte não teve efeito:

# cat /etc/profile.d/man.sh 
export MANPATH=:ignore:/cm/local/apps/environment-modules/3.2.6/man:$MANPATH
# echo $MANPATH 
ignore:/cm/local/apps/environment-modules/3.2.6/man:

Responder1

Esta é a solução: se $MANPATH estiver definido, os caminhos padrão para páginas de manual serão substituídos. Portanto, desarmar $MANPATH revela o caminho padrão, basta executar o comando "manpath":

/usr/local/share/man:/usr/share/man/en:/usr/share/man:/usr/man:/usr/local/man

O conteúdo de /etc/profile.d/man.sh também está correto, porquedois pontos à esquerda na variável $ MANPATH impedirão a substituição do caminho de manual padrão! Esta é a solução realpara o meu problema, porque um módulo de ambiente precedeu um caminho manual para a variável $ MANPATH sem os dois pontos iniciais e por causa disso as páginas de manual padrão não estavam mais disponíveis.

Responder2

Bem, embora eu esteja escrevendo nosua Respostacampo, não sei A resposta, apenas conheço uma meta-resposta que pode ser utilizada sempre que ocorrer esse tipo de "em que arquivo de configuração ele está mutilado?" aparece.

Instale o Midnight Commander se ainda não o fez. Inicie o mc em /etc:

mc /etc

inicie a caixa de diálogo Localizar arquivo com F9, c, f ou Alt-? ou Meta-? (se Alt não for seu Meta)

deixarComeça ás:seja um.(ponto único) como padrão, deixeNome do arquivo:seja * como padrão e deixeContente:serMANPATH.

Procure por conteúdodeve ser verificado ePrimeiro golpenão deveria.

Basta deixar a busca terminar e na caixa de diálogo você verá todas as ocorrências de MANPATH em todos os arquivos onde está escrito. Você pode navegar e julgar o que torna sua vida mais difícil.

Basicamente, é o mesmo que se você executasse o rgrep em /etc procurando por MANPATH e lesse sua saída, apenas um IMHO muito mais prático.

informação relacionada