PDA

View Full Version : Info robustezza file 7z - principali difetti


Sdentato
31-03-2020, 17:09
Salve a tutti, vi scrivo per avere delucidazioni riguardo i file 7z.
Tempo fa ricordo di aver letto che uno dei difetti dei file 7z è che sono file poco "robusti" dal punto di vista del rischio di venir danneggiati e, proprio per questo motivo, è particolarmente sconsigliato il loro utilizzo per in supporti ottici (CD, DVD). Sapreste confermarmi o smentire quanto letto? Mi sembra questa delicatezza era causata del fatto che i byte sono interlacciati e quindi la perdita di un solo byte potrebbe danneggiare più file.

Inoltre, un difetto che ho personalmente riscontrato nei file 7z, è che se voglio estrarre un solo file di un archivio, questa operazione è possibile solo se si estrae un gruppo di file.
Penso che lo screen che ho fatto che segue mostri che i byte siano interlacciati (infatti il programma non riesce a calcolare la dimensione degli ultimi quattro file, ma vede un raggruppamento da 1.823.164.556 byte)

https://i.ibb.co/QcqpD9P/Annotazione-2020-03-31-175814.png (https://imgbb.com/)

C'è un modo per risolvere questo problema? Perché questo rallenta di molto l'estrazione di singoli file compressi in grandi archivi.

Vi ringrazio per l'attenzione :)

Styb
31-03-2020, 19:04
Ciao, il tuo file si presenta in quel modo perché è stato ottenuto eseguendo la compressione solida, per cui tutti i file sono concatenati in un unico gruppo e viene visualizzata solo la dimensione del gruppo e non dei singoli file.

Leggi qui: https://it.wikipedia.org/wiki/Compressione_solida

Sdentato
31-03-2020, 20:46
Grazie mille per la risposta, quindi questa caratteristica spiega anche perché un archivio 7z settato in quel modo sia più delicato, giusto?

A questo punto chiedo: che differenze ci sono (soprattutto in termini di spazio) tra un file zip LZMA e un 7z LZMA non solido?

Perseverance
01-04-2020, 11:53
Intanto fai una distinzione fra "programma di compressione", "contenitore", "algoritmo di compressione" e "metodo".

Sono programmi: 7-Zip, WinRAR, PeaZip, FileRoller, WinZip e supportano molteplici contenitori.

Sono contenitori: Zip, Rar, 7z, Tar, Xz, ... e supporano molteplici algoritmi di compressione

Sono algoritmi: Deflate, LZ, LZMA, LZMA2, BWT, PPMD, BZIP, ... ciascuno di questi usa metodi vari

I metodi variano come la dimensione del dizionario, solidità totale o solidità a blocchi o non solidità, ampiezza dei simboli del dizionario, la lunghezza di ricerca dei simboli ridondanti (dimensione parola)

Ovviamente per i dati questi algoritmi sono senza perdita.

Tempo fa ricordo di aver letto che uno dei difetti dei file 7z è che sono file poco "robusti" dal punto di vista del rischio di venir danneggiati
Questo non riguarda l'algoritmo di compressione ma il contenitore. RAR include varie tecniche di overload d'informazione che aggiungono una probabilità di poter recuperare dati a seguito di corruzione. Probabilità non certezza.

In particolare il metodo solido totale dal momento che raggruppa tutti i bit di molti file in un'unica sequenza, in caso di corruzione, può capitare di perdere molto.

che differenze ci sono (soprattutto in termini di spazio)
All'aumentare delle opzioni migliorative ci si aspetta un decremento sempre meno marcato nella dimensione finale dell'archivio. Molti piccoli file traggono vantaggio dall'essere trattati come un blocco solido in quanto l'algoritmo diventa più efficiente all'aumentare delle dimensioni da trattare. All'aumentare delle dimensioni dei singoli file diminuisce la possibilità di trarre vantaggio dal raggruppamento in blocchi o anche in blocco solido totale.

Come già spiegato, col medoto della compressione a blocchi, i file sono concatenati nei blocchi (1 solo se è totalmente solido). Per estrarre un determinato file bisogna per forza decodificare tutti quelli che precedono.

Sdentato
01-04-2020, 12:49
Grazie mille per la spiegazione, veramente esaustiva.


Questo non riguarda l'algoritmo di compressione ma il contenitore. RAR include varie tecniche di overload d'informazione che aggiungono una probabilità di poter recuperare dati a seguito di corruzione. Probabilità non certezza.

Quindi stai confermando il mio dubbio iniziale e, cioè, che i file 7z sono delicati? L'affidabilità, robustezza dei file 7z non solidi è paragonabile a quella dei file rar? E a quella dei file zip?

Perseverance
01-04-2020, 14:39
Nell'attuale implementazione di 7z non c'è niente che riguardi la ridondanza dei dati. Rar a cose normali è identico; tuttavia c'è un'opzione che ti permette di impostare una percentuale di riserva di spazio aggiuntivo che dà la speranza di poter recuperare qualcosa o tutto in caso di compromissione dell'archivio.

Quindi stai confermando il mio dubbio iniziale e, cioè, che i file 7z sono delicati?
Hai capito male te. Ti sto dicendo che sono tutti uguali da questo punto di vista, la scelta di applicare la compressione solida o a blocchi peggiora in egual misura la capacità di recupero dei singoli file contenuti in tutti i formati contenitori. Le funzionalità di WinRAR di poter dedicare spazio aggiuntivo come recupero dati sono un extra esclusivo di WinRAR e del formato RAR.

L'alternativa per gli altri è usare software di parità di terzi per generare dei file di recupero, fra i più usati c'è il formato PAR o PAR2