cloopはcompressed loop back file systemのことで、Knoppixに付属のツールである。 圧縮したディスクイメージをマウントできるので、Windowsの"携速"というツールと同様のことが Linuxで実現できる。
以下はVine Linux 2.6r3で確認した方法。 cloop-1.0からkernel2.4以降にしか対応しなくなった。 cloopデバイスは複数作成できる。デフォルトでは8つまでだが、 ソースを書きかえることによって増やすことが可能。
http://developer.linuxtag.net/knoppix/からcloop_2.00-1.tar.gzをとってきて適当な場所に展開する。 場合によってはcompressed_loop.cの中の
#define REDHAT__KERNEL
を有効にしておく必要があるかもしれない。
make KERNEL_DIR=/path/to/linux-kernel/sources
ルートになって
mkdir -p /lib/modules/misc cp cloop.o /lib/modules/misc/ cp create_compressed_fs extract_compressed_fs /usr/sbin/ depmod -a
また、modules.confに
alias block-major-240 cloop
という行を追加しておく。
mknod /dev/cloop b 240 0 mknod /dev/cloop1 b 240 1 mknod /dev/cloop2 b 240 2 . . (必要な数だけ作成する)
CDROMをセットし、
dd if=/dev/cdrom of=file
create_compressed_fs file 262144 > file_compressed
losetup /dev/cloop /path/to/file_compressed losetup /dev/cloop1 /path/to/file1_compressed losetup /dev/cloop2 /path/to/file2_compressed . .
mount -o ro -t iso9660 /dev/cloop /mnt/cdrom mount -o ro -t iso9660 /dev/cloop1 /mnt/cdrom1 mount -o ro -t iso9660 /dev/cloop2 /mnt/cdrom2 . .
マウントするイメージファイルは、CDROM以外の任意のファイルシステム のイメージでもよい。(ただしread onlyでマウントされる。)