Работа с файловыми системами

Утилиты для работы с файловыми системами находятся в соответствующих пакетах: для Ext2 и Ext3 это e2fsprogs, для ReiserFS — reiserfs-utils, XFS — xfsprogs, JFS — jfsprogs.

Общее назначение утилит

mkfs – создание новой файловой системы (make filesystem);

fsck – проверка файловой системы на ошибки (filesystem check).

Также существуют и другие, специфичные для разных файловых систем утилиты.

Для различения файловых систем используется указание типа файловой системы после параметра -t или в качестве компонента имени утилиты, например:

mkfs -t ext2 /dev/hda1
fsck.ext2 /dev/sda2
      

Конвертирование файловых систем

Для преобразования файловой системы из ext2 в ext3 необходимо дать команду

tune2fs -j /dev/hdX

Замените hdX на sdX в случае SCSI-диска. Для обратного преобразования необходимо смонтировать этот раздел как ext2.

Для преобразования файловой системы reiserfs-3.5.x в файловую систему reiserfs-3.6.x необходимо смонтировать эту файловую систему с опцией conv, например:

mount -o conv /dev/hdx /mnt/disk

После этого файловая система будет преобразована в формат версии 3.6.х. Обратное преобразование невозможно; следовательно, работать со сконвертированным разделом из-под ядер ветки 2.2 тоже не получится[6].

Сохранение копии диска и последующее её использование

Для того, чтобы сохранить копию диска (например, CD-ROM), необходимо сделать следующее:

  1. убедиться в наличии в текущем каталоге достаточного свободного места;

  2. дать команду

    dd if=/dev/cdrom of=cdrom.iso bs=1M
    	    

  3. после этого можно просмотреть содержимое файла cdrom.iso, смонтировав его, например, так:

    mount -o loop cdrom.iso /mnt/cdrom
    	  

В качестве исходного устройства для копирования также может выступать любое дисковое устройство, например дискета или жёсткий диск. Кроме того, получившийся образ CD-ROM можно записать на матрицу CD-R/RW с использованием программы cdrecord, т.к. файл cdrom.iso является полным образом диска.

Для получения дополнительной информации обратитесь к man-страницам на упомянутые команды.

Использование шифрования файловых системам

В ALT Linux Master 2.2 реализована система шифрования с использованием устройств /dev/loop* и поддержкой следующих алгоритмов: cipher-aes*, cipher-blowfish*, cipher-des-ede3*, cipher-des*, cipher-dfc*, cipher-rc5*, cipher-serpent*,cipher-twofish*.

Процедура создания зашифрованной файловой системы обычно выглядит так:

  1. Необходимо создать файл необходимого размера — например, для 8 Мб:

    dd if=/dev/zero of=test_file count=8 bs=1M
    	  
  2. Необходимо настроить алгоритм шифрования:

    modprobe cryptoloop[7] 
    losetup -e blowfish /dev/loop0 test_file
    	  

    Программа спросит размер ключа:

    Available keysizes (bits): 128 160 192 256 
    Keysize:
    	  

    Далее будет запрошен пароль.После введения пароля алгоритм шифрования blowfish будет подключён к устройству /dev/loop0. Данные в зашифрованном виде будут сохраняться в файле test_file.

  3. Необходимо создать файловую систему

    mke2fs /dev/loop0
  4. Смонтировать зашифрованное устройство

    mount /dev/loop0 /mnt/disk

После этого можно работать с /mnt/disk как с обычным устройством, которое по окончании работы необходимо размонтировать. Для последующего использования данных необходимо повторить шаги 2 и 4. Таким образом можно организовать работу с зашифрованными файловыми системами.

Важно

Для обеспечения сохранности ваших данных рекомендуется каждый раз после изменения данных в зашифрованном файле делать его копию. Особенно это важно при обновлении ядра, т.к. файловые системы, зашифрованные на ядрах версии 2.2.х, могут не прочитаться на ядрах версии 2.4.х и наоборот.



[6] На самом деле использование ReiserFS в ядрах 2.2 в любом случае не может быть рекомендовано.

[7] Это необходимо сделать только для ядер 2.4.х.