TL;DR:gzip
лучше, чем compress
. Другие инструменты могут быть еще быстрее/лучше, например. pigz
быстрее и совместим с gzip -.
Я провел несколько тестов, чтобы сравнить уровень сжатия, время сжатия и время распаковки gzip
, compress
и xz
(, просто чтобы иметь немного больше контекста, это не всестороннее сравнение инструментов сжатия):
File size
| Percentage of original size
| | Time to compress
| | | Time to decompress
| | | | Method
| | | | | Filename
425M 100% - - - Germany_hessen_europe_2.obf
348M 82% 16.8 3.24 compress test.Z
260M 61% 11.8 4.18 gzip -1 test.1.gz
246M 58% n/a 3.88 gzip -9 test.9.gz
226M 53% 69.6 15.6 xz -1 test.1.xz
Файл представляет собой карту немецкого государства, которая довольно хорошо сжимается (на 50% с небольшим усилием ).
Короче:
compress
медленнее, чем gzip -1
при сжатии, Метод тестирования :Я использовал бездействующий SSD, и ввод-вывод не был узким местом. Я использовал time cat file | compression > out
для сжатия и time cat file | decompression > /dev/null
для времени распаковки. Тесты для gzip -1
и compress
были выполнены дважды (как для сжатия, так и для распаковки )и дали очень похожие результаты, из которых я взял среднее значение. Время сжатия gzip -9
я просто забыл измерить, но, поскольку -1
уже сжимает намного лучше, чем compress
, я не думаю, что было бы много, чтобы вернуться и сделать это.
На самом деле это не ответ на ваш первоначальный вопрос, а скорее другой способ сделать то же самое, что вы пытаетесь сделать, но более элегантно:
У меня есть внешний жесткий диск с CloneZilla Live , установленным на небольшом разделе размером 2 ГБ, а остальное пространство на жестком диске предназначено для хранения фактических образов , чтобы иметь возможность создавать образы любого другого компьютера, кроме моего..
Вдобавок ко всему, я храню образ CloneZilla Live ISO в /opt/Live-ISOs
и загружаю его из grub, если хочу, чтобы образ моей собственной машины (уже загружался, пока я иду в другую комнату, где Я храню резервный жесткий диск ).
Таким образом,могу соответственно:
Пункт 1 выше легко установить, а трюк с пунктом 2 заключается в добавлении следующего текста в конец/etc/grub.d/40_custom
:
menuentry "CloneZilla ISO" {
set ISOFile="/opt/Live-ISOs/clonezilla-live-20191024-eoan-amd64.iso"
loopback loop ($root)$ISOFile
linux (loop)/live/vmlinuz boot=live components config findiso=$ISOFile ip=frommedia toram=filesystem.squashfs union=overlay
initrd (loop)/live/initrd.img
}
и выполните update-grub
и вуаля :вы добавили запись в свой gr
и u
унифицированный b
загрузчик oot, который позволяет вам просто загружать среду CloneZilla полностью отдельно от вашей собственной операционной System вместо того, чтобы выполнять его из указанной ОС.
Ваша ошибка в eval
в строке 12703 в версии 3.27.16 функций ocs -оценивает :eval $cmd
, где $cmd
— это cmd="cd "$option
в строке 12702 , поэтому похоже, что $option
содержит <
, который интерпретируется оболочкой как перенаправление ввода/вывода.
Я бы поставил echo $option
перед строкой 12703 , так как, надеюсь, это покажет, почему eval
не работает.