Autor Wątek: Dodawanie danych naprawczych do dowolnych archiwów/plików itp. (darmowo)  (Przeczytany 9931 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Asgard

  • Aktywny użytkownik
  • ***
  • Wiadomości: 181
    • Zobacz profil
    • moje repo germanistyczne
Dodawanie danych naprawczych w dobie masowej wymiany (zwłaszcza dużych) plików przez Internet, kiedy może dojść do przekłamania i uszkodzenia danych, jest zagadnieniem (przynajmniej dla części internautów) bardzo istotnym.

To że komercyjny WinRar/Rar oferuje dodawanie danych naprawchych i odzyskiwanie uszkodzonych plików, wiadomo nie od dziś, jednak nie każdy ma ochotę na płatne (własnościowe) i zamkniętożródłowe oprogramowanie w dobie, kiedy służby specjalne typu CIA/FBI/NSA :) mogą najprawdopodobniej mieć tylne wejście do programu (i nie pomoże tu nawet fakt, że nowsze serie WinRar'a/Rar'a podobno mają wbudowany algorytm szyfrowania bazujący na AES256, ponieważ ewentualny backdoor dla służb specjalnych może korzystać z hasła/wytrycha "generalnego" dodanego do zamkniętego i kodu aplikacji).

Znane otwartoźródłowe programy do archiwizacji/kompresji danych typu 7-zip czy PeaZip niestety nie oferują opcji danych naprawczych (na szczęście umożliwiają przynajmniej zaszyfrowanie listy plików).

Jak sobie więc radzić?

1. Tworzymy archiwum, które chcemy zabezpieczyć (ZIP, 7z, tar.gz, bz2 itp.), w razie potrzeby szyfrujemy (najlepiej wraz z listą plików: 7-zip wymaga uaktywnienia specjalnej opcji szyfrowania listy plików, a PeaZip ma ją wbudowaną domyślnie). Oczywiście archiwum może (o ile jest taka chęć/potrzeba) być podzielone na woluminy. Załóżmy, że nadamy naszemu archiwum nazwę sample.7z.

2. Pobieramy konsolowy program par2:

https://yadi.sk/d/eiBdUT58dh7CE

3. Instalujemy go.

4. Otwieramy konsolę i (w razie potrzeby) nawigujemy do foldera, w którym mamy nasze archiwum, np. aby przejść do foldera o nazwie "kotek", znajdującego się w /root, wpisujemy komendę:

cd kotek
5. Teraz tworzymy dane naprawcze:

par2 c sample sample.7z
(to będzie domyślnie z 5% danych naprawczych, bo tyle właśnie par2 ma ustawione "fabrycznie")

Komu wydaje się to zbyt małym zapasem redundancji, to wydaje komendę:

par2 c -r10 sample sample.7z
(i już będzie miał 10% danych ratunkowych)

Jeżeli archiwum "sample" jest podzielone na podwoluminy składowe, to wymieniamy je w komendzie oddzielając spacjami.

Można sobie jednak znacznie ułatwić sprawę z większą ilością plików/podwoluminów w ten sposób, że nie trzeba będzie ręcznie wklepywać nazw poszczególnych podarchiwów, bo można przecież posłużyć się potęgą basha, czyli znakiem gwiazdki. Jeżeli w folderze, w którym trzymamy dane (archiwa/podarchiwa składowe) przeznaczone do wytworzenia na ich podstawie danych naprawczych są tylko one same (bez żadnych innych zbędnych plików), to sprawa będzie wyglądała tak:

par2 c -r10 sample *
Dzięki tej gwiazdeczce par2 będzie tworzył dane naprawcze na podstawie wszystkich możliwych plików znajdujących się w folderze "kotek".

Po pewnym czasie, zależącym od wielkości pliku, do którego "dorabiamy" dane naprawcze, aplikacja zakończy pracę i w folderze /root/kotek pojawią się nowe pliki, np. sample.par2, sample.vol000+01.par2, sample.vol001+02.par2 itd. (u siebie dodawałem dane naprawcze do archiwum *.7z o rozmiarze 117 MB, więc program utworzył 9 plików naprawczych --> główny deskryptor danych naprawczych o nazwie sample.par2 + osiem podwoluminów, zawierających w swojej nazwie sekwencję vol00..).

6. No to teraz (o ile chcemy) możemy zweryfikować nasze dane naprawcze:

par2 v sample.par2
Powyższego polecenia możemy także używać w sytuacji, kiedy pobierzemy docelowe pliki z Internetu wraz z danymi naprawczymi w formacie *.par2 i będziemy chcieli przetestować, czy pobrane przez nas dane nie pobrały się z błędami i upewnić się, czy stan plików oraz ilość dostępnych danych naprawczych są wystarczające do przeprowadzenia ich ratowania.

7. Gotowe.


Odzyskiwanie uszkodzonych archiwów

1. Wszystkie archiwa oraz pliki z danymi naprawczymi, czyli te stworzone przez program par2, muszą być wspólnie w jednym i tym samym folderze.

2. Wydajemy komendę odzyskującą dane:

