tar: arquivo alterado conforme lemos

estou usandomake etar para backup. Ao executar makefile, o comando tar mostrafile changed as we read it. Nesse caso,

o pacote tar está ok quando o aviso aparecermas pára o comando tar para o seguinte backupo arquivo mostrando o aviso de fato não muda - é realmente estranho que o aviso apareçaos arquivos mostrando o aviso aparecem aleatoriamente, quer dizer, toda vez que eu executo meu makefile, os arquivos que mostram o aviso são diferentes--ignore-failed-read não ajuda. Estou usando o tar 1.23 no MinGWAcabei de mudar meu computador para o WIN7 de 64 bits. O script funciona bem no antigo WIN7 de 32 bits. Mas a versão do tar não é tão nova quanto a 1.23.

Como posso parar o aviso de alcatrão para interromper o backup após o aviso?

Editar-2: pode ser o motivo

Como eu disse acima, o script de shell bash funcionou bem no meu computador antigo. Comparando com o computador antigo, omsys versão é diferente. Assim é a versão do comando tar. No computador antigo, o tar é 1.13.19 e é 1.23 no novo computador. Eu copiei o comando tar antigo sem copiar sua dependência msys-1.0.dll para o novo computador e renomei-o como tar_old. E também atualizei o comando tar no shell script e executei o script. Então está tudo bem. Então, parece que o problema é o comando tar. Tenho certeza de que não há nenhum arquivo alterado ao tarar. É um bug para o comando tar na nova versão? Eu não sei.

Edit-1: adicionar mais detalhes

O backup é chamado por um script de shell bash. Ele varre o diretório de destino e constrói o makefile, em seguida, invoca make para usar o comando tar para backup. Seguido é um makefile típico construído pelo script de shell bash.

#--------------------------------------------
# backup VC
#--------------------------------------------
# the program for packing
PACK_TOOL=tar

# the option for packing tool
PACK_OPTION=cjvf

# M$: C driver
WIN_C_DIR=c:

# M$: D driver
WIN_D_DIR=d:

# M$: where the software is
WIN_PRG_DIR=wuyu/tools
# WIN_PRG_DIR=

# where to save the backup files
BAKDIR=/home/Wu.Y/MS_bak_MSYS

VC_FRAMEWORK=/home/Wu.Y/MS_bak_MSYS/tools/VC/VC_framework.tar.bz2
VC_2010=/home/Wu.Y/MS_bak_MSYS/tools/VC/VC_2010.tar.bz2

.PHONY: all

all: $(VC_FRAMEWORK) $(VC_2010)

$(VC_FRAMEWORK): $(WIN_C_DIR)/$(WIN_PRG_DIR)/VC/Framework/*
    @$(PACK_TOOL) $(PACK_OPTION) "$@" --ignore-failed-read /c/$(WIN_PRG_DIR)/VC/Framework
$(VC_2010): $(WIN_C_DIR)/$(WIN_PRG_DIR)/VC/VS2010/*
    @$(PACK_TOOL) $(PACK_OPTION) "$@" --ignore-failed-read /c/$(WIN_PRG_DIR)/VC/VS2010

Como você pode ver, o pacote tar é armazenado em ~ / MS_bak_MSYS / tools / VC / VC_2010.tar.bz2. Eu corro o script em ~ / qqaa.~/MS_bak_MSYS é excluído do comando tar. Portanto, o arquivo tar que estou criando não está dentro de um diretório que estou tentando colocar no arquivo tar. É por isso que achei estranho que o aviso tenha surgido.

questionAnswers(6)

yourAnswerToTheQuestion