Есть у меня генту и свежескачанный portage.tar.bzip2. Хочу его примонтировать его как /usr/portage. Однако монтировать нужно не bzip2, а squashfs (или хотя бы zip). Значит, нужно сделать из tar squashfs.
Не хочу распаковывать на диск (слишком много файлов - на reiserfs это слишком долго). Не хочу распаковывать в /dev/shm (нет гарантии, что оно туда вообще влезет). Говорят, unionfs тоже нынче как-то не очень здорово работает.
В принципе, нет даже особого желания вообще куда-то записывать файлы в распакованном виде, однако этим желанием можно поступиться.
Хочу что-то типа такого:
cat portage.tar.bzip2 |bzip2 -d |mksquashfs --from-tar - >portage.squashfs
*** Если же это невозможно, то второй вопрос. Могло ли бы правильное unix-way решение выглядеть так:
cat portage.tar.bzip2 |bzip2 -d |tar --convert-archive --to-text-stream |mksquashfs --from-text-stream - portage.squashfs
где гипотетические опции to/from-text-stream преобразуют архив в некий гипотетический всем понятный квазитекстовый вид (а-ля mime) и обеспечивают чтение из него.
// Разумеется, порядок файлов в squashfs после такого преобразования может быть только таким же, как и в tar-архиве.