Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #51, ФЕВРАЛЬ 2005 г.

Вечная дружба

Колисниченко Денис

Спецвыпуск: Хакер, номер #051, стр. 051-056-3


Сохраняем файлы на Windows-разделе

Разные дистрибутивы по-разному относятся к Windows-разделам. Одни вообще о них и знать не знают, поэтому добавлять информацию о них в файл /etc/fstab приходится вручную. Другие делают их доступными только для чтения - параметр ro, который нужно удалить, если хочешь записывать данные на раздел. Третьи напрочь забывают о кодировке, поэтому вместо родных букв выползают вопросительные знаки. А четвертые все делают правильно, но опять-таки забывают об одном параметре. О параметре umask, который указывает маску прав доступа при записи файла на раздел. Так как FAT32 не поддерживает прав доступа (а NTFS поддерживает права доступа, но не поддерживает umask), нужно указать umask=0, иначе каждый раз при записи на Windows-радел будешь получать сообщение о недопустимой операции – система будет пытаться установить права доступа к файлу, а эта операция недопустима для Windows-раздела.

Итак, чтобы записывать данные на FAT32-раздел нужно:

* удалить параметр ro в файле fstab, если такой есть;

* установить umask=0 для каждого Windows-раздела.

А вот для записи на NTFS-раздел понадобится еще и перекомпилировать ядро, потому что по умолчанию Linux только читает данные с NTFS-раздела. Стоит ли это делать? В ядро версии 2.6 включен так называемый безопасный драйвер записи на NTFS, который позволяет только перезаписывать файлы без изменения размера, но не позволяет создавать, модифицировать (чтобы изменялась длина), а также удалять файлы и каталоги. В ядре 2.5 был небезопасный драйвер, но его использование часто приводило к потере данных на NTFS-разделе, поэтому он был заменен безопасной версией.

Можешь попробовать включить запись данных на NTFS. Могу предположить, что заголовочные файлы, необходимые библиотеки и компилятор gcc у тебя уже установлены. Перейди в каталог /usr/src/linux и выполни команду (все это от имени root):

# make xconfig

В разделе File Systems перейди в подраздел DOS/FAT/NT File systems и включи опцию NTFS write support. Заодно сможешь прочитать, что может, а что не может безопасный драйвер записи NTFS. После этого нужно перекомпилировать ядро. Введи команду

# make dep

После завершения ее работы ввести команду

# make bzImage

Если исходники ядра и компилятор установлены корректно, то минут через 20 (это зависит от версии ядра и от быстродействия твоей системы) ты получишь откомпилированное ядро. Обычно оно помещается в каталог /usr/src/linux/arch/i586/boot (или, например, i686 – это зависит от архитектуры твоего процессора). Теперь следует откомпилировать модули, которые будут использоваться ядром:

# make modules

И установить их:

# make modules_install

Перед установкой модулей сделай резервную копию модулей старого ядра (каталог /lib/modules). Теперь можно ввести команду:

Назад на стр. 051-056-2  Содержание  Вперед на стр. 051-056-4