Почему делает cpio, говорят “ПРЕДУПРЕЖДЕНИЕ! Эти имена файлов не были выбраны” при копировании большого количества файлов?

Больше 10 лет я использовал эту стратегию скопировать большое количество файлов между файловыми системами UNIX:

cd source_directory
find . -depth -print | cpio -pdm /path/to/destination_directory

Это работает как чемпион. Однако я теперь получаю эту ошибку от cpio:

cpio: WARNING! These file names were not selected:
(long list of files here...)

Исходный каталог находится на OSX 10.5, и целевой каталог является файловой системой NFS с сервера OpenSolaris. Копирование по NFS никогда не было проблемой в прошлом. Нет ничего странного об именах файлов, означая, что нет специальных символов или чего-либо как этот.

Какие-либо идеи?

0
задан 06.03.2010, 21:20

1 ответ

Исходная иерархия каталогов использует чем-то при выполнении копии? Я смог выявить то сообщение об ошибке (и некоторые другие), когда я даю ему пути, которые не существуют:

% ls foo bar baz
ls: bar: No such file or directory
ls: foo: No such file or directory
baz
!1% # Only baz exists.
!1% printf %s\\\\n foo bar baz | cpio -odm > /dev/null
cpio: Unable to access foo <No such file or directory>
cpio: Unable to access bar <No such file or directory>
cpio: WARNING! These file names were not selected:
foo
bar

Но я также получаю это ранее, другой, объяснительные сообщения об ошибках. Возможно, Вы получаете столь многих из того последнего, что Вы не видите первого. Вы могли попытаться сохранить вывод с cmd 2> logfile сохранить вывод stderr в файл.

Вы могли закончить в этой той же ситуации, если по крайней мере еще один процесс удаляет файл между тем, когда находят печать его путями и когда cpio открывает его для чтения. Это - состояние состязания. Гонка запускается находкой (когда она читает каталог, находя, что конкретный путь существует (в конечном счете печать его пути)), и соперники являются cpio (победы, когда она успешно открывает путь для чтения) и некоторый другой процесс (победы, когда она удаляет путь, прежде чем cpio откроет ее).

1
ответ дан 24.11.2019, 12:36

Теги

Похожие вопросы