Bzip2 i gzip używają tylko jednego rdzenia, chociaż wiele komputerów ma więcej niż jeden rdzeń. Są jednak programy takie jak lbzip2, pbzip2 i pigz, które używają wszystkich dostępnych rdzeni i obiecują być kompatybilne z bzip2 i gzip.
Więc jaki jest najlepszy sposób domyślnego korzystania z tych programów, aby tar cfa file.tar.bz2 directory
używał lbzip2 / pbzip2 zamiast bzip2? Oczywiście, że nie chcę niczego łamać.
Odpowiedzi:
Możesz symlinkować bzip2, bunzip2 i bzcat do lbzip2, a gzip, gunzip, gzcat i zcat do pigz:
Wybrałem lbzip2 zamiast pbzip2, ponieważ /usr/share/doc/lbzip2/README.gz wygląda „ładniej” niż /usr/share/doc/pbzip2/README.gz. Również instrukcja tar mówi o lbzip2 .
Edytować:
pigz-2.1.6, który jest zawarty w Precise Pangolin, odmawia dekompresji plików z nieznanymi przyrostkami (np. initramfs - *. img). Zostało to naprawione w pigz-2.2.4, który jest dostarczany z Quantal. Możesz więc poczekać, aż Quantal, ręcznie zainstalować pakiet Quantal lub jeszcze nie linkować gunzip / gzcat / zcat.
źródło
sudo dpkg-divert --divert /bin/gunzip.orig --rename /bin/gunzip; sudo ln -s /usr/bin/pigz /bin/gunzip
ale istnieje możliwość, że pigz nie jest w 100% kompatybilny ze wszystkimi flagami gzip, więc bądź ostrożny.Idea dowiązania symbolicznego jest naprawdę w porządku.
Innym działającym rozwiązaniem jest alias
tar
:lub odpowiednio
Tworzy inny rodzaj domyślnych.
źródło
Odpowiedź dowiązania symbolicznego jest naprawdę niepoprawna. Zastąpiłby domyślny gzip (lub bzip2) na pigz (lub pbzip2) dla całego systemu. Podczas gdy równoległe implementacje są niezwykle podobne do wersji z pojedynczym procesem, subtelne różnice w opcjach wiersza poleceń mogą złamać podstawowe procesy systemowe, które zależą od tych różnic.
Opcja „--use-compress-program” jest znacznie lepszym wyborem. Drugą opcją (podobnie jak alias) byłoby ustawienie zmiennej środowiskowej TAR_OPTIONS obsługiwanej przez GNU tar:
źródło
Jedną z fascynujących opcji jest ponowna kompilacja tar, aby domyślnie używać wielowątkowości. Skopiowano z tej odpowiedzi przepełnienia stosu
Ponowna kompilacja z wymianą
Jeśli budujesz tar ze źródeł, możesz ponownie skompilować z parametrami
Po ponownej kompilacji tar za pomocą tych opcji możesz sprawdzić dane wyjściowe pomocy tar:
źródło
Użyj w ~ / .bash_aliases:
źródło
gzip
(lubgunzip
) bezpośrednio z wiersza poleceń powłoki.tar
Nie wpłynie to na inne programy (takie jak ).