Estou trabalhando com uma configuração, em que a máquina de construção é virtualizada e o armazenamento para o processo de criação é acessado por meio de um compartilhamento de rede:
Sistema operacional do host da VM: Debian 8
Gerenciador de VM: VirtualBox
SO do cliente da VM: Debian 9
Compartilhamento de rede: SSHFS
Projeto sendo construído: OpenWRT
O SSHFS geralmente se comportou bem com o gerenciamento de direitos no processo de construção. No entanto, um problema me deixou perplexo:
. /media/openwrt_build/openwrt/include/shell.sh; bzcat /media/openwrt_build/openwrt/dl/u-boot-2014.10.tar.bz2 | tar -C /media/openwrt_build/openwrt/build_dir/host/u-boot-2014.10/.. -xf -
tar: u-boot-2014.10/tools/buildman/buildman: Cannot utime: No such file or directory
tar: u-boot-2014.10/tools/patman/patman: Cannot utime: No such file or directory
tar: Exiting with failure status due to previous errors
Makefile:46: recipe for target '/media/openwrt_build/openwrt/build_dir/host/u-boot-2014.10/.prepared86e9d8870a885c630b99e1ea2fa45daf' failed
make[3]: *** [/media/openwrt_build/openwrt/build_dir/host/u-boot-2014.10/.prepared86e9d8870a885c630b99e1ea2fa45daf] Error 2
make[3]: Leaving directory '/media/openwrt_build/openwrt/tools/mkimage'
tools/Makefile:147: recipe for target 'tools/mkimage/compile' failed
make[2]: *** [tools/mkimage/compile] Error 2
O Google sugere que Cannot utime: No such file or directory
é uma resposta comum a tentativas falhas de preservar usuários / grupos / direitos dos arquivos extraídos de um tarball. Nesse caso, suspeito que a tentativa de preservar os direitos do tarball colide com o modo como a montagem do SSHFS é configurada para gerenciar direitos.
Existem várias opções que podem ser definidas ao montar uma pasta compartilhada SSHFS, mas não consegui descobrir qual delas poderia resolver esse problema. Atualmente, montei a pasta da seguinte forma:
sshfs [email protected]:/folder/to/mount /local/mount/point
Outro provável ponto de falha pode ser o gerenciamento de direitos da pasta de origem do host e da pasta de montagem do cliente; no entanto, experiências de outros casos indicam que provavelmente não teria chegado tão longe se esse fosse o problema.
ls -l
fornece as seguintes informações sobre as pastas do host e do cliente:
drwxrwxrwx 8 nonrootuser1 nonrootuser1 4096 Jun 25 19:39 /folder/to/mount
drwxr-xr-x 2 nonrootuser2 nonrootuser2 4096 Jun 23 12:36 /local/mount/point
Soluções e sugestões que podem ajudar a resolver o problema de utime
são muito bem-vindas.
Tags mount debian sshfs linux virtual-machine