forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.LINUX

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 14.11.2016, 12:00
Eugene Muzychenko
Guest
 
Сообщений: n/a
По умолчанию Почему GNU tar не жмет многотомные архивы?

Eugene Muzychenko написал(а) к All в Nov 16 14:35:22 по местному времени:

Привет!

Добыв бинарник GNU tar 1.26 под ARM, и попытавшись сделать им многотомный архив со сжатием, очень удивился, обнаружив, что tar не умеет жать многотомные архивы.

Это какая-то принципиальная залупа разработчиков? Даже досовские архиваторы начала 90-х чуть ли не поголовно делали сжатые многотомные архивы.

Мне это нужно для скрипта бэкапа внутренней памяти гуглофона. По причине какого-то очень альтернативного мышления все существующие бэкаперы разделов обходят ветку /data/media (на которую отображается /sdcard), где лежат карты навигаторов, словари, документы и прочее. Соответственно, приходится это бэкапить вручную.

Простое сворачивание tar'ом из busybox не годится, поскольку получается файл размером больше 2 Гб, не лезущий на карту памяти, форматированную в FAT32 (чтобы можно было ее читать под виндой).

В обсуждениях предлагается использовать split, но он добавляет суффиксы aa/ab и так далее, а разархиваторы автоматически этого не понимают - нужно сперва склеить куски в один, а при объеме в десяток гигабайт это слегка неудобно.

Всего доброго!
Евгений Музыченко
eu-gene@muzy-chen-ko.net (все дефисы убрать)

--- GoldED+/W32-MSVC 1.1.5-b20160322
Ответить с цитированием
  #2  
Старый 14.11.2016, 13:35
Dmitry E. Oboukhov
Guest
 
Сообщений: n/a
По умолчанию Re: Почему GNU tar не жмет многотомные архивы?

Dmitry E. Oboukhov написал(а) к Eugene Muzychenko в Nov 16 12:18:19 по местному времени:

> Добыв бинарник GNU tar 1.26 под ARM, и попытавшись сделать им многотомный
> архив со сжатием, очень удивился, обнаружив, что tar не умеет жать многотомные
> архивы.

для начала tar не умеет и сжимать тоже от слова вообще.
для сжатия используются другие утилиты - gzip, bzip2 и так далее.

а tar - это утилита при помощи которой можно собрать n
файлов/каталогов в один (вместе с правами и метаданными)

> Это какая-то принципиальная залупа разработчиков?

это unix way.
Для деланья многотомного архива посмотрите man на split

> В обсуждениях предлагается использовать split, но он добавляет суффиксы aa/ab
> и так далее, а разархиваторы автоматически этого не понимают - нужно сперва
> склеить куски в один, а при объеме в десяток гигабайт это слегка неудобно.

суффиксы что split добавляет позволяют сортировать в алфавитном
порядке

а далее можно распаковывать как-то так

cat .tar.{gz|bz2}.|{bunizp2|gunzip}|tar -xv


... Гуманизм породил геноцид
--- Mutt/1.5.21 (2010-09-15)
Ответить с цитированием
  #3  
Старый 14.11.2016, 14:40
Sasha Shost
Guest
 
Сообщений: n/a
По умолчанию Почему GNU tar не жмет многотомные архивы?

Sasha Shost написал(а) к Eugene Muzychenko в Nov 16 13:11:36 по местному времени:

Нello Eugene!



EM> многотомный архив со сжатием, очень удивился, обнаружив, что tar не
EM> умеет жать многотомные архивы.
проснулся, проспав 200 лет
тар - это для магнитофонной ленты формат, какой такой многотомный архив мог быть с ней?
.tar.gz - видел? вот гзип и есть архиватор, а тар просто в одну сосиску все файлы собирает, что бы на ленте одним файлом лежало, меньше рыскать туда-сюда что бы из пачки файлов скачать одну прогу в итоге, с одного места подряд списали - в кучу раз быстрей и износа меньше лпм
тар - не архиватор, совсем

http://help.ubuntu.ru/wiki/tar




