LINUX.ORG.RU

А может перейти на 7z вместо tar.xz?

 , tarball,


0

3

Я тут потихоньку перешёл на тарболы в виде tar.xz – сжатие хорошее, с pixz’ом ещё и быстрое. Но может я отстал от времени, может давно уже пора пользоваться 7z? Какие это даст преимущества и недостатки? Нет ли на линуксовых системах проблем с 7z? Может он неправильно сохраняет права доступа или симлинки?

★★★★★
Ответ на: комментарий от anonymous

что за чушь ты мне пишешь? я в упрощенном виде сказал как работает. есть условная длина данных, она хранится в заголовке, а есть сами данные (сжатые/не сжатые могут быть зашифрованные):

// эта заголовок
typedef struct tarHeaderBody {
    char fname[100];
    char file_mode[8];
    char owner_numeric_userid[8];
    char group_numeric_userid[8];
    char file_size[12]; // <-- размер файла
    char last_modification_time[12];
    char checksum[8];
    char link_indicator;
    char linkedfname[100];
    char severalFields[156];
    char typeFlag;
    char sameField[100];
    char ustarIndicator[6];
    char ustartVer[2];
    char ownerUserName[32];
    char ownerGroupName[32];
    char deviceMajorNo[8];
    char deviceMinorNo[8];
    char fnameprefix[155];
} tarHeader;

// это данные (содержимое файла)
typedef struct tarContentBody {
    char content[512];
} tarContent;

// и далее идкт заголовок, данные, заголовок, данные...

Захотел добавить файл дописал заголовок, данные… Ряяяяяяяя Ты душноанон

rtxtxtrx ★★
()
Ответ на: комментарий от rtxtxtrx

да :) пропуск, твой любимый fseek, в solid архиве использовать не получится.
даже использую сжиматор с блоками ты не сможешь обращаться к отдельным блокам, выискивая блох имена файлов, ибо заранее неизвестно с какой компрессией записан каждый блок.
если б tar был не сжат, то да - fseek на любой участок файла.
но тут совсем другое :)

pfg ★★★★★
()
Ответ на: комментарий от rtxtxtrx

Я написал условно.

Если тебе по фактам сложно, трудно - не моя проблема. Сходи выпей чая и успокойся.

Мне абсолютно всё равно можешь переваривать своей головой информацию по теме дискуссии или нет.

Я просто выкладываю факты и мысли в упрощённом виде.

Если тебе сложно продолжать дискуссию и ты опускаешься до непонятных высказываний - давай прекратим.

Ни кто же не заставляет ;)

anonymous
()
Ответ на: комментарий от rtxtxtrx

кстати а много tar.(gz|bz|lzma|xz|*) сжаты с использованием блочного сжимания ??

сколь помню с точностью до наоборот - никто не использует, а в большинстве сжимателей вообще отсутствуют опции блочного сжимание.

pfg ★★★★★
()
Ответ на: комментарий от pfg

Где ты вычитал такое?

The default size is three times the LZMA2 dictionary size or 1 MiB

Без сжатия блоками ты в архив не засунешь файлы по 100500 гигов, так как они пихаются, то значит и разбиваются на блоки

rtxtxtrx ★★
()
Последнее исправление: rtxtxtrx (всего исправлений: 1)
Ответ на: комментарий от rtxtxtrx

чтобы прочитать следующий блок тебе один фиг нужно распаковать все предыдущеее.
tar сжат потоком т.е. solid-архив от начала до конца. в середину ты никак «не воткнешься»

pfg ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Можешь перейти на .tar.7z — тут правда две команды понадобятся, так как 7zip в tar не интегрирован, но работать будет.

У tar есть ключ --use-compress-program=

Dimez ★★★★★
()
Ответ на: комментарий от rtxtxtrx

это размер словаря в памяти компутера, на основе которого производится поиск похожих последовательностей байтов в прошедших байтах и формирования сслыки на них.
к исходящему сжатому потоку отношения не имеет - он solid.

если брать к примеру рар и 7зип то размер словаря и размер блока сжатия настраивается по отдельности и никак не зависят друг от друга.

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)
Ответ на: комментарий от pfg

Ну значит tar говнянный формат. Че. Хотя не tar. Мы же к tar применяем gzip и выходит tar.gz. Ну значит все читается. И я не прав.

rtxtxtrx ★★
()
Последнее исправление: rtxtxtrx (всего исправлений: 1)
Ответ на: комментарий от rtxtxtrx

Значит ты просто не учитываешь для чего он делался и что можно с ним делать.

Повторюсь, с tar можно спокойно через передачу сжатого потока поверх ssh туннеля лить этот поток хоть на блочное устройство.

Ни с одним другим форматом сжатия ты так не сделаешь на лету.

Конечно проще обсирать, чем признать, что ты не понимаешь чего-то.

anonymous
()
Ответ на: комментарий от rtxtxtrx

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

на момент создания он был прекрасен (предположу :) ), потому и выиграл в гонке с другими сериализиаторами файлов cpio ar и еще какие-то не помню.

pfg ★★★★★
()
Ответ на: комментарий от anonymous

об неумении 7зип в юникс файлы я сказал еще кучу сообщений вверх :)
рар в 5 формате научился поддерживать *никс атрибуты, но не все.
там же посоветовал squashfs как полноценную на данный момент замену tar.gz с всеми плюшками современности: индексы, блочное сжатие, монтирование…

pfg ★★★★★
()
Ответ на: комментарий от pfg

Да, squashfs вещь хорошая, только добавление не поддерживает, плюс меняемый размер словаря и оптимизации словаря под разные архитектуры.

В целом да.

Под Windows, если нужно, его прекрасно читает 7Zip-FM, он же и с образами файловых систем, в том числе и Linux, в общем удобная вещь.

anonymous
()
Ответ на: комментарий от pfg

Можно еще файловый контейнер создать с btrfs, выставить сжатие zstd:9 и засунуть туда файлы.

Чет типа:

modprobe nbd
qemu-nbd --discard=unmap -c /dev/nbd1 /path/to/usb-stick-mountpoint/image.qcow2
kpartx -a /dev/nbd1
...
mount -o noatime,compress=zstd:9 /dev/mapper/nbd1p1 /mnt/backup
rsync -avh ... /mnt/backup
fstrim -v /mnt/backup
rtxtxtrx ★★
()
Последнее исправление: rtxtxtrx (всего исправлений: 1)
Ответ на: комментарий от rtxtxtrx

с бутером интересно, но имхо сложнее, он ориентируется на размер подсунутого раздела.
да и бекапы редко когда нужны в rw доступе.
теоритически любую фс можно в контейнер через loopback подключить :)

в бутере есть отличная фитча btrfs-send но там все только развивается…

pfg ★★★★★
()