может, кому пригодится
s=0; for i in $(seq 0 15); do n=$(printf %02d $i); f=$(find /dsk/skognen/image.iso/ -iname "*mkv.$n"); d=$(losetup -s -f $f); l=$(blockdev --getsize $d); if [ $l != 0 ]; then echo "$s $l linear $d 0"; fi; s=$(($s+$l)); done | dmsetup create mdvd
здесь ищутся файлы наподобие
/dsk/skognen/image.iso/dvd0/Spartacus.mkv.00
.....
/dsk/skognen/image.iso/dvd1/Spartacus.mkv.08
которые затем закольцовываются в блочные устройства. Попутно скрипт создаёт таблицу для device-mapper'а со строками вида
$start $liength linear $device $offset(=0)
ну, и dmsetup отображает все куски в одно устройство
/dev/mapper/mdvd
если мало кольцевых устройств, не беда:
for i in $(seq 0 255); do if [ ! -e /dev/loop$i ]; then mknod /dev/loop$i b 7 $i ; fi ; done
после просмотра "файла" вернём на место
dmsetup remove mdvd; for i in $(seq 0 15); do losetup -d /dev/loop$i; done
такие пироги. может, есть какие готовые тулы?