Сабж. Имеется бэкап хостинга, в 40 Гб, в архиве очень много мелких файлов (сайты же), Мне нужно вытянуть оттуда одну директорию (около 500М), раньше я открывал архив через mc и копировал файл. Но mc сейчас завис и я вот думаю как реализовать, чтобы не распаковывать весь архив.
Могу сказать вот что: пробовал открыть большой архив в 4 Гб в File Roller из Scientific Linux 6.2. Всё тупило и подвисало, открыть архив так и не удалось. Попробовал сделать тоже самое с более новым File Roller из Linux Min 12 - архив открылся мгновенно. Попробуйте и вы.
Сабж. Имеется бэкап хостинга, в 40 Гб, в архиве очень много мелких файлов (сайты же), Мне нужно вытянуть оттуда одну директорию (около 500М), раньше я открывал архив через mc и копировал файл. Но mc сейчас завис и я вот думаю как реализовать, чтобы не распаковывать весь архив.
никак. Если в середине, то пол-архива точно придётся распаковать. gnuzip это потоковый сжиматель, а tar это потоковый архиватор, и они не умеют, и не должны уметь произвольный доступ.
чисто ради интереса... откуда такой телепатический вывод?
subject :p
"Fat-Zer" написал:
не знал, что тар оказывается такой умный...
всякие bzip2, grep, less, и прочие тоже наделены таким интеллектом. Хотя и не всегда, и не везде. На самом деле, в tar'е нет этих всех упаковщиков, как и в less, они в билиотеках. Это например позволяет читать маны без распаковки.
Попробовал сделать тоже самое с более новым File Roller из Linux Min 12 - архив открылся мгновенно.
спасибо, но нужен только консольных выход
tar -tf <ARCHIVE> | grep '^<dir>' | xargs tar -xjf <ARCHIVE>
этот вариант помог, но у меня вопрос, разве при такой схеме tar сначала не должен просмотреть каждую директорию, чтобы grep отработал, ему нужно отдать на вход весь вывод. Скорость была просто ужасна
tar xpvf ARCHIVE.tar.bz2 DIR/CATALOG
Lupo Alberto, к сожалению написал, что каталог не найден (я конечно подставил свои значения)
этот вариант помог, но у меня вопрос, разве при такой схеме tar сначала не должен просмотреть каждую директорию, чтобы grep отработал, ему нужно отдать на вход весь вывод. Скорость была просто ужасна
я уже поправился, чтобы grep каталоги не выводил...
Lupo Alberto, в качестве аргумента tar'у нужен файл... целые каталоги он так не умеет извлекать...
а если и умеет, то нужен какой-то флаг в поисках которого нужно перерыть толстый ман.