Mam dość duży plik (~ 50 GB) i jego uruchomienie zajmuje trochę czasu
tar xvf file.tar.bz2
na tym. Wiem o programach, które mogą wykonywać równoległą kompresję plików bzip2, ale nie wiem o programach, które mogą wykonywać równoległą dekompresję plików bzip2.
Czy są jakieś programy, które mogą to osiągnąć? Jaka jest dokładna składnia polecenia do wyodrębnienia z pliku?
Używam Ubuntu 12.04
tar
compression
gzip
bzip2
użytkownik784637
źródło
źródło
tar xvf
?lbzip2 -d -n 2 file.tar.bz2
da plik tar. Które muszą być nieuzbrojone.lbzip2
„Kompresuj lub dekompresuj argumenty PLIK lub standardowe wejście do zwykłych plików lub standardowego wyjścia, wywołując libbz2 Juliana Sewarda z wielu wątków. Narzędzie lbzip2 wykorzystuje wiele wątków i rozdzielacz związany z wejściem nawet podczas dekompresowania plików .bz2 utworzony przez standardowy bzip2 (ale patrz BŁĘDY poniżej). ”Możesz rozpakować swoje archiwum za pomocą jednego polecenia, używając
-I
opcji tar . Daje to możliwość korzystania z dowolnego narzędzia kompresji, które obsługuje tę-d
opcję.Przydaje się to bardzo przy wykolejeniu z dużym archiwum, ponieważ nie trzeba mieć dwukrotnie większego rozmiaru nieskompresowanego w docelowym systemie plików (plik tar i plik wyjściowy). Jest to również szybsze, ponieważ potrzebujesz znacznie mniej operacji We / Wy dysku.
Oczywiście działa to również przy kompresji:
Sprawdź
tar --help
więcej opcji.źródło
lbzip2 -dc file.tar.bz2 | tar xvf -
możesz użyć pbzip2 z
-d
flagą do „dekompresji”,ze strony man:
Ten przykład zdekompresuje plik „myfile.tar.bz2” do zdekompresowanego pliku „myfile.tar”. Użyje automatycznie wykrytej liczby procesorów (lub 2 procesorów, jeśli nie jest obsługiwane automatyczne wykrywanie).
Po rozpakowaniu należy rozpakować plik za pomocą
Plik tar jest tylko kontenerem, do którego można zastosować wiele algorytmów kompresji, na przykład możesz mieć „.tar.gz” lub „.tar.bz2”, które mają różne algorytmy kompresji. Więc pbzip2 rozpakuje tylko archiwum, ale nie wyodrębni plików, użyj
tar
do wyodrębnienia plików. Tar nie powinien trwać długo, ponieważ archiwum jest już nieskompresowane i po prostu rozpakuje pliki. (zauważ, że nie używamy flagi „z” ani flagi „j” w poleceniu tar, co oznacza, że chcemy również zdekompresować plik)źródło
lbzip2 wydaje się znacznie lepszy niż pbzip2 w twoim przypadku, ponieważ jest w stanie przyspieszyć dekompresję standardowych plików .bz2, podczas gdy pbzip2 tego nie robi. (Właśnie przetestowałem - 17 sekund dla lbzip2 vs 56 sekund dla pbzip2 na częściowo obciążonym czterordzeniowym rdzeniu).
źródło