Наши
Сайдбары
   
IRC-канал
Linuxportal.ru
   
Импорт новостей
 
Вход Быстрая регистрация На главную

Поиск:
 
   БИБЛИОТЕКА
     Другие статьи этого раздела:
 

    Система
Другие разделы библиотеки:
   БИБЛИОТЕКА
     последние поступления:
 

Hardware
Перевод Serial-Programming-HOWTO
15.05.2006 | San АНДРЕЕВ
Перевод Linux Power Management Support
03.04.2004 | San АНДРЕЕВ
Варианты решения проблем со смещением геометрии монитора.
10.10.2003 | EsTaF
Multimedia
VideoCD для пингвинов
10.10.2003 | Buddha
Смотрим любимые фильмы с помощью MPlayer
23.07.2003 | Alexey Dmitriev
X-сервер
Включаем Bytecode Interpreter в пакете freetype в некоторых дистрибутивах
05.07.2006 | Alexey Dmitriev
НАСТРОЙКА СЕРВЕРА XDMCP ДЛЯ WINDOWS-КЛИЕНТОВ
09.09.2004 | Kotjara
Type1 и truetype шрифты в LaTeX.
03.05.2004 | geekkoo
Разное
Как самому написать концепцию информационной безопасности
22.03.2007 | Crion
Список рекомендуемой литературы
11.09.2006 | San АНДРЕЕВ
The Multi Router Traffic Grapher
02.06.2004 | Crion
Сеть
"Огненная стена" или строим файрвол на базе iptables
15.03.2005 | Alexey Dmitriev
Защищенная почтовая система
08.09.2004 | Crion
Postfix+Cyrus-SASL
18.12.2003 | geekkoo
Система
Написание драйверов под Linux: рекомендации, типичные ошибки и ловушки.
16.01.2007 | Mr.Nobody
Перевод Linux Daemon HOWTO
21.08.2006 | San АНДРЕЕВ
Усыпляем компьютер
11.01.2006 | San АНДРЕЕВ
   БИБЛИОТЕКА Система    
Автор статьи: White_Mouse
Дата: 25.07.2003

Виртуальная файловая система

1. Выбираем подходящий по размеру раздел.

Возможно использовать любой раздел жесткого диска. Единственное условие - его файловая система должна поддерживаться Linux, так как нам придется подмонтировать его к корневой файловой системе. Естественно, на этом разделе должно быть достаточно места для наших целей.


2. Создаем файл, где будет жить наша файловая система, которую впоследствии присоединим к root.

Я сделал это так:
dd if=/dev/zero of=/mnt/win_d/filesystem.ext bs=1024 count=350000
Таким образом мы создадим файл, состоящий из нулей (т.к. используется /dev/zero) на разделе, подмонтированном к /mnt/win_d. Для того, чтобы понять смысл этой команды и создать новый файл нужного размера в своей системе, прочтите man dd. Крайне рекомендуется при создании нового файла использовать размер блока (bs) равный 1024. Это значительно ускоряет операцию создания файла. При bs=1 на моем компьютере файл создавался около 10 минут. (Благодарю за совет Ananas'а.)


3. Создаем файловую систему.

В принципе, внутри нашего файла можно создать любую файловую систему из тех, что поддерживаются ядром. В этом примере создается файловая система second extended (EXT2).
mkfs.ext2 /mnt/win_d/filesystem.ext
Еще раз отмечаю, что "гостевая" файловая система (в которой создается наш файл) и собственно создаваемая файловая система могут быть любого поддерживаемого ядром типа.

Рекомендуется к прочтению man mkfs


4. Монтирование.

Для того, чтобы использовать вновь созданную нами файловую систему, необходимо присоединить ее к корневой файловой системе командой mount.
mount -o loop /mnt/win_d/filesystem.ext /mnt/virtual
Здесь необходимо обратить внимание на опцию loop команды mount. Таким образом мы присоединяем наш файл-файловую систему к первому свободному устройству /dev/loopX Проверено для двух устройств. Первое монтируется к /dev/loop0, второе - к /dev/loop1. Рекомендуется к прочтению man mount.


5. Что такое losetup и как этим пользоваться.

Все изложенное выше правильно, но есть и другой вариант монтирования нашего "файла". Имеется в виду утилита losetup, которую можно найти практически в любом дистрибутиве GNU/Linux. losetup специально предназначена для присоединения "нестандартной" файловой системы (в виде файла, в частности) к устройствам /dev/loopX.

Делается это таким образом:
losetup /dev/loop0 /mnt/win_d/filesystem.ext

Теперь обращаясь к устройству /dev/loop0 (в том числе смонтировав его), мы будем обращаться к нашему файлу (то есть файловой системе) на /mnt/win_d/filesystem.ext
Теперь можно смонтировать устройство:
mount /dev/loop0 /mnt/virtual
Эти операции дают тот же эффект, что и в первом случае (mount -o loop /mnt/win_d/filesystem.ext /mnt/virtual).
losetup, однвко имеет несколько приятных особенностей. В частности, эта утилита позволяет шифровать данные в нашей файловой системе по алгоритму AES и установить пароль на доступ к ней. Более подробно об этом можно прочесть в man losetup. Особого внимания заслуживает опция offset. Кроме того, можно использовать gnupg для дополнительного шифрования данных ПЕРЕД тем как они попадут в нашу файловую систему :) Вероятно, это можно сломать... Лет через сто :) В этом состоит одно из преимуществ использования losetup по сравнению с обычным mount.


6. Автоматизация.

Для того, чтобы созданная нами файловая система была доступна при каждой загрузке системы автоматически, необходимо добавить соответствующие изменения в конфигурацию системы.
В нашем примере достаточно будет добавить одну строку в /etc/fstab для того чтобы наша файловая система монторовалась как любое другое устройство.
Выглядеть эта строка будет так:

/mnt/win_d/filesystem.ext /mnt/virtual ext2 loop 0 0

Теперь наша файловая система будет доступна из каталога /mnt/virtual сразу после старта системы.


7. Пользуйтесь
---------------

(c) White_Mouse (white_mouse_ at mail.ru). Публикации на других сайтах кроме Linuxportal.ru
допускаются исключительно с согласия автора.



Все статьи раздела "Система"

©"Linuxportal.Ru". Материалы сайта можно
использовать свободно при условии
сохранения этой свободы при дальнейшем
распространении, если явно не указано иное

Дизайн и программирование:

Поставьте
нашу кнопку:
Получить код кнопки
Linux Portal.ru ::: Линукс Портал.ру
Наш партнер: