Dobry den,
delam si revizi zalohy (zpetne porovnani zalohovanych souboru pomoci RARu s puvodnimi soubory) a zjistil jsem ze se mi 62 rozbalenych souboru lisi oproti tem co byly archivovany.
Jedna se vesmes o soubory s priponou XLS nebo PPT. Vetsinou maji ruzne CRC, a kdyz jsem soubory porovnal tak se lisi v par bajtech. Nektere se lisi i velikosti presne o 2048 bytu.
Je to bezne? Da se to nejakym paramterem pri baleni osetrit, aby byly soubory vzdy identicke?
S pozdravem,
Petr Martan
Metoda archivace RAR sama garantuje, že přesně to, co bylo zabaleno, bude taky vybaleno. Pokud se obsah původních a vybalených souborů neshoduje, může to mít několik důvodů:
1. Původní soubory se časem změnily. Víte, co děla Excel, když si soubor jen prohlížíte? Nekdo mohl změnit šířku sloupce a bezmyšlenkovitě potvrdit uložení změn.
2. Kvůli chybě disku nebo paměti při archivaci souboru se do oblasti paměti, obsah které se archivoval, neshodoval s obsahem původních souborů.
3. Kvůli chybě disku nebo paměti při rozbalování se do rozbalených souborů dostalo něco jiného, než je v archivu.
Chyba hardware se s vysokou pravděpodobností (ale ne jistotou) projeví i při jiných akcích, třeba v obrázku má některý pixel jiný odstín, lupne to v písničce při při jejím přehrávání, postava ve hře najednou divně poskočí atd.
Ale to, co je zapsané ve formátu RAR, obsahuje kontrolní součty, takže chyba disku při zápisu archivu by se projevila tak, že ten archiv by při každém otevření na jakémkoliv počítači hlásil, že je poškozen. Kdyby k chybě došlo až při jeho načtení z disku, taky by to hlásilo chybu, ale opakovaný pokus by mohl být úspěšný, a na jiném počítači by se archiv jevil v pořádku.
O jaký druh chyby se jedná by mohla napovědět analýza těch rozdílů, které bity jsou jiné, na jakých adresách, jestli došlo ke vsunutí nebo vynechání byte se změnou délky. Setkal jsem se třeba s diskem, na který nešlo zapsat blok končící sekvencí FF FF FE - po načtení z disku byl i poslední byte FF a nikdo nehlásil žádnou chybu. Když ty předchozí dva byly jiné, poslední byl FE. Porovnání souborů děla příkaz FC, pokud nejsou textové, dejte klíč /B
Dobry den, dekuji za odpoved.
vami navrhovane moznosti jsem postupne vyloucil. Rozbalil jsem archiv na vice disku a vzdy se stejnym vysledekm, tj. se stejnym rozdilem.
Udelal jsem nekolik dalsich pokusu a pravdepodobne jsem prisel na pricinu. Bude to nejaka optimalizace v ramci RARu.
Zalohu provadim tak, ze soubor rar aktualizuji, nevytvarim jej pokazde znovu. Pouzivam paramtery a -u -r -as -ep2 -ac -as -m2.
U XLS souboru MS pri otevreni a uzavreni souboru meni pravdepodobne datum posledniho pristupu uvnitr souboru aniz by menil velikost a datum souboru samotneho.
Udelal jsem pokus, ze jsem soubor XLS zabalil, pote jsem ho otevrel a zavrel. Soubor se skutecne nepatrne na disku zmenil, jak jsem popsal vyse. Kdyz jsem ale pak spustil aktualizaci archivu pomoci RARu, tak ten jiz ten soubor neaktualizoval a nechal si v archivu puvodni verzi.
Udelal jsem dalsi pokud kdyz jsem v souboru prepsal obsah, ale nechal mu stejnou velikost i datum, ktera je v archivu. Po te jsem spustil aktualizaci archivu a soubor se take neaktualizoval.
Z toho vyplava, ze se RAR pravdepodobne pri aktualizaci archivu ridi ciste atributy souboru (velikost, datum), a ne jeho obsahem. Coz v praxi nemusi byt ulne spatne, jen to je prekvapive :).
Zdravim,
pm
Otázkou je, zda by to mělo být překvapivé: pokud děláte inkrementální zálohy, opravdu čekáte, že RAR všechny zdrojové soubory opravdu přečte a spičítá kontrolní součet jen proto, aby věděl, zda je má pakovat (a pak je četl znovu)? Myslím, že to by bylo pro mnoho uživatelů prekvapivé a nutilo by je to l úvahám o duševním zdraví autora.
Nepřekvapuje Vás spíše fakt, že Excel bez toho, abyste dokumenty uložil, přesto mění jejich obsah, ale už ne časová razítka...? Osobně bych porušení bežných norem hledal spíše tam a potom, pokud Vám to vadí, zvolil jiný způsob archivace - třeba zavrhl tu inkrementální.
Možná by byla možná i funkce "nucené kompletní archivace vybraných typů souborů" při jinak inkrementální archivaci - sám byste zvolil typy souborů, u nichž časovým razítkům nevěříte a chcete je každopádně spakovat vždy.