Ambiente:
Eu tenho um problema bizarro que surgiu ao tentar instalar o ruby a partir do ruby-build. No processo de instalação, ele executa um script de configuração que, em algum lugar com mais de 25.000 linhas, executa algo como o seguinte:
mkdir d
ln -s f d
rm d/f
rmdir d
Depois disso, o identificador de diretório atual é obsoleto e a execução dos resultados de 'ls':
ls: cannot open directory .: Stale file handle
Depois de tentar acertar um pouco, vejo que isso só acontece dentro do contêiner e somente ao executar a partir de uma pasta que não existe na imagem base.
Por exemplo, a imagem base já tem o / root, então se eu executar os 4 comandos do / root, ele funcionará bem. No entanto, se eu correr de / root / somesubdir ele falhará. A mesma coisa acontece em / tmp e / opt (apenas um / mount, nada especial para / tmp ou / opt) onde funciona bem para / tmp ou / opt, mas não para algum subdir criado dentro dele.
Se, em vez disso, executar o comando dentro / run, que é uma montagem tmpfs, ele funcionará bem dentro do contêiner em subdiretórios.
Aqui estão minhas montagens:
Filesystem 1K-blocks Used Available Use% Mounted on
/var/lib/lxc/base_container/rootfs 37747708 20436096 16331024 56% /
udev 10240 0 10240 0% /dev
tmpfs 4097824 12 4097812 1% /dev/shm
tmpfs 4097824 106600 3991224 3% /run
tmpfs 5120 0 5120 0% /run/lock
tmpfs 4097824 0 4097824 0% /sys/fs/cgroup
Eu assumo que é uma peculiaridade do arquivo d / f criado que é um link circular simbólico para si mesmo.
Alguma idéia do que está errado ou como consertá-lo?