Разбитие tar.gz на части

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

koder
Сообщения: 3

Разбитие tar.gz на части

Сообщение koder »

Вот так

tar -zcf arr.tar.gz file.txt

создается один сжатый архив. А как его можно разбить к примеру на части по 5 мб?
Спасибо сказали:
Аватара пользователя
serg_sk
Бывший модератор
Сообщения: 2749
Статус: <3 Anime
ОС: Gentoo Linux <3

Re: Разбитие tar.gz на части

Сообщение serg_sk »

split?
Не ждали?! А я приперся!
Помойка Gentoo'шника
-------
Спасибо сказали:
Sleeping Daemon
Сообщения: 1450

Re: Разбитие tar.gz на части

Сообщение Sleeping Daemon »

koder писал(а):
25.07.2006 02:32
Вот так

tar -zcf arr.tar.gz file.txt

создается один сжатый архив. А как его можно разбить к примеру на части по 5 мб?

-L, --tape-length=NUMBER
change tape after writing NUMBER x 1024 bytes
Спасибо сказали:
Аватара пользователя
alv
Бывший модератор
Сообщения: 7275
Статус: Пенсионер в законе
ОС: Cintu

Re: Разбитие tar.gz на части

Сообщение alv »

ИМХО split удобнее, потому как допускает любые единицы измерения
Спасибо сказали:
Аватара пользователя
Liksys
Сообщения: 2910

Re: Разбитие tar.gz на части

Сообщение Liksys »

сплит рулит. Особенно для разбиения архива для записи на диски.
Спасибо сказали:
Аватара пользователя
alv
Бывший модератор
Сообщения: 7275
Статус: Пенсионер в законе
ОС: Cintu

Re: Разбитие tar.gz на части

Сообщение alv »

Liksys писал(а):
25.07.2006 11:15
сплит рулит. Особенно для разбиения архива для записи на диски.

именно
особенно во FreeBSD, где можно через burncd писать куски архивов без создания образа
Спасибо сказали:
Аватара пользователя
Jan2ary
Бывший модератор
Сообщения: 630
Статус: Тщедушный очкарик

Re: Разбитие tar.gz на части

Сообщение Jan2ary »

Интересным видом извращения может послужить использование dd :)
Не шалю, никого не трогаю, починяю примус...
Спасибо сказали:
Аватара пользователя
Liksys
Сообщения: 2910

Re: Разбитие tar.gz на части

Сообщение Liksys »

Jan2ary писал(а):
25.07.2006 12:43
Интересным видом извращения может послужить использование dd :)

или написание собственных программ :)
Спасибо сказали:
Аватара пользователя
alv
Бывший модератор
Сообщения: 7275
Статус: Пенсионер в законе
ОС: Cintu

Re: Разбитие tar.gz на части

Сообщение alv »

Jan2ary писал(а):
25.07.2006 12:43
Интересным видом извращения может послужить использование dd :)

почему извращение? лет не помню сколько назад именно такой метод рекомендовали для бэкапов на дискеты (правда, не помню кто и где)

Времена меняются, и мы меняемся с ними
(с) Древнеримские греки
Спасибо сказали:
Аватара пользователя
vg2.0
Сообщения: 832
Статус: *BSD admin ;)
ОС: *BSD =)

Re: Разбитие tar.gz на части

Сообщение vg2.0 »

to koder

Для лучшего сжатия лучше пользоваться так, тогда и кусков будет меньше. ;)

Код: Выделить всё

tar cjfv archiv.tar.bz2 file.txt
FreeBSD 6-stable
FreeBSD 5.5-stable
Спасибо сказали:
koder
Сообщения: 3

Re: Разбитие tar.gz на части

Сообщение koder »

ого скоко ответов. не на каждом форуме так. спасибо всем
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Разбитие tar.gz на части

Сообщение t.t »

(alv @ Jul 25 2006, в 10:19) писал(а):особенно во FreeBSD, где можно через burncd писать куски архивов без создания образа
А в чём конкретно прелесть записи через burncd? И как это "без создания образа"?
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
Shura
Сообщения: 1537
Статус: Оказывается и без KDE есть жизнь
ОС: FreeBSD 8.0-RC2

Re: Разбитие tar.gz на части

Сообщение Shura »

прелесть записи через burncd заключается в том, что он (burncd) входит в базовую комплектацию
Rock'n'roll мертв © БГ
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Разбитие tar.gz на части

Сообщение sash-kan »

про burncd
или я чего-то не понимаю, или имеется в виду запись на диск не образа файловой системы, а произвольного потока байтов.
ну так хотя бы тем же самым cdrecord:

Код: Выделить всё

cdrecord some.file
а потом прочитать непосредственно с устройства:

Код: Выделить всё

cp /dev/hd? some.file
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Разбитие tar.gz на части

Сообщение sash-kan »

