.tar.7z
Thursday, 13. December 2007, 23:31:35
Ostatnio na polskim kanale Gentoo Linux odbyła się dość interesująca rozmowa o backupowaniu. Ktoś postanowił zrobić backup jakiegoś ogromnego systemu i nie wiedział jak się do tego zabrać. Podczas dyskusji pojawił się szalony pomysł zrobienia archiwum przy pomocy 7zip. <:
Szybko pojawił się też pierwszy problem - jak zachować prawa dostępu? Okazało się, że najlepszym sposobem będzie wykorzystanie tara. Na poważnie zainteresował się tym kolega RushPL, który przygotował łatkę pozwalającą na szybkie, łatwe i przyjemne stworzenie archiwum .tar.7z. Może lekko przesadziłem, w każdym razie historia potoczyła się szybko. Ja dorobiłem ebuild, później też dorzuciłem łatkę na man page, żeby uwzględniał obsługę nowego formatu.
Pytanie
Na co to komu? Jeżeli ktoś wcześniej używał 7zip to wie, że jest powolny, obciąża procesor, ale w zamian za to oszczędza miejsce. Czy warto? Przecież mamy wielogigabajtowe dyski twarde, prawda? Z drugiej strony mamy też bardzo szybkie procesory!
Badanie
Maszyna testowa została przygotowana, więc do biegu, gotowi... start! Na początek standard czyli /usr/portage
~ $ time tar cef /tmp/portage.tar.7z /usr/portage/* real 7m14.086s ~ $ time tar czf /tmp/portage.tar.bz2 /usr/portage/* real 3m19.520s ~ $ ll /tmp | grep portage.tar -rw-r--r-- 1 lazy_bum users 32072671 Dec 11 16:48 portage.tar.7z -rw-r--r-- 1 lazy_bum users 48593291 Dec 11 16:53 portage.tar.bz2
7zip zdecydowanie z tyłu jeżeli chodzi o czas, ale tego się spodziewaliśmy. Kompresja też zgodnie z przewidywaniami i tym razem .tar.bz2 został z tyłu. Kolejny test to mój $HOME, bo niby czemu nie? Jest tam zdecydowanie więcej zróżnicowanych danych niż w drzewku.
~ $ time tar czf /tmp/home.tar.bz2 ~/* real 0m59.315s ~ $ time tar cef /tmp/home.tar.7z ~/* real 5m56.542s ~ $ ll /tmp | grep home -rw-r--r-- 1 lazy_bum users 64568523 Dec 14 00:19 home.tar.7z -rw-r--r-- 1 lazy_bum users 72844599 Dec 14 00:08 home.tar.bz2
Na koniec dane, które zostały badane bardziej na oko, a przynajmniej ich czas. Dorobiłem support do stage4, przemieliłem oboma. Wyniki:
.tar.7z - czas: ~2h - rozmiar: 1.3gb
.tar.bz2 - czas: ~30m - rozmiar: 1.5gb
Konkluzja
Jeżeli masz naprawdę szybki komputer, lubisz oglądać duży load lub chcesz podgrzać sobie stopy trzymane blisko radiatora to .tar.7z jest dla ciebie! Osobiście raczej nie będę go używał, ew. zapuszczał na długie, zimowe wieczory. Stosunek czas/jakość kompresji jest po prostu niezbyt atrakcyjny.
Pliki:
Łatki i ebuild, oczywiście w formie .tar.7z. (:
stage4.7z
Z innej beczki teraz. Najlepszym rozwiązaniem by było żeby pbzip2 mógł korzystać z stdout ale nie umie póki co :/
By Kfiaciarka, # 6. April 2008, 13:17:54