Jaki jest najbardziej niezawodny format archiwum?


25

Chciałbym wykonać kopię zapasową niektórych starych folderów z dokumentami, do których bardzo rzadko potrzebuję uzyskać dostęp. W tym celu chciałbym umieścić je wszystkie w jednym archiwum. Ponieważ będzie to kopia zapasowa, format powinien odpowiadać temu celowi. Więc dolna linia:

Który jest najbardziej niezawodny / niezawodny format archiwizacji w Ubuntu?

Odpowiedzi:


20

To zależy. Dwie najpopularniejsze opcje to tarballi i pliki zip, ale brakuje ich obu:

  • .tar archiwa taśmowe są bardzo popularną opcją dla większości użytkowników Linuksa. Zachowuje uprawnienia do plików UNIX (co jest ważne w przypadku kopii zapasowej) i twarde linki. Jest obsługiwany od razu po rozpakowaniu każdej dystrybucji Linuksa, a także w niektórych programach Windows, takich jak 7-zip . Jednak tar ma kilka ograniczeń i wad w przypadku użycia kopii zapasowej, jak wyjaśnili programiści Duplicity . Może być bardzo powolny: nawet aby uzyskać listę nazw plików przechowywanych w archiwum, należy przeczytać całe archiwum. Nie obsługuje również szczegółowych metadanych, które mają niektóre nowsze systemy plików.
  • .zip Pliki zip działają zarówno jako archiwum, jak i format kompresji. Aby zwiększyć szybkość, możesz całkowicie wyłączyć kompresję. Pliki zip są lepsze niż archiwa taśmowe, ponieważ przechowują rodzaj spisu treści, umożliwiając programom szybkie przeskakiwanie do określonego pliku, który należy wyodrębnić. Przechowuje również sumy kontrolne dla zawartości każdego pliku, aby umożliwić łatwe wykrywanie uszkodzenia pliku. Pliki zip są niezwykle popularne, niestety nie nadają się do tworzenia kopii zapasowych systemu Linux, ponieważ nie przechowują prostych uprawnień do plików.

Oto jeszcze dwie opcje, których niestety brakuje:

  • .7z Archiwa skompresowane 7z mają kilka doskonałych funkcji, takich jak szyfrowanie i obsługa bardzo dużych plików. Niestety nie przechowuje uprawnień do plików UNIX, więc nie nadaje się do tworzenia kopii zapasowych systemu Linux.
  • .ar klasyczne archiwa UNIX są poprzednikami archiwów tar i mają takie same ograniczenia jak archiwa tar.

Moim zdaniem nie ma całkowicie niezawodnego formatu archiwum kopii zapasowych dla systemu Linux, żaden z nich nie jest wystarczająco znany, by w jakikolwiek sposób uzasadnić moje zaufanie.

Jednym ze sposobów przezwyciężenia ograniczeń każdego z tych formatów jest ich połączenie: na przykład zarchiwizuj każdy plik osobno w archiwum tar, a następnie zarchiwizuj wszystkie archiwum tar w jednym pliku zip.

Jeśli chcesz mieć naprawdę solidne kopie zapasowe, prawdopodobnie powinieneś rozważyć następujące rozwiązania:

  • wykonać kopię zapasową bezpośrednio na zewnętrzny dysk twardy z tym samym systemem plików na źródłowym i docelowym. Gwarantuje to, że będziesz przechowywać uprawnienia i metadane każdego pliku dokładnie zgodnie z przeznaczeniem. (Nawiasem mówiąc, właściciele i właściciele grup plików są zapisywani przy użyciu ich identyfikatora użytkownika i numeru groupid, a nie ich nazw).

  • Używaj oprogramowania do obrazowania i klonowania całego dysku, takiego jak CloneZilla . Nie możesz pobrać jednego pliku z jednego z tych kopii zapasowych, ale możesz być absolutnie pewien, że zapisałeś wszystko, co możliwe.

I pamiętaj, zawsze pamiętaj: możesz być pewny swoich kopii zapasowych tylko wtedy, gdy spróbujesz je przywrócić. Jeśli najgorsze stanie się najgorsze, a źródłowy dysk twardy zostanie całkowicie zniszczony, czy możesz przywrócić wszystko, czego potrzebujesz, aby przywrócić na nowy dysk twardy? Czy działałoby to tak, jak się spodziewałeś? Spróbuj przywrócić kopię zapasową na nowy dysk twardy i spróbuj uruchomić z tego dysku twardego przez kilka dni. Jeśli zauważysz, że czegoś brakuje, wiesz, że twoja kopia zapasowa nie była wystarczająco dokładna.

Zastanów się także, gdzie przechowujesz swoje kopie zapasowe. Potrzebujesz przynajmniej kopii zapasowych, które nie znajdują się w tym samym budynku co dyski źródłowe, aby uchronić się przed kradzieżą lub pożarem. Niektóre opcje to chmura lub dom znajomego.


Dzięki za dobre wyjaśnienie zalet i wad TAR / ZIP! Bardzo przydatne.
Pisu,

9

Najlepszym .tarwyjściem byłoby tarball ( pliki). Użyj gzipformatu kompresji, aby uzyskać mniejszą kompresję, ale dobrą prędkość. bzip2jest znacznie wolniejszy, ale zapewnia lepszy współczynnik kompresji. W przypadku danych binarnych nie ma jednak dużej różnicy.

Polecenie kompresji katalogu przy użyciu kompresji gzip:

tar czf /path/to/save/backup.tar.gz directory-to-backup

Aby wyodrębnić archiwum skompresowane gzip przy zachowaniu uprawnień do plików:

tar xzpf /path/to/save/backup.tar.gz

Zamień zna jdla kompresji bzip2 i dodaj vprzed v (np. czvfI xzpvf), aby wydrukować nazwy plików podczas ich archiwizacji / rozpakowywania.


4
Dla niezawodności nie potrzebujesz kompresji. Wszelkie uszkodzenia skompresowanego archiwum powodują utratę wszystkiego, co następuje po uszkodzeniu.
psusi

5
@psusi To nie jest prawda w przypadku bzip2, który kompresuje się w ~ 1 MB fragmentach. Spójrz na bzip2recover.
phihag

@ phihag, schludnie, po tylu latach tego nie zauważyłem! +1. Bardzo dobry powód dla bzip2 zamiast gzip.
psusi

7

Wybieram 7zip ( sudo apt-get install p7zip-full). Z mojego punktu widzenia wygląda to idealnie kompresujący archiwizator.

Nie lubię klasycznych plików tar ze względu na ich niezgrabność, ponieważ cały plik tar ma zostać zdekompresowany (co może się zdarzyć za kulisami, ale nadal się zdarza) tylko po to, aby wyświetlić spis treści archiwum.


4

Chociaż nie jest to tak dobrze znane i powszechnie używane, chętnie korzystam z afio ze względu na sposób, w jaki indywidualnie kompresuje pliki, umożliwiając w ten sposób odzyskanie w przypadku uszkodzenia. Zainstaluj za pomocą aptitude lub podobnego.


1

Gzipped tarball (.tar.gz, .tgz), standard archiwizacji Linuksa. Nie możesz się z tym pomylić.

Nigdy w życiu nie miałem zepsutego ani nawet kłopotliwego archiwum .tar.gz. W FlatmateRooms używamy tego do archiwizacji setek tysięcy obrazów na serwerze i wszystkich kopii zapasowych.


0

W niektórych przypadkach jest to dla mnie przydatne.

tar -cJvf paquete.tar.lzma folder-to-backup/
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.