Как создать небольшую служебную файловую систему

У меня есть брелок usb размером 7,5 ГБ, и мне нужно скопировать файл на него размером 7,4 ГБ. Но я не могу, потому что суперблоки потребляют 0,5 ГБ пространства.

2 Solutions collect form web for “Как создать небольшую служебную файловую систему”

Вам не нужна файловая система для записи данных на устройство. Вы можете просто использовать tar для создания архива, который хранит вашу структуру каталогов и все метаданные и записывает их на устройство.

Запись данных

Здесь sdb является примером USB-накопителя в моей системе, настройте в соответствии с вашей настройкой.

 tar cf /dev/sdb <some_directory> 

Чтение данных

Вы можете напрямую использовать tar для чтения данных с устройства:

 tar xf /dev/sdb 

В моих экспериментах это всегда считывает все блок-устройство, а не только данные в архиве tar. Если вы знаете, что ваше устройство имеет 8 GiB, но вы только сохранили, скажем, 3 GiB, вы можете использовать dd чтобы не читать все устройство:

 dd if=/dev/sdb bs=1M count=3072 | tar xf - 

Боковые заметки

Попытайтесь сжать данные как можно больше. Это может занять много времени, но, возможно, все подходит для диска с обычной файловой системой. Я бы посоветовал использовать 7-Zip , он медленный, но он имеет высокий коэффициент сжатия. Вот пример:

 7za a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on archive.7z <some_directory> 

Поскольку вам действительно не нужна файловая система ext4, но вы действительно спрашиваете о файловой системе, которая снизит накладные расходы ниже 1,3% от емкости устройства (100 МБ из 7,5 ГБ), я бы посмотрел на различные низкоуровневые файлы, опционные варианты. Двумя наиболее очевидными, которые соответствуют вашим критериям, позволяющим обрабатывать один файл размером 7,4 ГБ, является либо ext2 с низким индексом inode и разреженными суперблоками, либо файловой системой FAT32 с низким объемом служебной информации.

EDIT: Похоже, я ошибался в максимальном размере файла FAT32, но я оставляю его здесь, если кто-то сталкивается с этим и может жить с ограничением, что один файл не может быть больше 2 ^ 32 – 1 (4 гигабайта – 1) байт.

Для файловой системы с низкими нагрузками ext2 попробуйте что-нибудь вдоль линий mke2fs -t ext2 -N 8 -O sparse_super . -N 8 указывает количество inodes в файловой системе. Я не знаю, как это будет мало, поэтому эта ручка может потребовать немного поворота.

Для файловой системы с низким mkdosfs -F 32 -f 1 -r 8 -S 32768 -s 128 -a служебной информации FAT32 попробуйте что-то вроде mkdosfs -F 32 -f 1 -r 8 -S 32768 -s 128 -a . Это создаст -F 32 FAT32 (который позволяет размер файла, который вам нужен), с -f 1 одной FAT, -r 8 8 записей в корневом каталоге, -S 32768 размер логического сектора 32 KiB, -s 128 128 секторов на один кластер (возможно, вы сможете увеличить его еще больше), а также отключить выравнивание структуры данных.

  • Тип файла inode / x-поврежден
  • setfacl удалить все права на запись
  • распределенная файловая система, которая хорошо работает с несколькими небольшими файлами
  • btrfs тот же номер inode
  • Разница между fsarchiver и дампом
  • Получить список файлов, удаленных rm -rf
  • Почему отчет по размерам для каталогов отличается от других файлов?
  • ссылаясь на файлы внутри jar или zip-файлов в Linux
  • Что означает «установка fs с ошибками» в dmesg и что делать после этого?
  • «Ls -l» показывает некоторые ненормальные файлы с «?»
  • Тип файловой системы Solaris 5.10
  • Interesting Posts

    Драйвер виртуальной мыши, возможные проблемы X11

    Почему у некоторых пакетов Debian есть суффикс «+ deb7u2»?

    Переход от проприетарного драйвера Nvidia к драйверу Nouveau для карты Nvidia на Debian wheezy

    Меньшая ресурсная голодная альтернатива для трубопровода `cat` в gzip для огромных файлов

    Выбор файловой системы кластера для чтения / записи большого количества небольших файлов

    Почему раздел загрузки загружается при установке программного обеспечения

    Как обеспечить правильные разрешения для файлов при запуске установщика bash как sudo?

    Изменение ассоциации типов файлов в Fedora / KDE

    Ядерная паника после перехода от хриплых к jessie

    SET завершился с ошибкой на устройстве wlp2s0; Операция не поддерживается

    Клавиши быстрого доступа, которые не зависят от раскладки клавиатуры

    Diff статистики каталогов sumarry (git diff –stat, как для non-git repo)

    Как открыть каталог в контейнере?

    Об отображении деформирования разделов

    изменить формат файла при использовании stat

    Linux и Unix - лучшая ОС в мире.