Есть архив в формате 7z, который делал с опцией -v1g, т.к. на одну болванку не влазит. И вдруг пробила ностальгия по временам MS-DOS, когда можно было делать многотомный архив на несколько дискет, и программа-архиватор сама спрашивала вставлять следующую/нужную дискетку для следующего тома — хотя бы при восстановлении, т.к. для архивации надо писать на DVD, что с точки зрения файловой системы процесс нетривиальный. Не хочется перегонять вместительный архив во временную папку — для того, чтобы потом его развернуть. Не хочется и писать костылеподобные скрипты для этого дела (если вообще они и возможны в данном случае). Ведь так удобней, и экономится дисковое пространство. В случае с тем же архиватором 7-zip при вставленном первом носителе выдаёт вот такую ошибку при тестировании:
askinfra@infra:/media/cdrom0$ 7za t "./vpupkin-20130808-001-dvd.7z.*"
7-Zip (A) [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
p7zip Version 9.20 (locale=ru_RU.utf8,Utf16=on,HugeFiles=on,8 CPUs)
Processing archive: ./vpupkin-20130808-001-dvd.7z.001
Error: E_FAIL
Processing archive: ./vpupkin-20130808-001-dvd.7z.002
Error: Can not open file as archive
Processing archive: ./vpupkin-20130808-001-dvd.7z.003
Error: Can not open file as archive
Processing archive: ./vpupkin-20130808-001-dvd.7z.004
Error: Can not open file as archive
Archives: 4
Archive Errors: 4
$
$ 7za t "./vpupkin-20130808-001-dvd.7z.*"
7-Zip (A) [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
p7zip Version 9.20 (locale=ru_RU.utf8,Utf16=on,HugeFiles=on,8 CPUs)
Processing archive: ./vpupkin-20130808-001-dvd.7z.001
Testing vpupkin-20130808-001/sda.img
Testing vpupkin-20130808-001/sda.img.log
Testing vpupkin-20130808-001/dev-sda.md5
Testing vpupkin-20130808-001/sda.img.md5
Testing vpupkin-20130808-001
Everything is Ok
Folders: 1
Files: 4
Size: 500107862318
Compressed: 1073741824
$
Но этого мало: он зачем-то держит открытыми не нужный в данный момент файл, а все тома архива сразу (по смещению видно, какие файлы уже не нужны, т.к. указатель стоит в самом конце файла тома, т.е. на позиции 0x40000000 Байт == 1GiB):
$ lsof -o | grep 7z
7za 8641 askinfra cwd DIR 253,3 131728948 /path0/to/vpupkin-20130808-001-from-ext
7za 8641 askinfra rtd DIR 8,2 2 /
7za 8641 askinfra txt REG 8,2 2895985 /usr/lib/p7zip/7za
7za 8641 askinfra mem REG 8,2 1974848 /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache
7za 8641 askinfra mem REG 8,2 1977123 /usr/lib/locale/locale-archive
7za 8641 askinfra mem REG 8,2 131607 /lib/x86_64-linux-gnu/libc-2.13.so
7za 8641 askinfra mem REG 8,2 131577 /lib/x86_64-linux-gnu/libgcc_s.so.1
7za 8641 askinfra mem REG 8,2 131604 /lib/x86_64-linux-gnu/libm-2.13.so
7za 8641 askinfra mem REG 8,2 1967990 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.17
7za 8641 askinfra mem REG 8,2 131595 /lib/x86_64-linux-gnu/libpthread-2.13.so
7za 8641 askinfra mem REG 8,2 131610 /lib/x86_64-linux-gnu/ld-2.13.so
7za 8641 askinfra 0u CHR 136,3 0t0 6 /dev/pts/3
7za 8641 askinfra 1u CHR 136,3 0t0 6 /dev/pts/3
7za 8641 askinfra 2u CHR 136,3 0t0 6 /dev/pts/3
7za 8641 askinfra 3r REG 253,3 0x40000000 131728950 /path/to/vpupkin-20130808-001-dvd.7z.001
7za 8641 askinfra 4r REG 253,3 0x40000000 131728951 /path/to/vpupkin-20130808-001-dvd.7z.002
7za 8641 askinfra 5r REG 253,3 0x40000000 131728952 /path/to/vpupkin-20130808-001-dvd.7z.003
7za 8641 askinfra 6r REG 253,3 0x40000000 131728953 /path/to/vpupkin-20130808-001-dvd.7z.004
7za 8641 askinfra 7r REG 253,3 0x40000000 131728954 /path/to/vpupkin-20130808-001-dvd.7z.005
7za 8641 askinfra 8w FIFO 0,8 0t0 17036066 pipe
7za 8641 askinfra 9r REG 253,3 0x40000000 131728955 /path/to/vpupkin-20130808-001-dvd.7z.006
7za 8641 askinfra 10r REG 253,3 0x40000000 131728956 /path/to/vpupkin-20130808-001-dvd.7z.007
7za 8641 askinfra 11r REG 253,3 0x40000000 131728957 /path/to/vpupkin-20130808-001-dvd.7z.008
7za 8641 askinfra 12r REG 253,3 0x40000000 131728958 /path/to/vpupkin-20130808-001-dvd.7z.009
7za 8641 askinfra 13r REG 253,3 0x40000000 131728959 /path/to/vpupkin-20130808-001-dvd.7z.010
7za 8641 askinfra 14r REG 253,3 0x40000000 131728960 /path/to/vpupkin-20130808-001-dvd.7z.011
7za 8641 askinfra 15r REG 253,3 0x40000000 131728961 /path/to/vpupkin-20130808-001-dvd.7z.012
7za 8641 askinfra 16r REG 253,3 0x40000000 131728962 /path/to/vpupkin-20130808-001-dvd.7z.013
7za 8641 askinfra 17r REG 253,3 0x40000000 131728963 /path/to/vpupkin-20130808-001-dvd.7z.014
7za 8641 askinfra 18r REG 253,3 0x15f00000 131728964 /path/to/vpupkin-20130808-001-dvd.7z.015
7za 8641 askinfra 19r REG 253,3 0t0 131728965 /path/to/vpupkin-20130808-001-dvd.7z.016
7za 8641 askinfra 20r REG 253,3 0t0 131728966 /path/to/vpupkin-20130808-001-dvd.7z.017
7za 8641 askinfra 21r REG 253,3 0t0 131728967 /path/to/vpupkin-20130808-001-dvd.7z.018
7za 8641 askinfra 22r REG 253,3 0t0 131728968 /path/to/vpupkin-20130808-001-dvd.7z.019
7za 8641 askinfra 23r REG 253,3 0t0 131728969 /path/to/vpupkin-20130808-001-dvd.7z.020
7za 8641 askinfra 24r REG 253,3 0t0 131728970 /path/to/vpupkin-20130808-001-dvd.7z.021
7za 8641 askinfra 25r REG 253,3 0t0 131728971 /path/to/vpupkin-20130808-001-dvd.7z.022
7za 8641 askinfra 26r REG 253,3 0t0 131728972 /path/to/vpupkin-20130808-001-dvd.7z.023
7za 8641 askinfra 27r REG 253,3 0t0 131728973 /path/to/vpupkin-20130808-001-dvd.7z.024
7za 8641 askinfra 28r REG 253,3 0t0 131728974 /path/to/vpupkin-20130808-001-dvd.7z.025
7za 8641 askinfra 29r REG 253,3 0t0 131728975 /path/to/vpupkin-20130808-001-dvd.7z.026
7za 8641 askinfra 30r REG 253,3 0t0 131728976 /path/to/vpupkin-20130808-001-dvd.7z.027
7za 8641 askinfra 31r REG 253,3 0t0 131728977 /path/to/vpupkin-20130808-001-dvd.7z.028
7za 8641 askinfra 32r REG 253,3 0t0 131728978 /path/to/vpupkin-20130808-001-dvd.7z.029
7za 8641 askinfra 33r REG 253,3 0t0 131728979 /path/to/vpupkin-20130808-001-dvd.7z.030
7za 8641 askinfra 34r REG 253,3 0t0 131728980 /path/to/vpupkin-20130808-001-dvd.7z.031
7za 8641 askinfra 35r REG 253,3 0t0 131728981 /path/to/vpupkin-20130808-001-dvd.7z.032
7za 8641 askinfra 36r REG 253,3 0t0 131728982 /path/to/vpupkin-20130808-001-dvd.7z.033
7za 8641 askinfra 37r REG 253,3 0t0 131728983 /path/to/vpupkin-20130808-001-dvd.7z.034
7za 8641 askinfra 38r REG 253,3 0t0 131728984 /path/to/vpupkin-20130808-001-dvd.7z.035
7za 8641 askinfra 39r REG 253,3 0t0 131728985 /path/to/vpupkin-20130808-001-dvd.7z.036
7za 8641 askinfra 40r REG 253,3 0t0 131728986 /path/to/vpupkin-20130808-001-dvd.7z.037
7za 8641 askinfra 41r REG 253,3 0t0 131728987 /path/to/vpupkin-20130808-001-dvd.7z.038
7za 8641 askinfra 42r REG 253,3 0x35a18796 131728988 /path/to/vpupkin-20130808-001-dvd.7z.039
$