Одной из приятных черт философии Unix, которую унаследовала Linux, является модульная организация файловой системы. И это, на самом деле, очень хорошо, так как в типичной установке ОС могут понадобиться различные файловые системы, вроде
ext4
,
reiserfs
,
btrfs
, или даже сетевые файловые системы — вроде
nfs
. Кроме того, в Linux существуют и виртуальные файловые системы, вроде
/sys
и
/dev
, которые помогают Linux сделать так, чтобы всё в ней выглядело бы как файл. Слабая сторона средств работы с файловыми системами в Linux заключается в том, что для создания механизмов, обеспечивающих работу файловой системы, нужно вносить изменения в ядро, или, как минимум, создавать загружаемые модули. Это, правда, не так уж и сложно, но, всё же, немного сложнее, чем разработка обычных программ. Решить эту проблему призван интерфейс
FUSE (Filesystem in USErspace — файловая система в пользовательском пространстве). В частности, речь идёт о модуле файловой системы, который позволяет создавать новые файловые системы путём написания вполне обычного кода.
![](https://webcf.waybackmachine.org/web/20210926192359im_/https://habrastorage.org/webt/ro/lt/uj/roltujizzg4rffvtcdmce0ekxbw.jpeg)
Читать дальше →