Рубрики
HDD \ SSD \ ISO \ CD-ROM \ LVM \ FS \ RAID \ Диск

Файловые системы виртуальные \ прочие

В Linux существует несколько файловых систем, предназначенных не для сохранения данных па жестком диске (или другом носителе), 
а только для обмена информацией между ядром и пользовательскими программами. 
Эти файловые системы помечены в файле /proc/filesystems как nodev. 
Далее коротко рассмотрим важнейшие из них.

devpts — эта файловая система обеспечивает доступ к псевдотерминалам (сокращенно — PTY) через /dev/pts/* в соответствии со спецификацией UNIX-98. 
(Псевдотерминалы эмулируют последовательный интерфейс. 
В системах UNIX/ Linux такие интерфейсы используются эмуляторами терминалов, например xterm. 
При этом, как правило, применяются такие устройства, как /dev/ttypn. 
В спецификации UNIX-98, напротив, определяются новые устройства.)

рrоc и sysfs — файловая система рrоc служит для отображения служебной информации, касающейся управления ядром и процессами. 
В дополнение к этому файловая система sysfs строит взаимосвязи между ядром и оборудованием. 
Обе файловые системы подключаются на позициях /рrоc и /sys.

tmpfs — эта система построена на основе разделяемой памяти в соответствии с System V. 
Она обычно подключается на позиции /dev/shm и обеспечивает эффективный обмен информацией между двумя программами.
В некоторых дистрибутивах каталоги /var/run и /var/lock также создаются с помощью файловой системы tmpfs. 
Файлы из этих каталогов применяются некоторыми сетевыми демонами для того, чтобы сохранять идентификационные номера процессов, а также информацию о доступе к файлам.
Благодаря tmpfs эти данные теперь отражаются в RAM. 
Метод гарантирует высокую скорость, а также то, что после отключения компьютера в катапогах /var/run или /var/lock не останется никаких файлов.

usbfs — файловая система usbfs, начиная с версии ядра 2.6 и выше, дает информацию о подключенных USB-устройствах. 
Обычно она интегрирована в файловую систему ргос.

auto — на самом деле файловой системы с таким названием не существует. 
Однако слово auto можно использовать в /etc/fstab или с командой mount для указания файловой системы. 
В таком случае Linux попытается самостоятельно распознать файловую систему. 
Этот метод работает с большинством важнейших файловых систем.

autofs, autofs4 — это тоже не файловые системы, а расширения ядра, 
автоматически выполняющие команду mount для выбранных файловых систем. 
Если файловая система не используется в течение некоторого времени, 
то для нее автоматически выполняется команда umount. 
Этот метод удобен прежде всего.

cgroup — так называемые контрольные группы (Control Groups) позволяют управлять использованием ресурсов 
с помощью отдельных процессов либо ограничивать таким образом применение ресурсов. 
Виртуальная файловая система Cgroup помогает считывать или изменять все актуальные настройки Cgroup. 
Базовая документация о контрольных группах содержится по адресу http://www.kernel.org/doc/Documentation/cgroups/cgroups.txt

cramfs и squashfs — файловые системы Cram и Squash предназначены только для чтения. 
Они используются для того, чтобы «упаковать* как можно больше архивированных файлов во Flash-память или ПЗУ (постоянное запоминающее устройство).

fuse — FUSE означает Filesystem in Userspace (Файловая система в пользовательском пространстве). 
Она позволяет разрабатывать и использовать драйверы файловых систем вне ядра. 
Следовательно, FUSE всегда применяется с внешним драйвером файловой системы. FUSE работает, в частности, с драйвером NTFS ntfs-3g.

gfs и oefs — Global File System (Глобальная файловая система) и Oracle Cluster File System (Кластерная файловая система от Oracle) 
позволяют строить гигантские сетевые файловые системы, к которым могут параллельно обращаться множество компьютеров в один и тот же момент.

jffs и yaffs — Journaling Flash File System (Журналируемая файловая система для Flash-носителей) 
и Yet Another Flash File System (Альтернативная файловая система для Flash-носителей) оптимизированы для работы с твердотельными дисками и Flash-носителями. 
С помощью специальных алгоритмов они пытаются равномерно использовать все ячейки памяти (технология «выравнивание износа»), чтобы избежать преждевременного отказа системы.

loop — используется для работы с псевдоустройствами. 
Псевдоустройство (loopback device) — это адаптер, способный обращаться к обычному файлу как к блочному устройству. 
Благодаря ему в любом файле можно расположить любую файловую систему, а затем подключить ее к дереву каталогов с помощью mount. 
Отвечающая за это функция ядра — поддержка псевдоустройств — реализуется в модуле loop.
Существуют разнообразные способы применения псевдоустройств.
В частности, они могут использоваться при создании дисков в оперативной памяти для начальной инициализации (Initial RAM disk) 
для GRUB или LILO, при реализации зашифрованных файловых систем или тестировании ISO-образов для CD.

none — само собой разумеется, что и попе не является файловой системой. 
Эта функция предоставляет редко используемую возможность подключить локальный каталог в другой точке дерева каталогов. 
Для этого необходимо задать в команде mount или в файле /etc/fstab тип файловой системы попе, а также поставить дополнительный параметр bind. 
Этот метод напоминает применение символьной ссылки, но внутри системы реализуется совершенно иначе. 
Использовать такой метод целесообразно, например, при конфигурации сервера NFS4.

unionfs/aufs — концепция nnionfs или ее варианта anfs позволяет как бы накладывать друг на друга несколько файловых систем, 
причем система, расположенная выше всех, имеет приоритет. 
Системы unionls и auls применяются в некоторых «живых системах», когда Linux запускается прямо с CD или DVD. 
На систему CD/DVD, предназначенную только для чтения, накладывается файловая система диска оперативной памяти. 
Снаружи «видна» только одна файловая система, которая составляется из базовой структуры CD/DVD и изменений, 
производимых в файловой системе диска оперативной памяти.

Зашифрованные файловые системы — в Linus применяются различные методы шифрования содержимого файловой системы. 
Некоторые из этих методов основаны на применении специальных файловых систем (например, CryptoFS или eCryptfs).