cpio не может извлечь файлы

Для меня принятый ответ не сработал. Я получал сообщение об ошибке следующего содержания

Не удается зарегистрировать жесткий диск ... {uuid}, потому что жесткий диск '...' с UUID {uuid} уже существует.

Я обнаружил, что использование командной строки для изменения UUID позволило мне подключить диск, изначально используемый в другой виртуальной машине

VBoxManage internalcommands sethduuid path/to/drive.vdi

0
18.04.2019, 13:36
1 ответ

Проблема здесь в том, что вы используете опцию -depthв find. Это указывает findобрабатывать содержимое каталога перед самим каталогом.

Как видно из выводаfind. -depth -print | cpio -ov > backup.cpio:

  • ./eBooks/logstash_atlantis/03_output.confобрабатывается перед каталогом./eBooks/logstash_atlantis
  • ./eBooks/Container-Networking-Docker-Kubernetes.pdfобрабатывается до ./eBooks.
  • ...

Когда вы пытаетесь извлечь архив, происходит сбой для всех файлов в подкаталогах, поскольку каталоги еще не существуют («Не удается открыть :Нет такого файла или каталога» ).

Это также не удается для ./backup.cpio, так как он уже существует в этом каталоге.

Решение:Не используйте опцию -depthдля findв сочетании с cpio.

1
28.01.2020, 02:40

Теги

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