Acho que resolvi isso. O xdm cria a raiz .Xauthority
as, portanto, a opção no_root_squash
nas exportações NFS impede que isso aconteça. Remover essa opção permite que os clientes criem a .Xauthority
apenas.
Recentemente, criei um novo servidor de arquivos para o nosso grupo de pesquisa. O antigo estava rodando o SuSE linux e, apesar de pequenos discos rígidos e uma máquina lenta, funcionava bem. Os clientes são principalmente máquinas Gentoo montando os compartilhamentos NFS via autofs
. Os diretórios iniciais das máquinas estão no servidor de arquivos.
O novo servidor de arquivos é uma máquina virtual em algum computador do departamento executando Debian squeeze
. Após a configuração (várias vezes), tivemos grandes problemas com rpc.statd
e / ou rpc.lockd
não respondendo assim que mais de um computador montou seus diretórios pessoais. Atualizamos o kernel de 2.6.32
para 3.2
, o que pareceu corrigir esse problema. No entanto, parece que os arquivos de bloqueio ainda não são criados .
Por exemplo, nosso gerenciador de área de trabalho xdm nos clientes recua para criar o arquivo .Xauthority
em algum lugar localmente em /tmp
em vez de no diretório inicial no compartilhamento NFS. Além disso, programas pesados que usam arquivos de bloqueio, como Firefox, Thunderbird, Libreoffice
etc., são um pouco lentos e o login do xdm também.
Nós usamos (pelo menos é o que eu acho) o NFS4, que, a meu conhecimento, não precisa mais de rpc.lockd
e assim por diante. A única mensagem de erro relacionada a isso que eu posso encontrar desde a atualização do kernel é a seguinte:
sm-notify[540]: nsm_parse_reply: [0x515dce2e] RPC status 1
Eu não consigo descobrir na internet o que isso significa. O servidor não está (atualmente) protegido, o /etc/default/nfs-kernel-server
se parece com isso
RPCNFSDCOUNT=32
RPCNFSDPRIORITY=0
RPCMOUNTDOPTS="--manage-gids -p 32767"
NEED_SVCGSSD=
RPCSVCGSSDOPTS=
e nos clientes, o hosts.allow
contém uma entrada para rpcbind
do servidor.
Eu tenho várias perguntas relacionadas a isso:
Xauthority
e os aplicativos mencionados acima? Acho que resolvi isso. O xdm cria a raiz .Xauthority
as, portanto, a opção no_root_squash
nas exportações NFS impede que isso aconteça. Remover essa opção permite que os clientes criem a .Xauthority
apenas.
Acho que tcpdump(8)
e strace(1)
são seus amigos aqui.
tcpdump
pode:
strace
rastreia chamadas e sinais do sistema, que, quando anexados ao processo adequado, como um shell ou sshd
, podem mostrar, por exemplo, o número de chamadas fopen()
, o que poderia sugerir o problema de autoridade. .
Já aconteceu comigo várias vezes (não com o NFS, mas com a solução de problemas do cliente / servidor) que o aplicativo não funciona e nem vai dizer por quê ou dizer algo inteligente como "erro inesperado" nos arquivos de log, onde um tcpdump -A
detalhado mostra as mensagens de erro do servidor (que o cliente simplesmente ignorou), então tcpdump
juntamente com strace
são inestimáveis ao lidar com problemas com aplicativos que você não construiu.