Bzip2 и gzip используют только одно ядро, хотя многие компьютеры имеют более одного ядра. Но есть такие программы, как lbzip2, pbzip2 и pigz, которые используют все доступные ядра и обещают быть совместимыми с bzip2 и gzip.
Итак, как лучше всего использовать эти программы по умолчанию, чтобы tar cfa file.tar.bz2 directory
вместо bzip2 использовать lbzip2 / pbzip2? Конечно, я не хочу ничего ломать.
Ответы:
Вы можете использовать символические ссылки bzip2, bunzip2 и bzcat на lbzip2, а gzip, gunzip, gzcat и zcat на pigz:
Я выбрал lbzip2 вместо pbzip2, потому что /usr/share/doc/lbzip2/README.gz выглядит «лучше», чем /usr/share/doc/pbzip2/README.gz. Также в руководстве по tar рассказывается о lbzip2 .
Редактировать:
pigz-2.1.6, входящий в состав Precise Pangolin, отказывается распаковывать файлы с неизвестными суффиксами (например, initramfs - *. img). Это исправлено в pigz-2.2.4, который поставляется с Quantal. Так что вы можете подождать, пока Quantal, установить пакет Quantal вручную или пока не связывать gunzip / gzcat / zcat.
источник
sudo dpkg-divert --divert /bin/gunzip.orig --rename /bin/gunzip; sudo ln -s /usr/bin/pigz /bin/gunzip
но есть вероятность, что pigz не на 100% совместим со всеми флагами gzip, поэтому будьте осторожны.Идея символической ссылки действительно хороша.
Другое рабочее решение для псевдонима
tar
:или соответственно
Это создает другой вид дефолта.
источник
Символическая ссылка действительно неверна. Он заменит gzip по умолчанию (или bzip2) на pigz (или pbzip2) для всей системы. Хотя параллельные реализации удивительно похожи на версии с одним процессом, тонкие различия в параметрах командной строки могут нарушить основные системные процессы, которые зависят от этих различий.
Опция --use-compress-program - намного лучший выбор. Второй вариант (очень похожий на псевдоним) - установить переменную окружения TAR_OPTIONS, поддерживаемую GNU tar:
источник
Одним из интересных вариантов является перекомпиляция tar для использования многопоточных по умолчанию. Скопировано из этого ответа stackoverflow
Перекомпиляция с заменой
Если вы собираете tar из исходников, вы можете перекомпилировать с параметрами
После перекомпиляции tar с этими опциями вы можете проверить вывод справки tar:
источник
Используйте в вашем ~ / .bash_aliases:
источник
gzip
(илиgunzip
) программы непосредственно из командной строки оболочки. Другие программы (вродеtar
) не будут затронуты этим.