Ubuntu: Как разбить архив на части?

Не так давно задавался таким вопросом и нашел на него ответ. Есть два принципиально отличающихся друг от друга способа, для лучшего понимания приведу небольшую классификацию:

1. архивация с разбиением по частям:
— 7zip;
— rar;
2. разбиение на части готового архива (в примере будет tar.gz).

Давайте сначала разберемся с первым способом. Чтобы им воспользоваться, в вашей системе должны быть установлены 7zip и/или rar (в зависимости от того, чем хотите пользоваться):

Code
sudo aptitude install p7zip-full
sudo aptitude install rar

Для примера представим с вами, что у нас в домашней папке есть какой-либо фильм в формате AVI (film.avi), который будет весить 1,37 Gb и из которого в конечном итоге мы хотим получить архив того или иного формата (archive.*), разбитый на части по 400 Mb.

Архивация с помощью 7zip

Code
7z a -v400m ./archive.7z ./film.avi

-v — это values, то есть величина архива, имеет синтаксис -v{size}[b,k,m,g]
400m — это 400 мегабайт, вместо m можно использовать b (байты), k (килобайты) или g (гигабайты). Далее обозначение размера частей будет по такому же принципу.

В результате мы получим несколько архивов вида: archive.7z.001, archive.7z.002, archive.7z.003 и так далее. Для распаковки откройте первый архив (все архивы при этом должны находиться в одной папке).

Архивация с помощью rar

Code
rar a -v400m archive ./film.avi

В результате получаем несколько архивов вида: archive.part1.rar, archive.part2.rar, archive.part3.rar и так далее. Для распаковки откройте первый архив.

Разбиение на части готового архива
Более линуксовый способ — разбить на части какой-нибудь tar. Для примера возьмем тот же фильм, только на этот раз представим, что мы уже запаковали его в tar.gz (с помощью какого-нибудь менеджера архивов или того же терминала). Способ этот отличается еще и тем, что архив, разбитый таким образом на части, потом придется еще и склеивать, чтобы извлечь из него содержимое.

Разбиваем архив на части по 400 мегабайт:

Code
split -a 1 -b 400m ./film.tar.gz ./film.tar.gz.

Точка в конце не случайно. В результате мы получим несколько архивов вида: film.tar.gz.a, film.tar.gz.b, film.tar.gz.c и так далее.

Склеиваем нашу расчлененку:

Code
cat ./film.tar.gz.* >film.tar.gz

Где film.tar.gz — имя склеенного архива, который получится в результате.
теги: TAR, Ubuntu, RAR, 7zip, Linux
25.02.2010, просмотров: 1625
Комментарии (9):
0 + –
1 Alter Ego 02.03.2010, 05:26
А как насчёт файлов с кириллическими имена в архивах(чтение и создание)?

0 + –
2 weissсайт 02.03.2010, 18:39
А что с ними?

0 + –
3 Guest 02.03.2010, 19:59
>>> А что с ними?
В zip-архивах созданных на Win, при открытии и распаковке, файлы с кириллическими именами имеют названия типа «????? ??????????????».

0 + –
4 weissсайт 02.03.2010, 23:32
Ну разумеется, кодировки же разные.

0 + –
5 Guest 03.03.2010, 02:12
>>> Ну разумеется
Эээ…это значит ничего сделать с этим нельзя и остаётся лишь дальше жрать кактус?

0 + –
6 weissсайт 03.03.2010, 15:18
Можно, наверно, но я не знаю как, потому что не разбирался.

0 + –
7 Alter Ego 07.04.2010, 12:00
в Midnight Commander (>=4.7) с кодировками в архиве можно справиться выбором кодировки имен файлов через Alt-E.

0 + –
8 Guest 05.05.2010, 13:32
А можете ответить на очень каверзный вопрос? Мне надо разбить файл, но чтобы сохранилось только одна часть. Поясню, есть файл 2500Мб, надо запустить архивацию (или просто разрез, это не суть важно), но так, чтобы сохранилась к примеру только вторая часть (типа *.part2.rar), а остальные ушли в ноль. При ограниченном свободном месте это очень важная функция. Вот бы её замутить ...

0 + –
9 weissсайт 05.05.2010, 18:08
Может разбить на части как обычно и удалить лишнее?))

   вход (uID)
angrybiggrincoolcrydryhappysadsmilesurprisedtonguewackowink