2014-10-21 2 views
1

Я восстанавливаю свой раздел Linux из резервных копий (в основном не сжатых tarballs). Я сталкиваюсь с проблемой при извлечении tarball, который является резервным копированием синхронного репозитория. Я нашел свое существующее репо простым tar -cf command, и я извлекаю его, используя tar -xf blah.tar. Я получаю следующую ошибку.Как извлечь tar (ed) Android repo?

http://pastebin.com/rkyu9qvD

Свалка tar -tvf blah.tar

http://pastebin.com/WyrwU3v2 (усеченного)

Я думаю, что проблема симлинки. Для примера рассмотрим не удалось экстракцию

.repo/проекты/пакеты/поставщики/DownloadProvider.git/Информация/исключить

Если файлы извлекаются последовательно, как показано на -t (поправьте меня, если я ошибаюсь) то сначала он должен извлечь .repo/projects/packages/providers/DownloadProvider.git/info, потому что это символическая ссылка (посмотрите на дамп lrwxrwxrwx bootmgr/bootmgr 0 2014-03-23 11:02 .repo/projects/packages/providers/DownloadProvider.git/info -> ../../../../project-objects/platform/packages/providers/DownloadProvider.git/info ) Я думаю, именно поэтому он получает ошибку при извлечении ее.

Многие другие файлы извлекаются неправильно, таким образом, для бывших, сначала создадим a/b/c.x путь для извлечения c.x но позже основывает что б символическая в другой каталог, а затем бросает ошибку, как файл уже существует

Таким образом, любой идеи, как я должен ее извлечь или это невозможно.

Если это невозможно, то любой другой лучший способ резервного копирования существующего репо для Android, чтобы я мог переместить его на другой жесткий диск.

ответ

2

Из документации дегтя:.

Normally, when tar archives a symbolic link, it writes a block to the archive naming the target of the link. In that way, the tar archive is a faithful record of the file system contents. When --dereference '(-h') is used with --create' (-c'), tar archives the files symbolic links point to, instead of the links themselves.

Так что попробуйте заархивировать с tar -chf ..., и я думаю, что ваши проблемы будут решены

+0

поэтому не может извлечь его :( – user2578525

+1

Вы не можете извлечь что-то, что не архивировано в tar. –

Смежные вопросы