Tar encontra “Não é possível abrir: não é um diretório” durante a compactação

5

Estou usando o fakeroot v1.12.4 para empacotamento e extração no RHEL-6.4 . Eu tenho dois servidores diferentes onde estou compactando arquivos usando tar v1.23. A compactação está falhando em um servidor com este erro:

tar: ./isolinux/etc/modprobe.d/blacklist.conf: Cannot open: Not a directory
tar: Exiting with failure status due to previous errors

Se eu verificar o tipo de arquivo para este arquivo (como um usuário normal), ele diz que é um arquivo ASCII:

girishp@~$ file ./isolinux/etc/modprobe.d/blacklist.conf
isolinux/etc/modprobe.d/blacklist.conf: ASCII English text
girishp@~$

Mas se eu verificar o tipo de arquivo no ambiente fakeroot, ele diz que é o diretório:

+ file ./isolinux/etc/modprobe.d/blacklist.conf
./isolinux/etc/modprobe.d/blacklist.conf: directory

O comando que estou usando para compactar é:

tar -czf /home/users/girishp/tarfiles/mytar.tgz .

Usando * em vez de .

tar -czf /home/users/girishp/tarfiles/mytar.tgz *

Eu comparei as variáveis de ambiente de ambas as máquinas, não há diferença no ambiente. Se eu usar sudo em vez de fakeroot , funcionará bem. strace de tar diz que está tentando abrir o arquivo com a opção O_DIRECTORY .

open("./isolinux/etc/modprobe.d/blacklist.conf", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = -1 ENOTDIR (Not a directory)

Eu tentei remover algumas variáveis de ambiente usadas por fakeroot :

unset LD_LIBRARY_PATH
unset LD_PRELOAD

Tar trabalha bem com isso.

Por que esse arquivo aparece como um diretório no ambiente do fakeroot?

    
por GiL 09.03.2016 / 14:22

1 resposta

0

Atualizou o fakeroot para a v1.20.2-1, não enfrentando problemas com o fakeroot atualizado.

    
por 29.07.2016 / 13:09