Sasha http://dr-shost.com http://shostatsky.narod.ru [Team OS/2][Team EDSMO]



--- GoldED-NSF/LNX 1.1.5-20090710
Ответить с цитированием
  #4  
Старый 14.11.2016, 14:52
Eugene Muzychenko
Guest
 
Сообщений: n/a
По умолчанию Почему GNU tar не жмет многотомные архивы?

Eugene Muzychenko написал(а) к Dmitry E. Oboukhov в Nov 16 17:27:52 по местному времени:

Привет!

14 Nov 16 12:18, you wrote to me:

DO> для начала tar не умеет и сжимать тоже от слова вообще.

Именно поэтому он предлагает несколько ключей для выбора метода сжатия? :)

Может, какой-нибудь очень древний tar действительно не умел сжимать, но последние лет десять они все умеют.

DO> Для деланья многотомного архива посмотрите man на split

Который убог до невозможности, не позволяя даже задать вид суффикса. В итоге везде, где используются таровские форматы, тома нумеруются цифрами, а split делает только буквы.

Главный вопрос несколько о другом: GNU tar умеет и сжимать, и резать. По какой причине он отказывается это делать одновременно?

Всего доброго!
Евгений Музыченко
eu-gene@muzy-chen-ko.net (все дефисы убрать)

--- GoldED+/W32-MSVC 1.1.5-b20160322
Ответить с цитированием
  #5  
Старый 14.11.2016, 15:10
Anton Poletayev
Guest
 
Сообщений: n/a
По умолчанию Почему GNU tar не жмет многотомные архивы?

Anton Poletayev написал(а) к Eugene Muzychenko в Nov 16 14:00:40 по местному времени:

Нi, Eugene!

Понедельник 14 Ноября 2016 17:27, ты писал(а) Dmitry E. Oboukhov, в сообщении по ссылке area://ru.linux?msgid=2:5000/14+58299308:

EM> Именно поэтому он предлагает несколько ключей для выбора метода
EM> сжатия? :)

EM> Может, какой-нибудь очень древний tar действительно не умел сжимать,
EM> но последние лет десять они все умеют.

Формат tar не имеет компрессии.
Компрессии подвергается готовый архив, который для программы сжатия (к примеру, gzip) есть просто-напросто один файл.
Точно так же вы можете пожать дамп базы данных .sql или .log, получив на выходе .sql.gz, к примеру.

Выбор метода компрессии в ключах конкретной утилиты tar - это всего-лишь рукоятка для удобство вызова внешнего обработчика, для сжатия готового архива.
Без внешнего обработчика она ничего пожать не сможет (если вы удалите из системы, к примеру gzip).

---
Ответить с цитированием
  #6  
Старый 14.11.2016, 16:12
Dmitry E. Oboukhov
Guest
 
Сообщений: n/a
По умолчанию Re: Почему GNU tar не жмет многотомные архивы?

Dmitry E. Oboukhov написал(а) к Eugene Muzychenko в Nov 16 14:58:25 по местному времени:


DO>> для начала tar не умеет и сжимать тоже от слова вообще.

> Именно поэтому он предлагает несколько ключей для выбора метода сжатия? :)

эти ключи добавили в GNU tar и они делают тот же самый pipe по сути.

в общем случае этих ключей может не оказаться в какой-либо другой
системе.

> Может, какой-нибудь очень древний tar действительно не умел сжимать,
> но последние лет десять они все умеют.

вполне возможно что скажем в BSD тоже есть ключи но с другим названием


... Терпеть не могу Умку, Броневичок и прочих мажоров.
--- Mutt/1.5.21 (2010-09-15)
Ответить с цитированием
  #7  
Старый 14.11.2016, 16:41
Eugene Muzychenko
Guest
 
Сообщений: n/a
По умолчанию Почему GNU tar не жмет многотомные архивы?

Eugene Muzychenko написал(а) к Sasha Shost в Nov 16 19:26:41 по местному времени:

Привет!

14 Nov 16 13:11, you wrote to me:

SS> тар - это для магнитофонной ленты формат

Да я, как бы, в курсе.

SS> какой такой многотомный архив мог быть с ней?

