Cookie di statistica e di pubblicità
Usiamo cookie di statistica e di pubblicità, entrambi inviati a Google. Rifiutare non cambia niente di quello che vedi.Leggi la pagina sulla privacy
Qui converti 7Z in TAR gratis e senza account: trascina il file qui sopra e in un paio di secondi il risultato è pronto da scaricare. Il file viaggia cifrato fino al nostro server, viene convertito lì e viene cancellato appena il lavoro finisce.
Fino a 100 file alla volta. Formati diversi insieme non sono un problema.
Vengono convertiti uno dopo l’altro e scaricati insieme in uno ZIP.
7Z in TAR
Questa è una conversione di strumentazione. Qualcosa a valle legge tar — un contesto di build di un container, uno script di packaging, un endpoint di importazione, un pezzo di infrastruttura scritto contro `tar -x` e ancora in funzione — e l’archivio che è stato consegnato è un 7Z perché chi lo ha fatto si preoccupava della dimensione.
Il tarball è quindi un intermedio, non una cosa che si tiene. Giudicarlo dal fatto che il passaggio successivo lo abbia accettato, non dalla sua dimensione, e prevedere di cancellarlo una volta che quel passaggio è stato eseguito. Questa cornice è importante perché sotto ogni altra misura questa conversione peggiora il file : più grande, non più veloce da spostare, non più facile da aprire per una persona. È l’output adatto solo quando qualcosa di specifico lo sta aspettando, ed è il motivo per cui la pagina spende più tempo su cosa aspettarsi che sul perché volerlo.
Il 7Z è solido e usa LZMA2 con un dizionario che il nostro registro registra fino a 64 MB : i membri sono compressi come uno stream continuo e una ripetizione entro decine di megabyte viene memorizzata una volta sola. La compressione del TAR, nello stesso registro, è registrata come nessuna.
Quindi tutto quel lavoro viene disfatto e nulla lo sostituisce. Un 7Z di un albero di sorgenti o di un insieme di documenti può espandersi di molte volte, il che ne fa l’output più grande di qualsiasi conversione della famiglia degli archivi, e quello che più probabilmente sorprenderà qualcuno che guarda una barra di download. Non è un difetto : i due formati rispondono a domande diverse, e solo una di esse riguarda la dimensione. Pianificare per il risultato invece che per la sorgente quando si decide dove metterlo, perché i 25 MB che si possono caricare diventano comodamente un download molte volte più grande.
A volte gli archivi contengono altri archivi, e un convertitore deve decidere se quel file interno sia imballaggio o contenuto. La regola qui è esplicita : per le sorgenti GZ, BZ2 e XZ, un singolo tar che ne esce è uno strato e viene spacchettato, perché quei formati contengono un solo stream e un tar sotto è l’unico modo in cui portino una directory.
Per un 7Z o uno ZIP vale l’opposto. Sono contenitori reali che possono contenere molti file con nomi, quindi un `.tar` dentro uno di essi è qualcosa che l’autore vi ha messo apposta — un archivio annidato, un fixture, un payload per qualcos’altro. Spacchettarlo cambierebbe silenziosamente ciò che l’archivio contiene, quindi arriva come file e si ottiene un tar che contiene un tar. È la risposta corretta, anche se sembra strana.
Poiché il 7Z è solido, non c’è un modo economico per leggerne una parte. I membri sono uno stream, quindi raggiungere un file nel mezzo significa decomprimere tutto ciò che lo precede — ed è per questo che estrarre un grande archivio solido costa circa lo stesso che si voglia un solo file o tutti.
Per questa conversione non costa nulla, dato che servono comunque tutti i membri. Vale la pena saperlo per il caso inverso : se si sta frugando in un archivio ripetutamente invece di spacchettarlo una volta, un formato solido è la scelta di archiviazione sbagliata, e un tarball non è molto meglio — non ha alcun indice, quindi elencarlo significa leggerlo dall’inizio. ZIP è il formato che risolve davvero quel problema, ed è un buon motivo per non trattare questi tre come interscambiabili.
Il TAR registra un modo file, un utente e un gruppo per ciascun membro, e questa capacità è esattamente il motivo per cui gli strumenti di packaging vogliono i tarball. Ciò che non può fare è recuperare valori che non sono mai stati portati attraverso. I modi nell’output provengono dall’estrazione sul nostro convertitore, non dalla macchina in cui i file sono stati creati.
Trattarli come non specificati piuttosto che preservati, e impostare ciò che conta dopo l’estrazione — il bit eseguibile su uno script è la cosa che di solito si rompe, e si rompe in un modo che sembra un problema dello script invece che dell’archivio. La regola sull’intero sito per queste coppie è la stessa : i membri escono byte per byte, ciò che è a rischio è la conoscenza del contenitore.
Un motivo frequente per volere un tarball non compresso è che si intende comprimerlo di nuovo con i propri flag — un livello specifico, un dizionario specifico, un’impostazione deterministica per una build riproducibile, o un compressore che una cache a valle comprende.
Smontare il 7Z è il modo onesto per arrivarci, perché non si può ricodificare uno stream compresso in un compressore diverso senza prima decomprimerlo. Se i requisiti sono ordinari piuttosto che particolari, convertire il 7Z direttamente in GZ fa lo stesso giro in un passaggio e consegna un `.tar.gz` alla fine.
Questa coppia gira sul nostro convertitore, non nella pagina. L’archivio viene caricato su una connessione cifrata, estratto con 7-Zip, riscritto come tarball dall’interno della directory estratta, e restituito. Il caricamento e ogni intermedio vengono cancellati quando il lavoro termina, in una directory di lavoro su un filesystem in memoria che viene scartata con il container.
I limiti attorno a cui pianificare : 25 MB per caricamento sul piano gratuito, sessanta secondi prima che un lavoro venga terminato, e un rifiuto per qualsiasi archivio che dichiari più di 2 GB di contenuto spacchettato. Il limite di caricamento si applica a ciò che si invia, quindi un 7Z compatto può produrre un download molte volte più grande del file da cui è partito.
Due rifiuti vale la pena conoscerli. Un 7Z cifrato si ferma immediatamente, perché all’estrattore viene deliberatamente passata una password vuota così fallisce invece di bloccarsi su un prompt che non può essere risposto. E un archivio che si rivela vuoto riceve un messaggio secco invece di un tarball valido ma vuoto.
La guardia sull’espansione è la terza. Prima che qualsiasi cosa venga scritta su disco all’archivio viene chiesto cosa dichiara di contenere, e un totale sopra i 2 GB viene respinto — una difesa contro file costruiti per riempire un filesystem invece di contenere dati, e occasionalmente un archivio onesto che è davvero troppo grande per un servizio web.
Se il tarball sta per viaggiare — caricato, recuperato, copiato tra macchine, messo in cache da qualcosa — la forma non compressa è la cosa sbagliata da spostare, ed è la forma che più probabilmente fa sembrare rotto un collegamento lento. Ogni destinazione a stream singolo su questo sito viene prodotta archiviando prima in tar e poi comprimendo, quindi convertire il 7Z in GZ consegna lo stesso tarball con gzip intorno in un’operazione e un download.
Chiedere TAR quando uno strumento vuole un tarball nudo e lo comprimerà, o no, alle proprie condizioni. Chiedere GZ quando il file attraversa una rete o atterra in una cache di pacchetti. I due sembrano quasi identici in un elenco di file e si comportano molto diversamente in una pipeline, e scegliere quello sbagliato di solito emerge come un trasferimento che richiede un ordine di grandezza in più rispetto a quanto preventivato, a diversi passi di distanza dalla decisione che lo ha causato.
Il lavoro di packaging ha spesso bisogno che lo stesso input produca gli stessi byte ogni volta, e un tarball è uno dei punti in cui questo fallisce silenziosamente. L’ordine dei membri, i timestamp e i modi scritti in ciascuna intestazione derivano tutti dall’estrazione che li ha prodotti, quindi due conversioni dello stesso 7Z possono differire l’una dall’altra pur contenendo fedelmente gli stessi file.
Se una build confronta le checksum del tarball stesso invece che dei suoi contenuti, quella differenza verrà segnalata come un cambiamento quando nulla di significativo è cambiato. La soluzione non è un convertitore diverso ma un posto diverso in cui fare il lavoro : gli archivi riproducibili richiedono una toolchain locale pinnata in cui ordine di ordinamento e timestamp siano impostati esplicitamente, che è esattamente ciò che forniscono gli strumenti di packaging e ciò che un servizio web non può. Usare questa pagina per tirare fuori i contenuti dal 7Z, e lasciare che sia la propria toolchain a scrivere il tarball che deve essere riproducibile.
| 7Z | TAR | |
|---|---|---|
| Nome completo | Archivio 7-Zip | Archivio TAR |
| Estensione del file | .7z | .tar |
| Tipo di media | application/x-7z-compressed | application/x-tar |
| Compressione | Senza perdita — non si butta via niente | Senza compressione |
| Prima pubblicazione | 1999 | 1979 |
| Specifica | — | POSIX.1-2001 ustar |
| Licenza | Standard aperto | Standard aperto |
| Situazione attuale | Attuale | Attuale |
| Si apre nel browser | Nessun browser | Nessun browser |
| Valutato al suo posto | ZIP, XZ | ZIP, GZ |
Non si scarta nulla. 7Z e TAR salvano il contenuto senza perdita: la conversione cambia la confezione, non la qualità, e si può ripetere senza che i danni si accumulino.
7-Zip e Keka leggono sia 7Z sia TAR, quindi puoi confrontare il risultato con l'originale senza un secondo programma.
TAR salva i campioni grezzi, quindi il file cresce parecchio senza guadagnare nulla. Ha senso solo quando un programma dall'altra parte non accetta 7Z, che è poi il motivo abituale.
TAR risale al 1979, descritto in POSIX.1-2001 ustar. tar, 7-Zip e Keka lo leggono.
TAR è stato pubblicato nel 1979 e 7Z nel 1999. Il più vecchio è in genere il file più sicuro da consegnare; il più recente fa lo stesso lavoro con meno byte.
Sì: questa conversione ha bisogno di un software che in un browser non può girare. Il file viaggia cifrato fino al nostro server, viene cancellato appena il lavoro finisce e il risultato dopo 60 minuti. Il lavoro lo fa 7-Zip, l’archiviatore, nella sua forma da riga di comando.
Sì, fino a 100 conversioni al giorno per file fino a 25 MB. Quell’unico limite esiste perché questa conversione gira su un server che paghiamo noi. Per il resto qui non c’è niente di limitato, e la filigrana non c’è in nessun caso. Il limite esiste perché 7-Zip ha bisogno di una nostra macchina per girare.
No. TAR conserva lo stesso contenuto senza buttare via niente: il risultato è identico in qualità all’originale. I file escono identici byte per byte. Quello che non sopravvive è ciò che il contenitore sapeva *su* di loro e non ciò che teneva *dentro* di loro: una password e, su alcuni formati, i permessi e le date originali.
TAR salva i campioni grezzi, quindi il file cresce parecchio senza guadagnare nulla. Ha senso solo quando un programma dall'altra parte non accetta 7Z, che è poi il motivo abituale.
Non si scarta nulla. 7Z e TAR salvano il contenuto senza perdita: la conversione cambia la confezione, non la qualità, e si può ripetere senza che i danni si accumulino.