в принципе, никакой черной магии с iso-образом нет.
берется содержимое файлов, собирается в одну большую кучу и обрамляется служебной информацией.
вот вам и iso-образ.
попробуйте такую процедуру:
mkdir /tmp/try
perl -e 'for($i=0;$i<100000;$i++){printf"content%09d",$i}'>/tmp/try/file.1
perl -e 'for($i=200000;$i<300000;$i++){printf"content%09d",$i}'>/tmp/try/file.2
mkisofs -o /tmp/try.iso /tmp/try/
создаются два файла, содержащие строки
content000000000
...
content000099999
и
content000200000
...
content000299999
и из них формируется iso-образ.
а теперь самое интересное. посмотрите на них чем-нибудь вроде hexdump:
hexdump -C /tmp/try.iso |head -n 60
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00008000 01 43 44 30 30 31 01 00 4c 49 4e 55 58 20 20 20 |.CD001..LINUX |
00008010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00008020 20 20 20 20 20 20 20 20 43 44 52 4f 4d 20 20 20 | CDROM |
00008030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00008040 20 20 20 20 20 20 20 20 00 00 00 00 00 00 00 00 | ........|
00008050 ca 06 00 00 00 00 06 ca 00 00 00 00 00 00 00 00 |................|
00008060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00008070 00 00 00 00 00 00 00 00 01 00 00 01 01 00 00 01 |................|
00008080 00 08 08 00 0a 00 00 00 00 00 00 0a 13 00 00 00 |................|
00008090 00 00 00 00 00 00 00 15 00 00 00 00 22 00 17 00 |............"...|
000080a0 00 00 00 00 00 17 00 08 00 00 00 00 08 00 6a 09 |..............j.|
000080b0 0a 11 1f 2c 0c 02 00 00 01 00 00 01 01 00 20 20 |...,.......... |
000080c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
*
00008230 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 4b | MK|
00008240 49 53 4f 46 53 20 49 53 4f 20 39 36 36 30 2f 48 |ISOFS ISO 9660/H|
00008250 46 53 20 46 49 4c 45 53 59 53 54 45 4d 20 42 55 |FS FILESYSTEM BU|
00008260 49 4c 44 45 52 20 26 20 43 44 52 45 43 4f 52 44 |ILDER & CDRECORD|
00008270 20 43 44 2d 52 2f 44 56 44 20 43 52 45 41 54 4f | CD-R/DVD CREATO|
00008280 52 20 28 43 29 20 31 39 39 33 20 45 2e 59 4f 55 |R © 1993 E.YOU|
00008290 4e 47 44 41 4c 45 20 28 43 29 20 31 39 39 37 20 |NGDALE © 1997 |
000082a0 4a 2e 50 45 41 52 53 4f 4e 2f 4a 2e 53 43 48 49 |J.PEARSON/J.SCHI|
000082b0 4c 4c 49 4e 47 20 20 20 20 20 20 20 20 20 20 20 |LLING |
000082c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
*
00008320 20 20 20 20 20 20 20 20 20 20 20 20 20 32 30 30 | 200|
00008330 36 30 39 31 30 31 37 33 34 35 34 30 30 0c 32 30 |6091017345400.20|
00008340 30 36 30 39 31 30 31 37 33 34 35 34 30 30 0c 30 |06091017345400.0|
00008350 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 00 |000000000000000.|
00008360 32 30 30 36 30 39 31 30 31 37 33 34 35 34 30 30 |2006091017345400|
00008370 0c 01 00 20 20 20 20 20 20 20 20 20 20 20 20 20 |... |
00008380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
*
00008570 20 20 20 00 00 00 00 00 00 00 00 00 00 00 00 00 | .............|
00008580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00008800 ff 43 44 30 30 31 01 00 00 00 00 00 00 00 00 00 |.CD001..........|
00008810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00009800 01 00 17 00 00 00 01 00 00 00 00 00 00 00 00 00 |................|
00009810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
0000a800 01 00 00 00 00 17 00 01 00 00 00 00 00 00 00 00 |................|
0000a810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
0000b800 22 00 17 00 00 00 00 00 00 17 00 08 00 00 00 00 |"...............|
0000b810 08 00 6a 09 0a 11 1f 2c 0c 02 00 00 01 00 00 01 |..j....,........|
0000b820 01 00 22 00 17 00 00 00 00 00 00 17 00 08 00 00 |..".............|
0000b830 00 00 08 00 6a 09 0a 11 1f 2c 0c 02 00 00 01 00 |....j....,......|
0000b840 00 01 01 01 2a 00 18 00 00 00 00 00 00 18 00 6a |....*..........j|
0000b850 18 00 00 18 6a 00 6a 09 0a 11 22 32 0c 00 00 00 |....j.j..."2....|
0000b860 01 00 00 01 08 46 49 4c 45 2e 31 3b 31 00 2a 00 |.....FILE.1;1.*.|
0000b870 26 03 00 00 00 00 03 26 00 6a 18 00 00 18 6a 00 |&......&.j....j.|
0000b880 6a 09 0a 11 22 28 0c 00 00 00 01 00 00 01 08 46 |j..."(.........F|
0000b890 49 4c 45 2e 32 3b 31 00 00 00 00 00 00 00 00 00 |ILE.2;1.........|
0000b8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
0000c000 63 6f 6e 74 65 6e 74 30 30 30 30 30 30 30 30 30 |content000000000|

во-о-от он наш первый файлик и начался!
смотрим дальше.
hexdump -C /tmp/try.iso |sed -ne '/099999/,+3p'
001929f0 63 6f 6e 74 65 6e 74 30 30 30 30 39 39 39 39 39 |content000099999|
00192a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00193000 63 6f 6e 74 65 6e 74 30 30 30 32 30 30 30 30 30 |content000200000|

вот он закончился и начался второй.
а где же конец второго?
а вот он, да после него и нету ничего кроме набора нулей:
hexdump -C /tmp/try.iso |sed -ne '/299999/,+4p'
003199f0 63 6f 6e 74 65 6e 74 30 30 30 32 39 39 39 39 39 |content000299999|
00319a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00365000

никакой черной магии. сплошная арифметика и информатика.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Разбитие tar.gz на части

Сообщение t.t »

(sash-kan @ Sep 10 2006, в 17:18) писал(а):про burncd
или я чего-то не понимаю, или имеется в виду запись на диск не образа файловой системы, а произвольного потока байтов.
ну так хотя бы тем же самым cdrecord
Я понял примерно так же и именно на это и намёкивал.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали: