Com dividir l'arxiu tar gran en diversos fitxers de certa mida


Si us preocupa transferir o carregar fitxers grans a través d'una xarxa, no us preocupeu més, perquè podeu moure els vostres fitxers en bits per fer front a velocitats de xarxa lentes dividint-los en blocs d'una mida determinada.

En aquesta guia pràctica, explorarem breument la creació de fitxers d'arxiu i dividir-los en blocs d'una mida seleccionada. Utilitzarem tar, una de les utilitats d'arxiu més populars a Linux i també aprofitarem la utilitat split per ajudar-nos a dividir els nostres fitxers d'arxiu en petits trossos.

Abans d'avançar, prenem nota de com es poden utilitzar aquestes utilitats, la sintaxi general d'una ordre tar i split és la següent:

# tar options archive-name files 
# split options file "prefix”

Aprofundim ara en alguns exemples per il·lustrar el concepte principal d'aquest article.

Exemple 1: primer de tot podem crear un fitxer d'arxiu de la següent manera:

$ tar -cvjf home.tar.bz2 /home/aaronkilik/Documents/* 

Per confirmar que s'ha creat el fitxer d'arxiu i comprovar-ne la mida, podem utilitzar l'ordre ls:

$ ls -lh home.tar.bz2

A continuació, utilitzant la utilitat dividida, podem dividir el fitxer d'arxiu home.tar.bz2 en petits blocs de mida 10 MB de la següent manera:

$ split -b 10M home.tar.bz2 "home.tar.bz2.part"
$ ls -lh home.tar.bz2.parta*

Com podeu veure a la sortida de les ordres anteriors, l'arxiu tar s'ha dividit en quatre parts.

Nota: a l'ordre dividit anterior, l'opció -b s'utilitza per especificar la mida de cada bloc i el \home.tar.bz2.part\ és el prefix al nom de cada fitxer de bloc creat després de dividir-lo.

Exemple 2: semblant al cas anterior, aquí podem crear un fitxer d'arxiu d'un fitxer d'imatge ISO de Linux Mint.

$ tar -cvzf linux-mint-18.tar.gz linuxmint-18-cinnamon-64bit.iso 

A continuació, seguiu els mateixos passos de l'exemple 1 anterior per dividir el fitxer d'arxiu en petits fragments de mida 200 MB.

$ ls -lh linux-mint-18.tar.gz 
$ split -b 200M linux-mint-18.tar.gz "ISO-archive.part"
$ ls -lh ISO-archive.parta*

Exemple 3: en aquest cas, podem utilitzar una canonada per connectar la sortida de l'ordre tar per dividir-la de la següent manera:

$ tar -cvzf - wget/* | split -b 150M - "downloads-part"

Confirmeu els fitxers:

$ ls -lh downloads-parta*

En aquest darrer exemple, no hem d'especificar un nom d'arxiu com heu observat, simplement utilitzeu un signe -.

Com unir fitxers tar després de dividir-los

Després de dividir correctament els fitxers tar o qualsevol fitxer gran a Linux, podeu unir-los mitjançant l'ordre cat. Utilitzar gat és el mètode més eficient i fiable per realitzar una operació d'unió.

Per unir tots els blocs o fitxers tar, emetem l'ordre següent:

# cat home.tar.bz2.parta* >backup.tar.gz.joined

Podem veure que després d'executar l'ordre cat, combina tots els blocs petits que havíem creat anteriorment al fitxer d'arxiu tar original de la mateixa mida.

Conclusió

Tota la idea és senzilla, com hem il·lustrat més amunt, només cal saber i entendre com utilitzar les diferents opcions de les utilitats tar i split.

Podeu consultar les pàgines d'entrada manual de per obtenir més informació sobre altres opcions i realitzar algunes operacions complexes o podeu consultar l'article següent per obtenir més informació sobre l'ordre tar.

Per a qualsevol pregunta o consells addicionals, podeu compartir els vostres pensaments a través de la secció de comentaris a continuació.