Если ты никогда не видел архивов на нескольких лентах, это не значит, что их не существует. :) Просто в ранних юниксах все было настолько мелким, что вопросов об использовании нескольких лент не возникало в принципе. Что не означает отсутствия этих вопросов в более серьезных системах.

SS> тар - не архиватор, совсем

Вообще-то, он как раз именно архиватор. Функция сжатия у любого архиватора опциональна.

Всего доброго!
Евгений Музыченко
eu-gene@muzy-chen-ko.net (все дефисы убрать)

--- GoldED+/W32-MSVC 1.1.5-b20160322
Ответить с цитированием
  #8  
Старый 14.11.2016, 16:41
Eugene Muzychenko
Guest
 
Сообщений: n/a
По умолчанию Почему GNU tar не жмет многотомные архивы?

Eugene Muzychenko написал(а) к Anton Poletayev в Nov 16 19:26:45 по местному времени:

Привет!

14 Nov 16 14:00, you wrote to me:

AP> Выбор метода компрессии в ключах конкретной утилиты tar - это
AP> всего-лишь рукоятка для удобство вызова внешнего обработчика

А, вона как... Я-то думал, он научился жать самостоятельно, а тогда мог бы и резать...

Всего доброго!
Евгений Музыченко
eu-gene@muzy-chen-ko.net (все дефисы убрать)

--- GoldED+/W32-MSVC 1.1.5-b20160322
Ответить с цитированием
  #9  
Старый 14.11.2016, 22:00
Alexey Vissarionov
Guest
 
Сообщений: n/a
По умолчанию Почему GNU tar не жмет многотомные архивы?

Alexey Vissarionov написал(а) к Eugene Muzychenko в Nov 16 20:42:04 по местному времени:

Доброго времени суток, Eugene!
14 Nov 2016 14:35:22, ты -> All:

EM> Добыв бинарник GNU tar 1.26 под ARM, и попытавшись сделать им
EM> многотомный архив со сжатием, очень удивился, обнаружив, что
EM> tar не умеет жать многотомные архивы.

Я тебе более того скажу: он в принципе жать не умеет - за него это делают внешние программы.

EM> Это какая-то принципиальная залупа разработчиков? Даже досовские
EM> архиваторы начала 90-х чуть ли не поголовно делали сжатые
EM> многотомные архивы.

Если тебе так понятнее - да: tar создает контейнер для содержимого файлов и метаданных, gzip (bzip2, xz) сжимает этот контейнер, а split нарезает на фрагменты.

EM> В обсуждениях предлагается использовать split, но он добавляет
EM> суффиксы aa/ab и так далее, а разархиваторы автоматически этого
EM> не понимают - нужно сперва склеить куски в один, а при объеме в
EM> десяток гигабайт это слегка неудобно.

Offtopic-thinking detected.

cat backup.tar.gz.* | gzip -cd | tar -x

Каждая из этих программ выполняет свою функцию, причем делает это наиболее универсальным способом, что позволяет комбинировать их практически любым потребным пользователю способом.


--
Alexey V. Vissarionov aka Gremlin from Kremlin
gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii

... Кто с чем к нам зачем - тот от того и того
--- /bin/vi
Ответить с цитированием
  #10  
Старый 14.11.2016, 22:20
Alexey Vissarionov
Guest
 
Сообщений: n/a
По умолчанию Почему GNU tar не жмет многотомные архивы?

Alexey Vissarionov написал(а) к Sasha Shost в Nov 16 21:01:00 по местному времени:

Доброго времени суток, Sasha!
14 Nov 2016 13:11:36, ты -> Eugene Muzychenko:


EM>> очень удивился, обнаружив, что tar не умеет жать многотомные архивы.
SS> проснулся, проспав 200 лет
SS> тар - это для магнитофонной ленты формат, какой такой многотомный
SS> архив мог быть с ней?

LMD. RTFM:

man tar
/-L


--
Alexey V. Vissarionov aka Gremlin from Kremlin
gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii

... Кликайте, и вам откликнется!
--- /bin/vi
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 09:41. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot