MANPATH não definido no Scientic Linux 5.5

0

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

Esta razão porque eu acho que os módulos do ambiente estão mexendo com o $ MANPATH é que depois de logar no sistema a única entrada é:

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

EDITAR:

Entretanto, e relativamente à primeira resposta, tentei isto:

# 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 eu acho que o /etc/man.config ainda não é completamente manipulado. Alterar o /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:
    
por Oliver R. 16.02.2016 / 08:44

2 respostas

1

Esta é a solução: Se $ MANPATH estiver definido, os caminhos padrão para páginas manuais serão sobrescritos. Portanto, desfazer $ MANPATH revela o caminho padrão, apenas execute o comando "manpath":

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

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

    
por 16.02.2016 / 11:28
0

Bem, embora eu esteja escrevendo no campo Sua resposta , eu não sei a resposta, eu só sei uma meta-resposta que pode ser utilizada sempre que esse tipo de "em qual arquivo de configuração é isso mutilou? " aparece.

Instale o comando midnight se você ainda não o fez. Inicie o mc em / etc:

mc /etc

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

let Comece em: seja um . (único ponto) como padrão, deixar Nome do arquivo: ser * como padrão e deixe Conteúdo: ser MANPATH .

A pesquisa de conteúdo deve ser verificada e Primeira ocorrência não deve.

Apenas deixe a pesquisa terminar e na caixa de diálogo você verá todas as ocorrências do 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 IMHO mais acessível.

    
por 16.02.2016 / 09:29