Come la maggior parte delle moderne distribuzioni Linux, Ubuntu viene fornito con molti strumenti per impostazione predefinita per ogni esigenza. Tra questi, troverai un gestore di archivi con il quale puoi archiviare file in pacchetti compressi. Tuttavia, c’è un piccolo problema: potrebbero essere ancora troppo grandi per quello che ti serve che siano. In questi casi, la soluzione migliore è comprimere e dividere il file in parti più piccole.
Sebbene Ubuntu abbia gli strumenti per fare esattamente questo, sfortunatamente, Archive Manager non è il migliore per tali attività. In quel momento dovrai rivolgerti al terminale. Per fortuna, il processo è semplice e puoi sia comprimere che dividere i tuoi file in blocchi più piccoli con un singolo comando. Vediamo come.
Conosci la tua compressione
Prima di iniziare, dobbiamo spiegare qualcosina su tutte le forme di compressione che finiranno per farti risparmiare tempo prezioso: non si accumula.
Con questo, intendiamo che se hai un sacco di file altamente compressi, non guadagnerai molto ricomprimendoli con un diverso tipo di compressione. Supponi di voler condividere file come immagini JPG già altamente compresse, file video MP4 o altri archivi compressi. In tal caso, non ha senso utilizzare le impostazioni di compressione più elevate disponibili. È meglio selezionare per “memorizzarli” (senza compressione) in un archivio.
Per i file non compressi o leggermente compressi, tuttavia, come file TXT, database di grandi dimensioni o supporti non compressi, l’impostazione di compressione più alta può produrre file radicalmente più piccoli.
Il classico approccio Linux
Supponiamo che tu voglia comprimere un file come l’ISO di Windows 10 usato qui. Puoi rivolgerti agli strumenti classici come tar
, split
, e bzip
per comprimerlo e dividerlo in file più piccoli.
1. Avvia il tuo terminale. Il modo più rapido è premendo CTRL + ALT + T. Quindi, spostati nella cartella in cui hai il file di grandi dimensioni che desideri memorizzare in un archivio diviso. Per mantenere le cose pulite, crea una sottocartella chiamata “split”, dove memorizzeremo l’archivio diviso, con:
mkdir split
Quindi, inseriscilo con:
cd split
- Utilizzare il seguente comando per comprimere il file o la cartella in un archivio diviso:
tar -cvj FILENAME | split -b SIZE_OF_PARTS -d - "BASE NAME OF ARCHIVE"
Per la nostra ISO di Windows 10, il nostro comando era simile a:
tar -cvj ~/Data/Windows10.iso | split -b 50m -d - "Windows10_ISO.tar.bz."
- “~ / Data / Windows10.iso” è il percorso e il nome del file che volevamo comprimere.
-
split -b 50m
afferma che vogliamo dividere il nostro archivio in parti da 50 MB. Modifica quel valore per riflettere la dimensione che preferisci. -
Windows10_ISO.tar.bz.
è il nome del file di archivio diviso. Notare che c’è un punto in più alla sua estremità. Questo perché ogni blocco avrà anche un numero alla fine, che riflette la sua posizione nella sequenza.
Subito dopo, a seconda delle dimensioni dei file che stai comprimendo e della velocità del tuo computer, troverai le parti del tuo archivio diviso nella sottocartella divisa.
Se controlli la loro dimensione collettiva, sarà inferiore al totale non compresso.
Per recuperare i file originali, dovrai prima riassemblare tutte le parti in un unico archivio con:
cat BASE_NAME_OF_PARTS.* > BASE_NAME_OF_PARTS.bz
Quindi, estrai il suo contenuto con:
tar -xvj REASSEMBLED_ARCHIVE.bz
Nel nostro caso, i due comandi precedenti sarebbero simili a questo:
cat Windows10_ISO.tar.bz.* tar -xvj Windows10_ISO.tar.bz
Tuttavia, possiamo fare di meglio utilizzando uno strumento di compressione più recente, come vedrai in seguito.
La moderna soluzione ad alta compressione
7Zip è un archiviatore moderno che offre tassi di compressione elevati e viene fornito con il supporto per archivi divisi. Pertanto, è una soluzione migliore per l’attività da svolgere. Tuttavia, Ubuntu non viene fornito con esso. Per installare la sua versione Linux, p7zip, usa:
sudo apt install p7zip-full
Comprimere i tuoi file in un archivio diviso con esso è ancora più semplice della soluzione predefinita che abbiamo visto prima. Devi solo indicare la dimensione di ogni file diviso, il nome del file di archivio di base e cosa vuoi comprimere, con:
7z -vSIZE_OF_SPLIT_FILES a ARCHIVE_FILENAME FILE_TO_COMPRESS
Per il nostro esempio dell’ISO di Windows 10, per comprimerlo in un archivio multipart in cui ogni parte avrebbe una dimensione di 50 MBsin, il comando ha il seguente aspetto:
7z -v50m a Windows10_iso.7z ~/Data/Windows10.iso
Dopo un po ‘, troverai i risultati nella sottocartella split e avranno dimensioni inferiori rispetto a se avessi usato l’approccio tar-split-bzip che abbiamo visto prima.
Per recuperare i tuoi file, estrai solo il primo file della sequenza e 7z eseguirà automaticamente il resto:
7z e FIRST_PART_OF_COMPRESSED_ARCHIVE
Nel nostro esempio, questo era:
7z e Windows10_iso.7z.001
Vale anche la pena notare che, al giorno d’oggi, hai molte più opzioni disponibili per creare archivi compressi con strumenti come pigz o plzip.
Trovate pratici gli archivi divisi compressi? Quali strumenti di compressione stai utilizzando per gestirli? Ditecelo nella sezione commenti qui sotto.
Relazionato:
- Come comprimere ed estrarre file su Android utilizzando ZArchiver
- Come comprimere gli archivi utilizzando tutti i core della CPU con Tar
- Come semplificare la compressione 7z con gli alias Bash