Архиватор TAR в Astra Linux SE v.1.4 (08.04.2024). |
![]() |
2024 - Апрель | |||
08.04.2024 10:17 | |||
Просто цитирование комментариев к исходникам: #- граничные значения проведённых тестов: #- общий объём архивации 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 ) |