Atualizou o fakeroot para a v1.20.2-1, não enfrentando problemas com o fakeroot atualizado.
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?
Atualizou o fakeroot para a v1.20.2-1, não enfrentando problemas com o fakeroot atualizado.
Tags linux filesystems