" title="Написать письмо">Написать письмо

Статистика

Пользователи : 1
Статьи : 1969
Просмотры материалов : 7187839
 
Архиватор TAR в Astra Linux SE v.1.4 (08.04.2024). Печать E-mail
2024 - Апрель
08.04.2024 10:17
Save & Share
В рамках разработки собственной утилиты архивации данных определённой программы в Linux, было проведено тестирование архиватора TAR в Astra Linux SE v.1.4. Так как ОС представляет собой глючное г - архиватор тоже оказался с причудами. Например, отсутствие многопоточности в 2014 году и отсутствие собственных средств проверки целостности архивов. Но только он умеет сохранять мандатные метки.



Просто цитирование комментариев к исходникам:
#- граничные значения проведённых тестов:
    #- общий объём архивации 1.37ТБ, общее количество файлов 2564736,
    #- карт 51, размер карты 554ГБ, файлов в карте 991965,
    #- размер файла 41.3ГБ,
    #- количество частей архива 100,
    #- русские буквы, спецсимволы на цифрах "ё-8" клавиатуры;
#- при работе утилиты нельзя использовать гибернацию;
#- крайне рекомендовано делать архивацию на другой носитель. При архивации 1.37ТБ при двух дисках SATA - заняло всего 18ч;
#- оставление разбития архивов на части по 4млрд байтов (максимум FAT32) - в ОС работают корректнее носители с такой файловой системой;
#- архивирование в 1 большой архив - практически одинаково по скорости и объёму с разбиваемым на части.
    #Много маленьких архивов - безопаснее, с т.з. повреждения архива на съёмном носителе.
    #Поэтому идея сохранять каждую карту в отдельный архив - верная;
#- сообщение "tar: Удаляется начальный '/' из имен объектов" - не является ошибкой;
#- split ограничен 100 частями (00-99);
#- в tar отсутствует проверка целостности архивов (!).
    #В связи с этим - постоянный контроль целостности архивов сразу после их создания, с помощью встроенного 7z:
        #- "7z t архив.00" - проверяет только первую часть разбитого архива и выдает "ошибку". Если архив разбивался на части - надо перед проверкой целостности собрать его в tmp обратно;
        #- с проверкой свободного места x2: нет места - уведомление с приостановкой архивации;
        #- с расчётом контрольных сумм самого архива и каждой из его частей.
#- увеличение компрессии до максимума с помощью XZ_OPT=-9. Изменение формата с gzip на LZMA (добавить "--lzma", убрать "z" из "-zcpvf").
    #Степень сжатия увеличивается на 33%.
    #Скорость обработки увеличивается на 31% при небольших архивах (единицы-десятки гигабайт сжимаемых данных): gzip не анализирует файлы на похожесть и дубликаты. Скорость обработки падает при больших архивах (сотни гигабайт сжимаемых данных) в 6 раз: LZMA становится тяжело постоянно анализировать все сжатые данные на предмет повышения компрессии.
    #Глючный Xarchiver в составе Astra Linux SE v.1.4 не умеет открывать LZMA - не позволяя увидеть оглавление архива.
        #Одновременно с этим, Xarchiver не способен распаковать составные архивы со стандартной комбинацией настроек.
        #При обсуждении дилеммы "оставлять ли просмотр оглавления архива gzip в сильный ущерб качеству архивирования" было решено: <sensored>;
#Старая строка стандартного сжатия:
    #"tar --xattrs --acls -zcpvf" + путь_сжатия +" | split -d -a 2 -b 4000000000 - " + путь_архива + "/имя_архива.tar".
#Новая строка максимального сжатия:
    #"XZ_OPT=-9 tar --xattrs --acls --lzma -cpvf" + путь_сжатия +" | split -d -a 2 -b 4000000000 - " + путь_архива + "/имя_архива.tar".
#- tar не держит многопоточность (в т.ч нет -mmt), использование сторонних утилит pbzip2 и pigz запрещено (нет в составе дистрибутива ОС).
    #Многопоточный 7z, судя по статьям о мандатных метках и архиваторах и проведённому тесту, сохранять их не умеет.
    #Поэтому по многопоточности в старой ОС - тупик.

(добавлено 09.04.2024) TAR - реально, странный. Изготовил самодельные карты - они методом TAR в 7-Zip сжимаются с 191МБ до 216МБ...

(добавлено 10.04.2024) Ещё одно доказательство тупости TAR подъехало. Ранее сжатые самодельные карты содержали гигантское количество файлов-дубликатов. Сжатие TAR было с компрессией >100%. Сжатие 7-Zip в Windows с максимальной компрессией LZMA2 - сжало эти же карты в 16 раз.

Когда же начался анализ реальных карт - внезапно, TAR с максимальной компрессией LZMA сильно приблизился к 7-Zip в Windows с максимальной компрессией LZMA2: 44% против 37%. Оказалось, это происходит только при сравнении отдельных карт. Как только подсунешь в TAR 2 карты-дубликата - итоговый размер архива тупо увеличивается на 2, в то время как архив 7-Zip остаётся неизменен (десятки килобайт не в счёт).

TAR жмёт файлы без их анализа друг с другом - независимо от степени компрессии, рассматривая каждый файл как отдельный объект.
Обновлено ( 10.04.2024 20:46 )
 
 

Последние новости


©2008-2024. All Rights Reserved. Разработчик - " title="Сергей Белов">Сергей Белов. Материалы сайта предоставляются по принципу "как есть". Автор не несет никакой ответственности и не гарантирует отсутствие неправильных сведений и ошибок. Вся ответственность за использование материалов лежит полностью на читателях. Размещение материалов данного сайта на иных сайтах запрещено без указания активной ссылки на данный сайт-первоисточник (ГК РФ: ст.1259 п.1 + ст.1274 п.1-3).

Много статей не имеет срока устаревания. Есть смысл смотреть и 2011, и даже 2008 год. Политика сайта: написать статью, а потом обновлять ее много лет.
Открыта карта ВТБ для донатов на дорогостоящие эксперименты: 5368 2902 0040 0838.

Рекламодателям! Перестаньте спамить мне на почту с предложениями о размещении рекламы на этом сайте. Я никогда спамером/рекламщиком не был и не буду!
Top.Mail.Ru