par2 r sample.par2
Dane powinny zostać odzyskane (10% to danych naprawczych, to naprawdę sporo; nawet renomowany WinRar/Rar domyślnie dodaje ich zaledwie 1%, zaleca się ok. 5%, a maksymalnie można w nim dodać 10%). Program par2 umożliwia ustawienie nawet większej redundancji niż 10% (choć statystycznie nie powinno to być potrzebne).

3. Dane zostały odzyskane. Przy okazji par2 stworzył kopię popsutego archiwum i oznaczył ją dodając do rozszerzenia nazwy pliku cyfrę "1". Kopię tę będzie można usunąć, bo przecież proces naprawczy się udał (o czym program nas poinformował).

Całą powyższą procedurę sprawdziłem u siebie --> łącznie z odzyskiwaniem (celowo popsułem archiwum *.7z nadpisując je kilkunastoma znakami w binarnym edytorze heksadecymalnym gHex).



Zabezpiecznie i naprawianie danych w programie QuickPar (w Wine)


Program QuickPar to windowsowy i bezpłatny graficzny odpowiednik naszego opisanego powyżej konsolowego linuksowego par2. Oba programy tworzą dane naprawcze w podwoluminach *.par2 i są ze sobą kompatybilne w obie strony (co sprawdziłem praktycznie).

Program pobieramy stąd:

http://www.quickpar.org.uk/Download.htm

mirror: https://yadi.sk/d/1xUZmq3bdh7KP


... i instalujemy pod Wine.

Dokładna polskojęzyczna instrukcja obsługi programu (wraz ze screenshotami) znajduje się na stronie:


http://przepraszamzacrossposta.blox.pl/2010/03/QuickPAR-Przepis-na-parowki-czyli-dane-naprawcze.html

mój mirror PDF:

https://yadi.sk/i/Ni_yBGCedh7RV



Inne linuksowe graficzne programy tworzące dane naprawcze w formacie *.par2


Niestety, nie udało mi się ich uruchomić na moim szczeniaku, ale jak najbardziej istnieją:

pypar2
gpar2


Może ktoś się odważy spróbować powalczyć. Może Slacko, którego akurat nie używam, jest pod tym względem lepszy.

Życzę miłego bezpłatnego niekomercyjnego zabezpieczania/naprawiania dowolnych plików (bo par2, QuickPar, pypar2 czy gpar2 zabezpieczają przecież nie tylko archiwa skompresowane, ale i dowolne "zwykłe" pliki, np. filmy, obrazy ISO,  itd.).

==========================

niniejszy post/wątek jako plik PDF: https://yadi.sk/i/WzsKSUqY3Ff8YD
 
« Ostatnia zmiana: Marca 13, 2017, 08:28:49 wysłana przez Asgard »
1.8 GHz / 1.25 GB RAM / Precise 5.6.1 full install @ HDD + spolszczenie / rox / śmiga jak błyskawica. Używam zawodowo od lat jako jedynego OS'a, dlatego zawsze z kopią zapasową wszystkich plików w / (odpalam z CD lub pędraka, 30 minut max i system odtworzony z backupa na drugiej partycji)

Offline Asgard

  • Aktywny użytkownik
  • ***
  • Wiadomości: 181
    • Zobacz profil
    • moje repo germanistyczne
Odp: Dodawanie danych naprawczych do dowolnych archiwów/plików itp. (darmowo)
« Odpowiedź #1 dnia: Sierpnia 07, 2013, 11:19:44 »
GRAFICZNA LINUKSOWA PYTHONOWA NAKŁADKA NA PAR2 (PUPPY LINUX PRECISE 5.6.1)

Pod Puppy Linux (Lucid) 520 nie udało mi się tego zmusić do działania, ale w Puppy Linux (Precise) 5.6.1 nie ma problemu i wszystko śmiga:



(nowe pliki dodajemy z prawokliku na białym polu)


Ten program najlepiej instalować wprost z repozytorium (poprzez Puppy Package Manager) - szanse na uruchomienie/działanie będą wtedy niemal stuprocentowe (instalujemy sobie par2 oraz pypar2 wraz z kompletem wykrytych zależności), ale dla leniwych wrzucam także paczkę ZIP z programami i (mam nadzieję kompletnymi) zależnościami:

https://yadi.sk/d/_LMkAeSr3Ff7rB

-----------------------------------------------

KONSOLOWY PROGRAM ARJ TAKŻE DODAJE DANE NAPRAWCZE


https://yadi.sk/d/agJ3l4Ms3Ff7yA


Dane naprawcze dodaje się odpowiednim switchem, ale nie jest to jak dla mnie zadawalająca redundancja (coś około 1.5 %), więc nie korzystam.

Powyższa paczuszka *.pet zawiera bezpłatną otwartoźródłową implementację programu ARJ (projekt z sourceforge.net).


 
« Ostatnia zmiana: Marca 13, 2017, 08:26:30 wysłana przez Asgard »
1.8 GHz / 1.25 GB RAM / Precise 5.6.1 full install @ HDD + spolszczenie / rox / śmiga jak błyskawica. Używam zawodowo od lat jako jedynego OS'a, dlatego zawsze z kopią zapasową wszystkich plików w / (odpalam z CD lub pędraka, 30 minut max i system odtworzony z backupa na drugiej partycji)