Автор Тема: Създаване на многотомен архив под Дебиан?  (Прочетена 1173 пъти)

pastora

  • Напреднали
  • *****
  • Публикации: 100
  • Distribution: Debian
  • Window Manager: GNOME
  • С нами Бог!
    • Профил
Вероятно е срамно, но макар че вече 3 години ползвам само Linux, все още не знам възможно ли е, и ако да, то как да създам многотомен  архив под Linux.
Предпочитам обаче, да си призная и да попитам.
Текущата ми дистрибуция е Debian Lenny amd64 с Gnome.
Имам един 9GB файл, на който трябва да създам многотомен архив от поне 3 части. Форматът на архива (*.zip ,  *.tar , или друг) не е от съществено значение.
Питах Всеиндексиращия, но или аз не се справих с отговора му, или наистина не ми върна нищо подходящо.
Оставам с впечатлението, че е невъзможно, но истински се надявам да греша.
Разчитам на линк или обяснение от ваша страна. Английският не ми е сила, с руския се справям доста добре, но ако нямате нищо на български или руски, ще се опитам да се преборя и него.
Благодаря предварително на всички отзовали се! :)
Активен

...Но някои не обичат да знаят за своя български род, а се обръщат към чужда култура и чужд език и не се грижат за своя български език, но се учат да четат и говорят по гръцки и се срамуват да се нарекат българи. О, неразумни и юроде!...

Случайно да ви звучи актуално?

jet

  • Напреднали
  • *****
  • Публикации: 3469
  • Distribution: debian
  • Window Manager: kde
    • Профил
rar a -r -v700m archive.rar directory

Splitting an already existing archive:
  If foo.tar.gz has a size of 3 M bytes, the command
     split-tar -s 1M foo.tar.gz
(split-tar is a BASh script)
  will create the three tar.gz archives:
     foo-000.tar.gz
     foo-001.tar.gz
     foo-002.tar.gz
  which may be unpacked as usual:
     tar -xzvf foo-000.tar.gz
     tar -xzvf foo-001.tar.gz
     tar -xzvf foo-002.tar.gz
  and the the result would be the same as if one unpacks the initial archive
     tar -xzvf foo.tar.gz

Creating the archives directly from the sources:
     split-tar -s 10M -c foo.tar.gz /home/foo
will create tar archives:
     foo-000.tar.gz, ....  foo-<n>.tar.gz
containing foo's home directory.
Активен

..⢀⣴⠾⠻⢶⣦⠀
  ⣾⠁⢠⠒⠀⣿⡁
  ⢿⡄⠘⠷⠚⠋
  ⠈⠳⣄⠀⠀⠀⠀  Debian, the universal operating system.

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Никога не ми се е налагало да правя това действие, така че и аз не знаех как става, но ми стана интересно и се зарових по въпроса. Установих, че има няколко начина за извършване на това действие, но този, който ще ти покажа, ми се вижда най-сигурен и лесен.
За създаването на отделните томове са нужни две действия - създаване на (в примера) tar.gz архив и разделянето му на части. Това става със следните две команди
Код
GeSHi (Bash):
  1. tar -zcvf /път/до/папката/където/ще/се/създаде/архивът.tar.gz /път/до/папката/с/файловете/за/архивиране
  2. split --line-bytes=50m /път/до/новосъздадения/архив.tar.gz ТОМ_
Или като команда на един ред
Код
GeSHi (Bash):
  1. tar -zcvf /път/до/папката/където/ще/се/създаде/архивът.tar.gz /път/до/папката/с/файловете/за/архивиране && split --line-bytes=50m /път/до/новосъздадения/архив.tar.gz ТОМ_
В split командата, параметърът --line-bytes указва размера на томовете (в примера, 50МБ), а ТОМ_ е името, с което ще се кръщават томовете, като след долната черта автоматично ще се поставят различни букви за всеки том (например ТОМ_аа, ТОМ_ab, ТОМ_ac и т.н.).
За разархивирането на томовете са нужни следните две действия - обединяване на томовете и разархивиране на обединения архив. Това става със следните две команди
Код
GeSHi (Bash):
  1. cat ТОМ_* > ОБЕДИНЕН_АРХИВ.tar.gz
  2. tar -zxvf ОБЕДИНЕН_АРХИВ.tar.gz
Или като команда на един ред
Код
GeSHi (Bash):
  1. cat ТОМ_* > ОБЕДИНЕН_АРХИВ.tar.gz && tar -zxvf ОБЕДИНЕН_АРХИВ.tar.gz
Ако искаш tar.bz2 или tgz архив, нужно е да се сменят параметрите в tar командите при архивиране и разархивиране, съответно за дадения тип архив, но split и cat командите си остават същите. Командите split и cat остават същите и, ако решиш да използваш rar, zip или друг тип архив - заменяш само tar командите ;)

P.S.: А, писали сме заедно с jet :)
« Последна редакция: Dec 30, 2009, 00:30 от neter »
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

pastora

  • Напреднали
  • *****
  • Публикации: 100
  • Distribution: Debian
  • Window Manager: GNOME
  • С нами Бог!
    • Профил
Благодаря и на двама ви за отговорите! :)
Бързото ръководство на neter изключително ми помогна, тъй като беше и на български и посредством него напълно си реших въпроса!
Човек винаги има какво още да научи и ето че днес научих още нещо... ;) :)
Активен

...Но някои не обичат да знаят за своя български род, а се обръщат към чужда култура и чужд език и не се грижат за своя български език, но се учат да четат и говорят по гръцки и се срамуват да се нарекат българи. О, неразумни и юроде!...

Случайно да ви звучи актуално?