GNU/Linux >> Znalost Linux >  >> Linux

Jak komprimovat soubory s omezením velikosti?

Řešení 1:

Můžete použít „rozdělený archiv funkce "zip " pomocí "--split-size ".

Z manuálové stránky "zip" ("man zip "):

(...)

Jedním z použití rozdělených archivů je ukládání velkého archivu na vícenásobné odstranění‐
schopná média. Pro rozdělený archiv s 20 rozdělenými soubory jsou soubory typ‐
pojmenované (nahraďte ARCHIV názvem vašeho archivu) AR‐
CHIVE.z01, ARCHIVE.z02, ..., ARCHIVE.z19, ARCHIVE.zip. Všimněte si, že
poslední soubor je soubor .zip.

(...)

-s splitsize
--split-size splitsize

Velikost rozdělení je číslo volitelně následované násobitelem.
Aktuálně musí být číslo celé číslo. Násobitel může
aktuálně může být jedna z k (kilobajtů), m (megabajtů), g (gigabajtů),
nebo t (terabajty). Protože 64k je minimální velikost rozdělení, čísla
bez násobičů výchozí na megabajty. Například vytvořit
snědl rozdělený archiv zvaný foo s obsahem baru
adresář s rozdělením 670 MB, který by mohl být užitečný pro vypalování
na discích CD příkaz:

                zip -s 670m -r foo bar

lze použít.

Takže vytvořte rozdělený archiv zip , můžete provést následující ("-r " je "rekurzivní" přepínač pro zahrnutí podadresářů adresáře):

$ zip -r -s 10m archive.zip directory/

Pro rozbalení souboru , "zip " manpage vysvětluje, že byste měli použít přepínač "-s 0`":

(...)

 zip -s 0 split.zip --out unsplit.zip

převede rozdělený archiv na archiv s jedním souborem.

(...)

Nejprve tedy "oddělíte" soubor ZIP pomocí přepínače "-s 0":

$ zip -s 0 archive.zip --out unsplit.zip

... a poté rozbalte nerozdělený soubor:

$ unzip unsplit.zip

Řešení 2:

tar -czvf - /path/to/files | split -b 10M - archive.tar.gz

Poskytne vám několik souborů:

archive.tar.gzaa

archive.tar.gzab

...

Které pak lze dekomprimovat pomocí:

cat archive.tar.* | tar -xzvf -

Řešení 3:

Zde je návod, jak jsem to udělal pro 5GB soubor (rozdělený na 1GB vs 10MB, jak se OP zeptal)...

Příklad: Chcete-li rozdělit 5GB soubor do 1GB souborů kopírovat na FAT32 USB (název souboru "FIVE_GB_FILE.ISO")

Krok 1: zip soubor (bez komprese, stejný adresář jako zdrojový soubor)

zip -0 FIVE_GB_FILE.ZIP FIVE_GB_FILE.ISO

Krok 2 :rozdělte 5GB soubor zip na 1GB soubory zip

zip -s 1000m SPLIT_5GB_FILES FIVE_GB_FILE.ZIP

Voila... měli byste mít následující 1GB soubory (A originál A zip z kroku 1)

SPLIT_5GB_FILES.zip
SPLIT_5GB_FILES.Z01
SPLIT_5GB_FILES.Z02
SPLIT_5GB_FILES.Z03
SPLIT_5GB_FILES.Z04

Linux
  1. Jak archivovat a komprimovat soubory na Linuxu

  2. Jak komprimovat více souborů v systému Linux

  3. Jak mohu vypsat soubory v archivu zip, aniž bych jej dekomprimoval?

  1. Jak šifrovat soubory pomocí gocryptfs na Linuxu

  2. Jak rozdělit velký archiv „tar“ na více souborů určité velikosti

  3. Jak komprimovat soubory a adresáře v systému Linux (s příklady)

  1. Jak rozbalit soubory v Linuxu (s příklady)

  2. Jak archivovat soubory a adresáře v Linuxu [část 2]

  3. Práce se soubory ZIP v Linuxu