mount. примонтировать со стандартного ввода

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Аватара пользователя
agentprog
Сообщения: 362
Статус: Ad Astra per aspera
ОС: openSUSE 11.4, Arch

mount. примонтировать со стандартного ввода

Сообщение agentprog »

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

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

bzip2 -cd file.img.bz2 | sudo mount /dev/stdin /mnt -o loop

но на меня заругалось:
ioctl: LOOP_SET_FD: Недопустимый аргумент


если так нельзя, возможно существуют драйвера ФС, умеющие работать с bz2 (gz, lzma) архивами?
No problems - just solutions!
Спасибо сказали:
math
Сообщения: 286
Статус: Ъ участник
ОС: Artix (= Arch without systemd)

Re: mount. примонтировать со стандартного ввода

Сообщение math »

agentprog писал(а):
20.06.2010 16:01
название звучит немного странно, но тем не менее имеем:
файл, отформатированный в какую-либо файловую систему (в моем случае ext2, хотя, думаю, особо значения не имеет), затем сжатый архиватором, например bzip2.
есть желание монтировать данный файл без распаковки файла на жесткий диск (хотя не критично, но желательно).
как вариант, пытался сотворить нечто типа:

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

bzip2 -cd file.img.bz2 | sudo mount /dev/stdin /mnt -o loop

но на меня заругалось:
ioctl: LOOP_SET_FD: Недопустимый аргумент


если так нельзя, возможно существуют драйвера ФС, умеющие работать с bz2 (gz, lzma) архивами?

гм. попробовал через именованный канал - результат аналогичный 100%.
наверно никак нельзя - если надо жать, то жать надо "изнутри", а не "снаружи"
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: mount. примонтировать со стандартного ввода

Сообщение diesel »

agentprog писал(а):
20.06.2010 16:01

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

bzip2 -cd file.img.bz2 | sudo mount /dev/stdin /mnt -o loop

"физический смысл" процесса абсурден. вам должны обеспечить input/output на постоянной основе на основе единовременного input'а.

чисто теоретически: можно попробовать смаунтить архив как файловую систему, а затем смаунтить файл который в архиве лежит.
Спасибо сказали:
Аватара пользователя
agentprog
Сообщения: 362
Статус: Ad Astra per aspera
ОС: openSUSE 11.4, Arch

Re: mount. примонтировать со стандартного ввода

Сообщение agentprog »

math писал(а):
20.06.2010 16:19
если надо жать, то жать надо "изнутри", а не "снаружи"

дело в том, что отформатированный файл фиксированного размера и сжатие файлов внутри ничего не даст. сами файлы то по сути предполагаются в пределах 100 МиБ, но все равно хотелось бы их иметь сжатыми.
diesel писал(а):
20.06.2010 16:28
"физический смысл" процесса абсурден. вам должны обеспечить input/output на постоянной основе на основе единовременного input'а.

ну да, логично
No problems - just solutions!
Спасибо сказали:
flank'er
Сообщения: 496
Статус: слаковщик
ОС: Slackware64

Re: mount. примонтировать со стандартного ввода

Сообщение flank'er »

единственное что приходит в голову - squashfs
1. сжимаем директорию
2. монтируем
единственный минус - смонтированный файл ReadOnly

flanker@slackware

bash-4.1# mksquashfs . ../SBo.sq Parallel mksquashfs: Using 1 processor Creating 4.0 filesystem on ../SBo.sq, block size 131072. [=============================================================================== ===============================================\] 412/412 100% Exportable Squashfs 4.0 filesystem, data block size 131072 compressed data, compressed metadata, compressed fragments duplicates are removed Filesystem size 1312.11 Kbytes (1.28 Mbytes) 16.54% of uncompressed filesystem size (7933.56 Kbytes) Inode table size 4873 bytes (4.76 Kbytes) 31.66% of uncompressed inode table size (15391 bytes) Directory table size 4377 bytes (4.27 Kbytes) 33.81% of uncompressed directory table size (12944 bytes) Number of duplicate files found 35 Number of inodes 479 Number of files 406 Number of fragments 61 Number of symbolic links 1 Number of device nodes 0 Number of fifo nodes 0 Number of socket nodes 0 Number of directories 72 Number of ids (unique uids + gids) 1 Number of uids 1 root (0) Number of gids 1 root (0) bash-4.1# mount ../SBo.sq /mnt/tmp -o loop bash-4.1# df -h |grep loop /dev/loop0 1.4M 1.4M 0 100% /mnt/tmp
Спасибо сказали:
Аватара пользователя
agentprog
Сообщения: 362
Статус: Ad Astra per aspera
ОС: openSUSE 11.4, Arch

Re: mount. примонтировать со стандартного ввода

Сообщение agentprog »

flank'er писал(а):
20.06.2010 20:57
единственное что приходит в голову - squashfs

спасибо огромное! это, думаю, то что нужно!
flank'er писал(а):
20.06.2010 20:57
единственный минус - смонтированный файл ReadOnly

по большей степени, для конечных пользователей возможности записи и не надо. а при необходимости можно файл заново пересобирать.
No problems - just solutions!
Спасибо сказали: