Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

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

Утилиты для работы с файловыми системами находятся в соответствующих пакетах: для 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 реализована система шифрования с использованием устройств /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 будет подключен как-то не так :-/ ---- mike, 03.11.2002, 22:18 ---- к устройству /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.х.