Um monte de arquivos “._” dentro de um tar [duplicado]

7

Eu tenho um tar que foi gerado em uma máquina linux. Eu preciso fazer upload de parte desse tar para outra máquina linux. O tar cheio é enorme e levará horas para carregar. Agora estou em uma máquina Mac OSX e isso é problema meu:

  1. Eu extraio o tar para uma pasta e localizo o que preciso carregar no novo servidor
  2. Eu crio um tar menor contendo apenas o que eu quero enviar.
  3. eu carrego e extraio isso para a nova máquina linux
  4. Quando olho o servidor, ele está cheio de arquivos ._ . Para cada arquivo enviado, há um arquivo ._ , como text1.txt , ._text1.txt , text2.txt , ._text2.txt ...

O OSX está incluindo esses arquivos no tar.

Eu tentei fazer isso

tar --exclude='._*' -cvf newTar  . 

sem diferença.

Não tenho acesso ssh ao novo servidor agora.

O que posso fazer para resolver isso? Como faço para gerar um tar limpo.

    
por SpaceDog 09.05.2016 / 16:01

3 respostas

6

No meu entendimento, tar --exclude='._*' -cvf newTar . deve funcionar: o Finder cria os arquivos ._* , mas newTar não deve contê-los.

Mas você pode ignorar completamente esses arquivos invocando o tar no modo de passagem. Por exemplo, para copiar apenas os arquivos de oldTar que estão em some/path , use

tar -cf newTar --include='some/path/*' @oldTar
    
por 10.05.2016 / 02:29
16

Os arquivos ._ são como o OS X bsdtar manipula os atributos estendidos e os garfos de recursos específicos do OS X. (É um mecanismo conhecido como AppleDouble e, de fato, se aplica a mais do que apenas arquivos TAR, sendo encontrado em vários formatos de armazenamento onde não há mecanismo nativo para manter os forks de recursos do MacOS e as informações do Finder.)

Para evitar que eles sejam adicionados a seus arquivos tar, você pode passar COPYFILE_DISABLE=1 como uma variável de ambiente para tar.

COPYFILE_DISABLE=1 tar cf newTar.tar /your/files

    
por 10.05.2016 / 02:45
2

Esses arquivos que começam com "._ *" são arquivos de indicadores de local específicos da Apple, de acordo com ESTE POST e obviamente você não pode se livrar deles enquanto estiver logado no seu terminal om OSX, novamente de acordo com a mesma página. Você precisa fazer o upload do arquivo para um sistema operacional que não seja da Apple, livrar-se desses arquivos e atualizá-los novamente. Esta parece ser a única solução.

    
por 09.05.2016 / 16:12

Tags