- Драйверы устройств в Linux
- Часть 5: Файлы символьных устройств – создание файлов и операции с ними
- Автоматическое создание файлов устройств
- Операции с файлами
- null — драйвер
- Подведем итог
- Файлы символьных устройств
- рТЕДУФБЧМЕОЙЕ ХУФТПКУФЧБ Ч УЙУФЕНЕ
- жБКМЩ-ДЩТЛЙ Й ДТХЗЙЕ ФЙРЩ ЖБКМПЧ
- дТБКЧЕТЩ ХУФТПКУФЧ
- тБВПФБ У ХУФТПКУФЧБНЙ
- рТБЧБ ДПУФХРБ Л ХУФТПКУФЧБН
- тБЪНЕФЛБ ДЙУЛБ Й ЙНЕОПЧБОЙЕ ХУФТПКУФЧ
- тБЪНЕФЛБ ДЙУЛБ IBM-УПЧНЕУФЙНПЗП ЛПНРШАФЕТБ
- уПЧНЕЭЕОЙЕ ОЕУЛПМШЛЙИ УИЕН ТБЪНЕФЛЙ
- пВМБУФШ РПДЛБЮЛЙ
- жБКМПЧБС УЙУФЕНБ
- рТЙОГЙРЩ ПТЗБОЙЪБГЙЙ ДБООЩИ ОБ ДЙУЛЕ
- тБВПФБ У ЖБКМПЧЩНЙ УЙУФЕНБНЙ
- нПОФЙТПЧБОЙЕ Й ТБЪНПОФЙТПЧБОЙЕ
- рПДДЕТЦЙЧБЕНЩЕ Linux ЖБКМПЧЩЕ УЙУФЕНЩ
- чЙТФХБМШОЩЕ Й УЕФЕЧЩЕ ЖБКМПЧЩЕ УЙУФЕНЩ
- рТПЧЕТЛБ ЖБКМПЧПК УЙУФЕНЩ
Драйверы устройств в Linux
Часть 5: Файлы символьных устройств – создание файлов и операции с ними
Эта статья является продолжением серии статей о драйверах устройств в Linux. В ней обсуждаются вопросы, касающиеся символьных драйверов и их реализации.
В моей предыдущей статье я упоминал, что даже при регистрации диапазона устройств , файлы устройств в директории /dev не создаются — Светлана должна была создать их вручную с помощью команды mknod . Но при дальнейшем изучении Светлана выяснила, что файлы устройств можно создавать автоматически с помощью демона udev . Она также узнала о втором шаге подключения файла устройства к драйверу устройства — связывание операций над файлом устройства с функциями драйвера устройства. Вот что она узнала.
Автоматическое создание файлов устройств
Ранее, в ядре 2.4, автоматическое создание файлов устройств выполнялось самим ядром в devfs с помощью вызова соответствующего API. Однако, по мере того, как ядро развивалось, разработчики ядра поняли, что файлы устройств больше связаны с пользовательским пространством и, следовательно, они должны быть именно там, а не в ядре. Исходя из этого принципа, теперь для рассматриваемого устройства в ядре в /sys только заполняется соответствующая информация о классе устройства и об устройстве. Затем в пользовательском пространстве эту информацию необходимо проинтерпретировать и выполнить соответствующее действие. В большинстве настольных систем Linux эту информацию собирает демон udev, и создает, соответственно, файлы устройств.
Демон udev можно с помощью его конфигурационных файлов настроить дополнительно и точно указать имена файлов устройств, права доступа к ним, их типы и т. д. Так что касается драйвера, требуется с помощью API моделей устройств Linux, объявленных в
, заполнить в /sys соответствующие записи. Все остальное делается с помощью udev . Класс устройства создается следующим образом:
Затем в этот класс информация об устройстве ( ) заносится следующим образом:
Здесь, в качестве first указывается dev_t . Соответственно, дополняющими или обратными вызовами, которые должны вызыватся в хронологически обратном порядке, являются:
Посмотрите на рис.1 на записи /sys , созданные с помощью chardrv — запись ( ) и с помощью mynull — запись ( ). Здесь также показан файл устройства, созданный с помощью udev по записи : , находящейся в файле dev .
Рис.1: Автоматическое создание файла устройства
В случае, если указаны несколько младших номеров minor, API device_create() и device_destroy() могут вызываться в цикле и в этом случае окажется полезной строка ( ). Например, вызов функции device_create() в цикле с использованием индекса i будет иметь следующий вид:
Операции с файлами
Независимо от того, что системные вызовы (или, в общем случае, операции с файлами), о которых мы рассказываем, применяются к обычным файлам, их также можно использовать и с файлами устройств. Т.е. мы можем сказать: если смотреть из пользовательского пространства, то в Linux почти все является файлами. Различие — в пространстве ядра, где виртуальная файловая система (VFS) определяет тип файла и пересылает файловые операции в соответствующий канал, например, в случае обычного файла или директория — в модуль файловой системы, или в соответствующий драйвер устройства в случае использования файла устройства. Мы будем рассматривать второй случай.
Теперь, чтобы VFS передала операции над файлом устройства в драйвер, ее следует об этом проинформировать. И это то, что называется регистрацией драйвером в VFS файловых операций. Регистрация состоит из двух этапов. (Код, указываемый в скобках, взят из кода «null -драйвера», который приведен ниже).
Во-первых, давайте занесем нужные нам файловые операции ( my_open , my_close , my_read , my_write , …) в структуру, описывающую файловые операции ( struct file_operations pugs_fops ) и ею инициализируем структуру, описывающую символьное устройство ( struct cdev c_dev ); используем для этого обращение cdev_init() .
Затем передадим эту структуру в VFS с помощью вызова cdev_add() . Обе операции cdev_init() и cdev_add() объявлены в
. Естественно, что также надо закодировать фактические операции с файлами ( my_open , my_close , my_read , my_write ).
Итак, для начала, давайте все это сделаем как можно проще — скажем, максимально просто в виде «null драйвера».
null — драйвер
Светлана повторила обычный процесс сборки, добавив при этом некоторые новые проверочные шаги, а именно:
- Собрала драйвер (файл .ko ) с помощью запуска команды make .
- Загрузила драйвер с помощью команды insmod .
- С помощью команды lsmod получила список всех загруженных модулей.
- С помощью команды cat /proc/devices . получила список используемых старших номеров major.
- Поэкспериментировала с «null драйвером» (подробности смотрите на рис.2).
- Выгрузила драйвер с помощью команды rmmod .
Рис.2: Эксперименты с «null драйвером»
Подведем итог
Светлана олпределенно была довольна; она сама написала символьный драйвер, который работает точно также, как и стандартный файл устройства /dev/null . Чтобы понять, что это значит, проверьте пару для файла /dev/null , а также выполните с ним команды echo и cat .
Но Светлану стала беспокоить одна особенность. В своем драйвере она использовала свои собственные вызовы ( my_open , my_close , my_read , my_write ), но, к удивлению, они, в отличие от любых других вызовов файловой системы, работают таким необычным образом. Что же тут необычного? Необычно, по крайней мере с точки зрения обычных файловых операций, то, что чтобы Светлана не записывала, при чтении она ничего не могла получить. Как она сможет решить эту проблему? Читайте следующую статью.
Источник
Файлы символьных устройств
Имеются два главных пути для общения модуля разговаривать с процессами. Первый идет через файлы устройства (подобно файлам в каталоге /dev ), другой должен использовать файловую систему proc. Поскольку одной из главных причин написания модуля ядра, является поддержка некоего аппаратного устройства, мы начнем с файлов устройства.
Первоначальная цель файлов устройства состоит в том, чтобы позволить процессам связываться с драйверами устройства в ядре, и через них с физическими устройствами (модемы, терминалы, и т.д.).
Каждый драйвер устройства, который является ответственным за некоторый тип аппаратных средств, имеет собственный главный номер. Список драйверов и их главных номеров доступен в /proc/devices . Каждое физическое устройство, управляемое драйвером устройства имеет малый номер. Каталог /dev включает специальный файл, названный файлом устройства, для каждого из тех устройств, которые реально установлены в системе.
Например, если Вы даете команду ls -l /dev/hd[ab]* , вы увидите все IDE разделы жесткого диска, которые могли бы быть связаны с машиной. Обратите внимание, что все из них используют тот же самый главный номер, 3, но малые номера у каждого свои! Оговорка: Считается, что вы используете архитектуру PC. Я не знаю ничего относительно файлов устройств Linux на других архитектурах .
Когда система была установлена, все файлы устройств были созданы командой mknod . Не имеется никакой технической причины, по которой они должны быть в каталоге /dev , это только полезное соглашение. При создании файла устройства для целей тестирования, как с упражнением здесь, вероятно имело бы смысл поместить его в каталог, где Вы компилируете модуль.
Устройства разделены на два типа: символьные и блочные. Различие в том, что блочные имеют буфер для запросов, так что они могут выбирать в каком порядке им отвечать. Это важно в случае устройств памяти, где скорее понадобится читать или писать сектора, которые ближе друг к другу, чем те, которые находятся далеко. Другое различие: блочные устройства могут принимать ввод и возвращать вывод только в блоках (чей размер может измениться согласно устройству), в то время как символьные устройства могут использовать столько байтов, сколько нужно. Большинство устройств в мире символьно, потому что они не нуждаются в этом типе буферизации и не работают с фиксированным размером блока. Вы можете узнать, является ли устройство блочным или символьным, рассматривая первый символ в выводе ls -l . Если это «b», значит устройство блочное, а если «c», то символьное.
Этот модуль разделен на две отдельных части: часть модуля, которая регистрирует устройство и часть драйвера устройства. init_module вызывает module_register_chrdev , чтобы добавить драйвер устройства к символьной таблице драйверов устройств ядра. Этот вызов также возвращает главный номер, который нужно использовать для драйвера. Функция cleanup_module вычеркивает из списка устройство.
Это (регистрация и отмена регистрации) основные функциональные возможности этих двух функций. Действия в ядре не выполняются по собственной инициативе, подобно процессам, а вызываются процессами через системные вызовы или аппаратными устройствами через прерывания или другими частями ядра (просто вызывая специфические функции). В результате, когда Вы добавляете код к ядру, вы регистрируете его как драйвер для некоторого типа события, и когда Вы удаляете его, вы отменяете регистрацию.
Драйвер устройства выполняет четыре действия (функции), которые вызываются, когда кто-то пробует делать что-либо с файлом устройства, который имеет наш главный номер. Ядро знает, что вызвать их надо через структуру file_operations , Fops , который был дан, когда устройство было зарегистрировано, включает указатели на те четыре функции, которые данное устройство выполняет.
Еще мы должны помнить, что мы не можем позволять модулю выгружаться командой rmmod всякий раз, когда root захочет его выгрузить. Причина в том что, если файл устройства открыт процессом, и мы удаляем модуль, то использование файла вызвало бы обращение к точке памяти где располагалась соответствующая функция. Если мы удачливы, никакой другой код не был загружен туда, и мы получим уродливое сообщение об ошибках. Если мы неудачливы (обычно так и бывает), другой модуль был загружен в то же самое место, что означает переход в середину другой функции внутри ядра. Результаты этого невозможно предсказывать, но они не могут быть положительны.
Обычно, когда Вы не хотите выполнять что-либо, Вы возвращаете код ошибки (отрицательное число) из функции, которая делает данное действие. С cleanup_module такой фокус не пройдет: если cleanup_module вызван, модуль завершился. Однако, имеется счетчик использований, который считает, сколько других модулей используют этот модуль, названный номером ссылки (последний номер строки в /proc/modules ). Если это число не нулевое, rmmod будет терпеть неудачу. Счетчик модульных ссылок доступен в переменной mod_use_count_ . Так как имеются макрокоманды, определенные для обработки этой переменной ( MOD_INC_USE_COUNT и MOD_DEC_USE_COUNT ), мы предпочитаем использовать их, а не mod_use_count_ непосредственно, так что мы будем в безопасности, если реализация изменится в будущем.
Источник
рТЕДУФБЧМЕОЙЕ ХУФТПКУФЧБ Ч УЙУФЕНЕ
ч МЕЛГЙЙ ьФБРЩ ЪБЗТХЪЛЙ УЙУФЕНЩ ЗПЧПТЙМПУШ П ФПН, ЮФП БРРБТБФОЩК РТПЖЙМШ ЛПНРШАФЕТБ ПРТЕДЕМСЕФУС СДТПН ОБ ТБООЙИ ЬФБРБИ ЪБЗТХЪЛЙ УЙУФЕНЩ ЙМЙ Ч РТПГЕУУЕ РПДЛМАЮЕОЙС НПДХМС. ьФП ОЕ ПЪОБЮБЕФ, ЮФП ХУФТПКУФЧП, ОЕ ТБУРПЪОБООПЕ СДТПН, ЪБДЕКУФЧПЧБФШ ОЕЧПЪНПЦОП. еУМЙ ОЕЙЪЧЕУФОЩН СДТХ ХУФТПКУФЧПН НПЦОП ХРТБЧМСФШ РП ЛБЛПНХ-ОЙВХДШ УФБОДБТФОПНХ РТПФПЛПМХ, ЧРПМОЕ ЧПЪНПЦОП, ЮФП УТЕДЙ РБЛЕФПЧ Linux ОБКДЈФУС ХФЙМЙФБ ЙМЙ УМХЦВБ, УРПУПВОБС У ЬФЙН ХУФТПКУФЧПН ТБВПФБФШ. оБРТЙНЕТ, РТПЗТБННБ ЪБРЙУЙ ОБ МБЪЕТОЩК ДЙУЛ cdrecord ЪОБЕФ ЧЕМЙЛПЕ НОПЦЕУФЧП ТБЪОППВТБЪОЩИ ХУФТПКУФЧ, ПФЧЕЮБАЭЙИ УФБОДБТФХ SCSI, Ч ФП ЧТЕНС ЛБЛ СДТП, ЛБЛ РТБЧЙМП, ФПМШЛП РПЪЧПМСЕФ ТБВПФБФШ У ФБЛЙН ХУФТПКУФЧПН ЛБЛ У ПВЩЮОЩН МБЪЕТОЩН РТЙЧПДПН (ОБ ЮФЕОЙЕ), Й РЕТЕДБЧБФШ ЕНХ ТБЪМЙЮОЩЕ SCSI-ЛПНБОДЩ.
л УПЦБМЕОЙА, ЙОПЗДБ Й ПВТБФОПЕ ОЕЧЕТОП: ЕУМЙ РТПЙЪЧПДЙФЕМШ УПЪДБЈФ ОПЧПЕ ХУФТПКУФЧП, ХРТБЧМСФШ ЛПФПТЩН ОХЦОП РП-ОПЧПНХ, Б ТБУРПЪОБЈФУС ПОП ЛБЛ ПДОП ЙЪ УФБТЩИ, ПЫЙВЛЙ ОЕЙЪВЕЦОЩ. нОПЗЙЕ УФБОДБТФЩ ЧОЕЫОЙИ ХУФТПКУФЧ РТЕДХУНБФТЙЧБАФ УФТПЗХА ЙДЕОФЙЖЙЛБГЙА НПДЕМЙ, ПДОБЛП ИПТПЫЕЗП НБМП Й ФХФ: ОЕЪОБЮЙФЕМШОП ЙЪНЕОЙЧ УИЕНПФЕИОЙЛХ, РТПЙЪЧПДЙФЕМШ НЕОСЕФ Й ЙДЕОФЙЖЙЛБФПТ, Й ХУФТПКУФЧП РЕТЕУФБЈФ ТБУРПЪОБЧБФШУС ДП ФЕИ РПТ, РПЛБ БЧФПТ УППФЧЕФУФЧХАЭЕЗП НПДХМС Linux ОЕ ЪБНЕФЙФ ЬФП Й ОЕ ДПВБЧЙФ ОПЧЩК ЙДЕОФЙЖЙЛБФПТ Ч УРЙУПЛ РПДДЕТЦЙЧБЕНЩИ.
вПМШЫЙОУФЧХ ТБУРПЪОБООЩИ ХУФТПКУФЧ, ЕУМЙ ПОЙ ДПМЦОЩ РПДДЕТЦЙЧБФШ ПРЕТБГЙЙ ЮФЕОЙС/ЪБРЙУЙ ЙМЙ ИПФС ВЩ ХРТБЧМЕОЙС ( ioctl() , ПРЙУБООЩК ОЙЦЕ), УППФЧЕФУФЧХЕФ ЖБКМ-ДЩТЛБ Ч ЛБФБМПЗЕ /dev ЙМЙ ПДОПН ЙЪ ЕЗП РПДЛБФБМПЗПЧ. ч ЪБЧЙУЙНПУФЙ ПФ ФПЗП, ЧЩВТБОБ МЙ Ч УЙУФЕНЕ УФБФЙЮЕУЛБС ЙМЙ ДЙОБНЙЮЕУЛБС УИЕНБ ЙНЕОПЧБОЙС ХУФТПКУФЧ, ЖБКМПЧ-ДЩТПЛ Ч /dev НПЦЕФ ВЩФШ Й ПЮЕОШ НОПЗП, Й ПФОПУЙФЕМШОП НБМП. рТЙ УФБФЙЮЕУЛПК УИЕНЕ ЙНЕОПЧБОЙС ФП, ЮФП СДТП ТБУРПЪОБМП ЧОЕЫОЕЕ ХУФТПКУФЧП, ОЙЛБЛ ОЕ УППФОПУЙФУС У ФЕН, ЮФП Ч /dev ЙНЕЕФУС ДМС ЬФПЗП ХУФТПКУФЧБ ЖБКМ-ДЩТЛБ:
рТЙ ДЙОБНЙЮЕУЛПК УИЕНЕ ЙНЕОПЧБОЙС РТЙНЕОСЕФУС УРЕГЙБМШОБС ЧЙТФХБМШОБС ЖБКМПЧБС УЙУФЕНБ, ЛПФПТБС МЙВП РПМОПУФША РПДНЕОСЕФ ЛБФБМПЗ /dev , МЙВП ТБУРПМБЗБЕФУС Ч ДТХЗПН ЛБФБМПЗЕ (ОБРТЙНЕТ, /sys ), ЙНЕАЭЕН ОЕРПИПЦХА ОБ /dev ЙЕТБТИЙЪЙТПЧБООХА УФТХЛФХТХ; Ч ЬФПН УМХЮБЕ ЖБКМЩ-ДЩТЛЙ Ч /dev ЪБЧПДЙФ УРЕГЙБМШОБС УМХЦВБ. ьФПФ УРПУПВ ЗПТБЪДП ХДПВОЕЕ Й ДМС ЮЕМПЧЕЛБ, ЛПФПТЩК ЪБРХУФЙМ ЛПНБОДХ ls /dev , Й ДМС ЛПНРШАФЕТБ (Ч УМХЮБЕ РПДЛМАЮЕОЙС ЧОЕЫОЙИ ХУФТПКУФЧ, ОБРТЙНЕТ, УЯЈНОЩИ ЦЈУФЛЙИ ДЙУЛПЧ, «ОБ МЕФХ»). пДОБЛП ПО ФТЕВХЕФ УПВМАДБФШ ДПРПМОЙФЕМШОХА МПЗЙЛХ «РТЙЧСЪЛЙ» ОБКДЕООПЗП ХУФТПКУФЧБ Л ЙНЕОЙ, ЙОПЗДБ ЧЕУШНБ ЪБРХФБООХА ЙЪ-ЪБ ФПК ЦЕ ОЕЮЈФЛПК ЙДЕОФЙЖЙЛБГЙЙ. рПУЛПМШЛХ РТПЙУИПДЙФШ ЬФП ДПМЦОП Ч УБНЩК ПФЧЕФУФЧЕООЩК НПНЕОФ, РТЙ ЪБЗТХЪЛЕ УЙУФЕНЩ, ДЙОБНЙЮЕУЛХА УИЕНХ ЙНЕОПЧБОЙС ЙУРПМШЪХАФ У ПУФПТПЦОПУФША.
жБКМЩ-ДЩТЛЙ Й ДТХЗЙЕ ФЙРЩ ЖБКМПЧ
лПЕ-ЛБЛЙЕ ЙДЕЙ ДЙОБНЙЮЕУЛПЗП ЙНЕОПЧБОЙС ХУФТПКУФЧ РТЙУХФУФЧХАФ Й Ч УФБФЙЮЕУЛПК УИЕНЕ. фБЛ, ЖБКМЩ /dev/mouse ЙМЙ /dev/cdrom , ОБ УБНПН ДЕМЕ — УЙНЧПМШОЩЕ УУЩМЛЙ ОБ УППФЧЕФУФЧХАЭЙЕ ЖБКМЩ-ДЩТЛЙ. еУМЙ ФЙР НЩЫЙ ЙМЙ МБЪЕТОПЗП РТЙЧПДБ ЙЪНЕОЙФУС, ДПУФБФПЮОП ЙЪНЕОЙФШ ЬФЙ УУЩМЛЙ Й РЕТЕЪБРХУФЙФШ УППФЧЕФУФЧХАЭЙЕ УМХЦВЩ.
йЪХЮЙЧ ЧЩДБЮХ ЛПНБОДЩ ls -lL (ЛМАЮ “ -L ” ЪБУФБЧМСЕФ ls ЧЩЧПДЙФШ ЙОЖПТНБГЙА ОЕ РТП УЙНЧПМШОХА УУЩМЛХ, Б РТП ЖБКМ, ОБ ЛПФПТЩК ПОБ ХЛБЪЩЧБЕФ), нЕЖПДЙК ПВОБТХЦЙМ, ЮФП ФБ ЧНЕУФП ТБЪНЕТБ ЖБКМБ-ДЩТЛЙ (ЛПФПТЩК ТБЧЕО ОХМА) ЧЩЧПДЙФ ДЧБ ЮЙУМБ. рЕТЧПЕ ЙЪ ЬФЙИ ЮЙУЕМ ОБЪЩЧБЕФУС УФБТЫЙН ОПНЕТПН ХУФТПКУФЧБ (major device number), ПОП, ЗТХВП ЗПЧПТС, УППФЧЕФУФЧХЕФ ДТБКЧЕТХ, ПФЧЕЮБАЭЕНХ ЪБ ХУФТПКУФЧП. чФПТПЕ ОБЪЩЧБЕФУС НМБДЫЙН ОПНЕТПН ХУФТПКУФЧБ (minor device number), ПОП УППФЧЕФУФЧХЕФ УРПУПВХ ТБВПФЩ У ХУФТПКУФЧПН, Б ДМС ДЙУЛПЧЩИ ОПУЙФЕМЕК — ТБЪДЕМХ. ч ЮБУФОПУФЙ, ЙЪ РТЙНЕТБ ЧЙДОП, ЮФП ХУФТПКУФЧБНЙ /dev/random Й /dev/urandom ЪБОЙНБЕФУС ПДЙО Й ФПФ ЦЕ ДТБКЧЕТ УП УФБТЫЙН ОПНЕТПН 1 . рТЙ ЬФПН ЮБУФШ ХУФТПКУФЧ (РП РТЕЙНХЭЕУФЧХ — ДЙУЛПЧЩЕ) ЙНЕЕФ ФЙР «b», Б ДТХЗБС ЮБУФШ — «c» (ЬФПФ ФЙР ЙНЕАФ, ОБРТЙНЕТ, ФЕТНЙОБМЩ). фЙР ХЛБЪБО Ч БФТЙВХФБИ ЖБКМБ РЕТЧЩН УЙНЧПМПН. ьФП ВМПЮОЩЕ (block) ХУФТПКУФЧБ, ПВНЕО ДБООЩНЙ У ЛПФПТЩНЙ ЧПЪНПЦЕО ФПМШЛП РПТГЙСНЙ (ВМПЛБНЙ) ПРТЕДЕМЈООПЗП ТБЪНЕТБ, Й УЙНЧПМШОЩЕ (character) ХУФТПКУФЧБ, ЪБРЙУШ Й ЮФЕОЙЕ У ЛПФПТЩИ РТПЙУИПДЙФ РПВБКФОП. вМПЮОЩЕ ХУФТПКУФЧБ, ЧДПВБЧПЛ, НПЗХФ РПДДЕТЦЙЧБФШ ЛПНБОДЩ РТСНПЗП ДПУФХРБ ЧЙДБ «РТПЮЙФБФШ ВМПЛ ОПНЕТ ФБЛПК-ФП » ЙМЙ «ЪБРЙУБФШ ДБООЩЕ ОБ ДЙУЛ, ОБЮЙОБС У ФБЛПЗП-ФП ВМПЛБ».
вМПЮОЩЕ Й УЙНЧПМШОЩЕ ХУФТПКУФЧБ — РПМОПРТБЧОЩЕ ПВЯЕЛФЩ ЖБКМПЧПК УЙУФЕНЩ, ФБЛЙЕ ЦЕ, ЛБЛ ЖБКМЩ, ЛБФБМПЗЙ Й УЙНЧПМШОЩЕ УУЩМЛЙ. еУФШ ЕЭЈ ДЧБ ФЙРБ УРЕГЙБМШОЩИ ЖБКМПЧ — ЛБОБМЩ Й УПЛЕФЩ. лБОБМ-ЖБКМ (ЙМЙ fifo) ОБЪЩЧБАФ ЕЭЈ ЙНЕОПЧБООЩН ЛБОБМПН (named pipe): ЬФП ФБЛПК ЦЕ ПВЯЕЛФ УЙУФЕНЩ, ЛБЛ Й ФПФ, ЮФП ЙУРПМШЪХЕФУС ЛПНБОДОПК ПВПМПЮЛПК ДМС ПТЗБОЙЪБГЙЙ ЛПОЧЕКЕТБ (ЕЗП ОБЪЩЧБАФ ОЕЙНЕОПЧБООЩН ЛБОБМПН), ТБЪОЙГБ НЕЦДХ ОЙНЙ Ч ФПН, ЮФП Х fifo ЕУФШ ЙНС, ПО ЪБТЕЗЙУФТЙТПЧБО Ч ЖБКМПЧПК УЙУФЕНЕ. ьФП — ФЙРЙЮОЩК ЖБКМ-ДЩТЛБ, РТЙЮЈН ДЩТЛБ ДЧХИУФПТПООСС: МАВБС РТПЗТБННБ НПЦЕФ ЪБРЙУБФШ Ч ЛБОБМ (ЕУМЙ РПЪЧПМСАФ РТБЧБ ДПУФХРБ) Й МАВБС РТПЗТБННБ НПЦЕФ ПФФХДБ РТПЮЙФБФШ. уПЪДБФШ ЙНЕОПЧБООЩК ЛБОБМ НПЦОП У РПНПЭША ЛПНБОДЩ mkfifo :
юФП ЦЕ ЛБУБЕФУС УПЛЕФПЧ, ФП ЬФП — ВПМЕЕ УМПЦОЩЕ ПВЯЕЛФЩ, РТЕДОБЪОБЮЕООЩЕ ДМС УЧСЪЙ ДЧХИ РТПГЕУУПЧ Й РЕТЕДБЮЙ ЙОЖПТНБГЙЙ Ч ПВЕ УФПТПОЩ. уПЛЕФ НПЦОП РТЕДУФБЧЙФШ Ч ЧЙДЕ ДЧХИ ЛБОБМПЧ (ПДЙО «ФХДБ», ДТХЗПК «ПВТБФОП»), ПДОБЛП УФБОДБТФОЩЕ ЖБКМПЧЩЕ ПРЕТБГЙЙ ПФЛТЩФЙС/ЮФЕОЙС/ЪБРЙУЙ ОБ ОЈН ОЕ ТБВПФБАФ. рТПГЕУУ, ПФЛТЩЧЫЙК УПЛЕФ, УЮЙФБЕФУС УЕТЧЕТПН: ПО РПУФПСООП «УМХЫБЕФ», ОЕФ МЙ Ч ОЈН ОПЧЩИ ДБООЩИ, Б ЛПЗДБ ФЕ РПСЧМСАФУС, УЮЙФЩЧБЕФ ЙИ, ПВТБВБФЩЧБЕФ, Й, ЧПЪНПЦОП, ЪБРЙУЩЧБЕФ Ч УПЛЕФ ПФЧЕФ. рТПГЕУУ-ЛМЙЕОФ НПЦЕФ РПДЛМАЮЙФШУС Л УПЛЕФХ, ПВНЕОСФШУС ЙОЖПТНБГЙЕК У РТПГЕУУПН-УЕТЧЕТПН Й ПФЛМАЮЙФШУС. фПЮОП ФБЛ ЦЕ НПЦОП РЕТЕДБЧБФШ ДБООЩЕ Й РП УЕФЙ, Ч ЬФПН УМХЮБЕ ХЛБЪЩЧБЕФУС ОЕ РХФШ Л УПЛЕФХ ОБ ЖБКМПЧПК УЙУФЕНЕ (Ф. О. unix domain socket), Б УЕФЕЧПК БДТЕУ Й РПТФ ХДБМЈООПЗП ЛПНРШАФЕТБ (ОБРТЙНЕТ internet socket, ЕУМЙ РПДЛМАЮБФШУС У РПНПЭША УЕФЙ Internet).
дТБКЧЕТЩ ХУФТПКУФЧ
лБЛ ХЦЕ ЗПЧПТЙМПУШ Ч МЕЛГЙЙ ьФБРЩ ЪБЗТХЪЛЙ УЙУФЕНЩ, ЮБУФШ УЙУФЕНЩ, ПФЧЕЮБАЭБС ЪБ ЧЪБЙНПДЕКУФЧЙЕ У ЛБЛЙН-ОЙВХДШ ЧОЕЫОЙН ХУФТПКУФЧПН Й ОБЪЩЧБЕНБС «ДТБКЧЕТ», Ч Linux МЙВП ЧИПДЙФ Ч СДТП, МЙВП ПЖПТНМСЕФУС Ч ЧЙДЕ НПДХМС СДТБ, Й РПДЗТХЦБЕФУС РП ОЕПВИПДЙНПУФЙ. уМЕДПЧБФЕМШОП, ЖБКМ-ДЩТЛБ, ПВТБЭЕОЙЕ Л ЛПФПТПНХ РТЙЧПДЙМП Л «no such device or address», ЧРПМОЕ НПЦЕФ Й ЪБТБВПФБФШ (Ч ЬФПН ПДОБ ЙЪ РТЙЮЙО ПЗТПНОПЗП ЛПМЙЮЕУФЧБ ХУФТПКУФЧ Ч /dev ). зХТЕЧЙЮ ОБПФТЕЪ ПФЛБЪБМУС ПВЯСУОСФШ нЕЖПДЙА «ЛБЛ ДПВБЧЙФШ ОПЧЩК ДТБКЧЕТ» ДП ФЕИ РПТ, РПЛБ ФПФ ОЕ ВХДЕФ МХЮЫЕ ТБЪВЙТБФШУС Ч БТИЙФЕЛФХТЕ ЛПНРШАФЕТПЧ ЧППВЭЕ Й Ч БРРБТБФОПК ЮБУФЙ IBM-УПЧНЕУФЙНЩИ ЛПНРШАФЕТПЧ Ч ЮБУФОПУФЙ. рПЬФПНХ ЧУЈ, ЮФП УНПЗ РПОСФШ нЕЖПДЙК, ОЕ ЙНЕС ФБЛЙИ ЪОБОЙК, УЧПДЙМПУШ Л УМЕДХАЭЕНХ. чП-РЕТЧЩИ, ЕУМЙ УХЭЕУФЧХАФ ТБЪМЙЮЙС НЕЦДХ ФЕН, ЛБЛ РП ХНПМЮБОЙА ЪБЗТХЦБЕФ НПДХМЙ УЙУФЕНБ Й ФЕН, ЛБЛ ОБ УБНПН ДЕМЕ ЬФП ОЕПВИПДЙНП ДЕМБФШ, ТБЪМЙЮЙС ДПМЦОЩ ВЩФШ ПРЙУБОЩ Ч ЖБКМЕ /etc/modules.conf . чП-ЧФПТЩИ, РПУМЕ ЙЪНЕОЕОЙС ЬФПЗП ЖБКМБ, ДПВБЧМЕОЙС ОПЧПЗП ХУФТПКУФЧБ, ПВОПЧМЕОЙС УБНЙИ НПДХМЕК Й Ф. Р. УМЕДХЕФ ЪБРХУЛБФШ ХФЙМЙФХ depmod , ЛПФПТБС ЪБОПЧП ЧЩУФТБЙЧБЕФ ОЕРТПФЙЧПТЕЮЙЧХА РПУМЕДПЧБФЕМШОПУФШ ЪБЗТХЪЛЙ НПДХМЕК. ч-ФТЕФШЙИ, ЙОФЕТЕУОП (ОП Ч ПФУХФУФЧЙЕ ЪОБОЙК — НБМПРПЪОБЧБФЕМШОП) ЪБРХУЛБФШ ХФЙМЙФХ lspci , ЛПФПТБС РПЛБЪЩЧБЕФ УРЙУПЛ ХУФТПКУФЧ (ТБУРПЪОБЧБЕНЩИ РП УФБОДБТФХ PCI), ОБКДЕООЩИ ОБ ЛПНРШАФЕТЕ.
тБВПФБ У ХУФТПКУФЧБНЙ
чУЕ ЖБКМЩ-ДЩТЛЙ РПДЮЙОСАФУС ПДОЙН Й ФЕН ЦЕ РТБЧЙМБН ТБВПФЩ У ЖБКМБНЙ: ЙИ НПЦОП ПФЛТЩЧБФШ ДМС ЪБРЙУЙ ЙМЙ ЮФЕОЙС, ЪБРЙУЩЧБФШ ДБООЩЕ ЙМЙ УЮЙФЩЧБФШ ЙИ УФБОДБТФОЩНЙ УТЕДУФЧБНЙ, Б РП ПЛПОЮБОЙЙ ТБВПФЩ — ЪБЛТЩЧБФШ. пФЛТЩФЙЕ Й ЪБЛТЩФЙЕ ЖБКМБ (УЙУФЕНОЩЕ ЧЩЪПЧЩ open() Й close() ) Ч ЛПНБОДОПН ЙОФЕТРТЕФБФПТЕ ОЕ РТЕДУФБЧМЕОП ПФДЕМШОПК ПРЕТБГЙЕК, ПОП ЧЩРПМОСЕФУС БЧФПНБФЙЮЕУЛЙ РТЙ РЕТЕОБРТБЧМЕОЙЙ ЧЧПДБ (ПФЛТЩФЙЕ ОБ ЮФЕОЙЕ) ЙМЙ ЧЩЧПДБ (ОБ ЪБРЙУШ). ьФП РПЪЧПМСЕФ ТБВПФБФШ Й У ХУФТПКУФЧБНЙ, Й У ЛБОБМБНЙ, Й У ЖБКМБНЙ УПЧЕТЫЕООП ПДЙОБЛПЧП, ЮФП БЛФЙЧОП ЙУРПМШЪХЕФУС Ч Linux РТПЗТБННБНЙ-ЖЙМШФТБНЙ. лБЦДЩК ФЙР ЖБКМПЧ ЙНЕЕФ УЧПА УРЕГЙЖЙЛХ, ОБРТЙНЕТ, РТЙ ЪБРЙУЙ ОБ ВМПЮОПЕ ХУФТПКУФЧП ДБООЩЕ ОБЛБРМЙЧБАФУС СДТПН Ч УРЕГЙБМШОПН ВХЖЕТЕ ТБЪНЕТПН Ч ПДЙО ВМПЛ, Й ФПМШЛП РПУМЕ ЪБРПМОЕОЙС ВХЖЕТБ ЪБРЙУЩЧБАФУС. еУМЙ РТЙ ЪБЛТЩФЙЙ ЖБКМБ ВХЖЕТ ОЕРПМПО, ПО ЧУЈ ТБЧОП РЕТЕДБЈФУС ГЕМЙЛПН: ЮБУФШ — ДБООЩЕ, ЪБРЙУБООЩЕ РПМШЪПЧБФЕМЕН, ЮБУФШ — ДБООЩЕ, ПУФБЧЫЙЕУС ПФ РТЕДЩДХЭЕК ПРЕТБГЙЙ ЪБРЙУЙ). ьФП, ЛПОЕЮОП, ОЕ ПЪОБЮБЕФ, ЮФП ЙЪ ЖБКМБ, ОБИПДСЭЕЗПУС ОБ ВМПЮОПН ХУФТПКУФЧЕ, МЕЗЛП РП ПЫЙВЛЕ РТПЮЙФБФШ ФБЛПК «НХУПТ»: ДМЙОБ ЖБКМБ ЙЪЧЕУФОБ, Й СДТП УБНП УМЕДЙФ ЪБ ФЕН, ЮФПВЩ РТПЗТБННБ ОЕ РТПЮМБ МЙЫОЕЗП.
дБЦЕ ФБЛЙЕ (ЛБЪБМПУШ ВЩ) РТПУФЩЕ ХУФТПКУФЧБ, ЛБЛ ЦЈУФЛЙЕ ДЙУЛЙ, РПДДЕТЦЙЧБАФ ЗПТБЪДП ВПМШЫЕ ТБЪМЙЮОЩИ ПРЕТБГЙК, ЮЕН РТПУФП ЮФЕОЙЕ ЙМЙ ЪБРЙУШ. рПМШЪПЧБФЕМА, ЛБЛ НЙОЙНХН, НПЦЕФ РПФТЕВПЧБФШУС ХЪОБФШ ТБЪНЕТ ВМПЛБ (ДМС ТБЪОЩИ ФЙРПЧ ДЙУЛПЧ ПО ТБЪОЩК) ЙМЙ ПВЯЈН ЧУЕЗП ДЙУЛБ Ч ВМПЛБИ. дМС НОПЗЙИ ХУФТПКУФЧ УПВУФЧЕООП РЕТЕДБЮБ ДБООЩИ — МЙЫШ ЙФПЗ ЪБНЩУМПЧБФПЗП ПВЭЕОЙС У ХРТБЧМСАЭЕК РТПЗТБННПК ЙМЙ СДТПН. уЛБЦЕН, ДМС ЧЩЧПДБ ПГЙЖТПЧБООПЗП ЪЧХЛБ ОБ ЪЧХЛПЧХА ЛБТФХ УОБЮБМБ ОЕПВИПДЙНП ОБУФТПЙФШ РБТБНЕФТЩ ЪЧХЛПЗЕОЕТБФПТБ: ЮБУФПФХ, ТБЪНЕТ ЫБВМПОБ, ЛПМЙЮЕУФЧП ЛБОБМПЧ, ЖПТНБФ РЕТЕДБЧБЕНЩИ ДБООЩИ Й НОПЗПЕ ДТХЗПЕ. дМС ХРТБЧМЕОЙС ХУФТПКУФЧБНЙ УХЭЕУФЧХЕФ УЙУФЕНОЩК ЧЩЪПЧ ioctl() (iput-output control): ХУФТПКУФЧП ОБДП ПФЛТЩФШ, ЛБЛ ЖБКМ, Б ЪБФЕН ЙУРПМШЪПЧБФШ ЬФХ ЖХОЛГЙА. х ЛБЦДПЗП ХУФТПКУФЧБ — УЧПК ОБВПТ ЛПНБОД ХРТБЧМЕОЙС, РПЬФПНХ Ч ЧЙДЕ ПФДЕМШОПК ХФЙМЙФЩ ioctl() ОЕ ЧУФТЕЮБЕФУС, Б ЙУРПМШЪХЕФУС ОЕСЧОП ДТХЗЙНЙ ХФЙМЙФБНЙ, УРЕГЙБМЙЪЙТХАЭЙНЙУС ОБ ПРТЕДЕМЈООПН ФЙРЕ ХУФТПКУФЧ.
рТБЧБ ДПУФХРБ Л ХУФТПКУФЧБН
оЕЛПФПТЩЕ ХУФТПКУФЧБ РТПУФП ПВСЪБОЩ ВЩФШ ДПУФХРОЩ РПМШЪПЧБФЕМА ОБ ЪБРЙУШ Й ЮФЕОЙЕ. оБРТЙНЕТ, ЧЙТФХБМШОБС ЛПОУПМШ, ЪБ ЛПФПТПК ТБВПФБЕФ нЕЖПДЙК, ДПУФХРОБ РПМШЪПЧБФЕМА methody ОБ ЪБРЙУШ Й ОБ ЮФЕОЙЕ, ЙНЕООП РПЬФПНХ ЛПНБОДОЩК ЙОФЕТРТЕФБФПТ нЕЖПДЙС НПЦЕФ РПУЩМБФШ ФХДБ УЙНЧПМЩ Й УЮЙФЩЧБФШ ЙИ ПФФХДБ. ч ФП ЦЕ ЧТЕНС, ФЕТНЙОБМ, ЪБ ЛПФПТЩН ТБВПФБЕФ зХТЕЧЙЮ, РПМШЪПЧБФЕМА ОЕДПУФХРЕО, Б ФЕТНЙОБМЩ, ЪБ ЛПФПТЩНЙ ОЕ ТБВПФБЕФ ОЙЛФП, ДПУФХРОЩ ФПМШЛП УХРЕТРПМШЪПЧБФЕМА:
нОПЦЕУФЧП ХУФТПКУФЧ Ч УЙУФЕНЕ, ЙУРПМШЪХЕНПК ЛБЛ ТБВПЮБС УФБОГЙС, ФБЛЦЕ ПФДБАФУС ЧП ЧМБДЕОЙЕ — ОБ ЬФПФ ТБЪ, РЕТЧПНХ РПМШЪПЧБФЕМА, ЪБТЕЗЙУФТЙТПЧБЧЫЕНХУС Ч УЙУФЕНЕ. рТЕДРПМБЗБЕФУС, ЮФП ЛПНРШАФЕТ УМХЦЙФ Ч ЛБЮЕУФЧЕ ТБВПЮЕК УФБОГЙЙ ЙНЕООП ЬФПЗП РПМШЪПЧБФЕМС, Б ЧУЕ РПУМЕДХАЭЙЕ ДПУФХРБ Л ЬФЙН ХУФТПКУФЧБН ОЕ РПМХЮБФ 2 . лБЛ РТБЧЙМП, ФБЛ РПУФХРБАФ У ХУФТПКУФЧБНЙ, ЛПФПТЩЕ НПЗХФ РПОБДПВЙФШУС ФПМШЛП ПДОПНХ ЮЕМПЧЕЛХ, УЙДСЭЕНХ ЪБ НПОЙФПТПН: ЪЧХЛПЧЩНЙ Й ЧЙДЕПЛБТФБНЙ, МБЪЕТОЩНЙ РТЙЧПДБНЙ, ДЙУЛПЧПДПН Й Ф. Р.:
тБЪНЕФЛБ ДЙУЛБ Й ЙНЕОПЧБОЙЕ ХУФТПКУФЧ
ч ОБЮБМЕ МЕЛГЙЙ ЗПЧПТЙМПУШ П ФПН, ЮФП НМБДЫЙК ОПНЕТ ХУФТПКУФЧБ, УППФЧЕФУФЧХАЭЕЗП ЦЈУФЛПНХ ДЙУЛХ, ПВЩЮОП ХЛБЪЩЧБЕФ ОБ ПРТЕДЕМЈООЩК ТБЪДЕМ ЬФПЗП ДЙУЛБ. рПОБЮБМХ нЕЖПДЙА ЛБЪБМПУШ, ЮФП УНЩУМБ «РЙМЙФШ» ДЙУЛ ОБ ОЕУЛПМШЛП ТБЪДЕМПЧ ОЕФ ОЙЛБЛПЗП: ЙЪЧЕУФОП, ЮФП ПДЙО ВПМШЫПК ТБЪДЕМ ЖБКМПЧПК УЙУФЕНЩ Linux 3 ЧНЕЭБЕФ ЮХФШ ВПМШЫЕ ДБООЩИ, ЮЕН ОЕУЛПМШЛП НБМЕОШЛЙИ ФПЗП ЦЕ ПВЯЈНБ. лТПНЕ ФПЗП, ТБЪВЙЧБС ДЙУЛ ОБ ТБЪДЕМЩ, НПЦОП ОЕ РТЕДХЗБДБФШ РПДИПДСЭЙЕ ТБЪНЕТЩ ЬФЙИ ТБЪДЕМПЧ, Й ФПЗДБ ТБЪНЕЭЕОЙЕ ОБ ОЙИ ЖБКМПЧПК УЙУФЕНЩ Linux ПЛБЦЕФУС ДЕМПН ОЕМЈЗЛЙН, ЕУМЙ ЧППВЭЕ ЧПЪНПЦОЩН, ФБЛ ЛБЛ УФТХЛФХТБ ДЕТЕЧБ ЛБФБМПЗПЧ Linux УФТПЗП ПРТЕДЕМЕОБ УФБОДБТФПН FHS (УН. МЕЛГЙА уФТХЛФХТБ ЖБКМПЧПК УЙУФЕНЩ).
чРТПЮЕН, Ч ФПН ЦЕ FHS ЧЕУШНБ ОБЗМСДОП ПВПУОПЧБОБ ОЕПВИПДЙНПУФШ ТБЪОЕУЕОЙС ЧУЕЗП ДЕТЕЧБ ЛБФБМПЗПЧ РП ТБЪОЩН ТБЪДЕМБН, ЛБЦДЩК ЙЪ ЛПФПТЩИ ВХДЕФ ЙНЕФШ УПВУФЧЕООХА ЖБКМПЧХА УЙУФЕНХ. лБФБМПЗЙ УЙМШОП ТБЪМЙЮБАФУС РП ФПНХ, ЛБЛ ЮБУФП РТЙИПДЙФУС Ч ОЙИ ЪБРЙУЩЧБФШ, ОБУЛПМШЛП ОБДЈЦОПУФШ ИТБОЕОЙС ДБООЩИ Ч ОЙИ ЧБЦОЕЕ ВЩУФТПДЕКУФЧЙС Й ОБУЛПМШЛП УЙФХБГЙС РЕТЕРПМОЕОЙС ЖБКМПЧПК УЙУФЕНЩ ПРБУОБ Й НПЦЕФ РПНЕЫБФШ ТБВПФЕ. рПЬФПНХ УФПЙФ ЛБФБМПЗ /tmp , ФТЕВХАЭЙК ПЮЕОШ ЮБУФПК ЪБРЙУЙ, ОП ОЕ ФТЕВХАЭЙК ОБДЈЦОПЗП ИТБОЕОЙС ДБООЩИ РПУМЕ РЕТЕЪБЗТХЪЛЙ, ДЕТЦБФШ ОЕ ОБ ФПН ЦЕ ТБЪДЕМЕ, ЮФП Й ЛПТОЕЧХА ЖБКМПЧХА УЙУФЕНХ, ЪБРЙУШ Ч ЛПФПТХА РТПЙУИПДЙФ ТЕДЛП (Ч ЛБФБМПЗ /etc ), ОП ФТЕВХЕФ РПЧЩЫЕООПК ОБДЈЦОПУФЙ. ч ПФДЕМШОЩК ТБЪДЕМ НПЦОП РПНЕУФЙФШ ЧЕУШ ЛБФБМПЗ /usr , ФБЛ ЛБЛ ПО ЧППВЭЕ ОЕ ФТЕВХЕФ ПРЕТБГЙК ЪБРЙУЙ. оБЛПОЕГ, ФБЛЙЕ ЛБФБМПЗЙ, ЛБЛ /var ЙМЙ /home , УХННБТОЩК ПВЯЈН ЖБКМПЧ Ч ЛПФПТЩИ У ФТХДПН РПДДБЈФУС ЛПОФТПМА УП УФПТПОЩ УЙУФЕНЩ, ФПЦЕ ОЕ УМЕДХЕФ ТБЪНЕЭБФШ ОБ ФПН ЦЕ ТБЪДЕМЕ, ЮФП Й ЛПТОЕЧХА ЖБКМПЧХА УЙУФЕНХ, РЕТЕРПМОЕОЙЕ ЛПФПТПК НПЦЕФ ВЩФШ ВПМЕЪОЕООП ЧПУРТЙОСФП Linux.
л ФПНХ ЦЕ ОБ ЛПНРШАФЕТЕ НПЦЕФ ВЩФШ ХУФБОПЧМЕОП ОЕУЛПМШЛП ПРЕТБГЙПООЩИ УЙУФЕН, Й ЛБЦДПК ЙЪ ОЙИ РПОБДПВЙФУС ДМС ЛПТОЕЧПК ЖБКМПЧПК УЙУФЕНЩ ПФДЕМШОЩК ТБЪДЕМ. ч ЬФПК Й РТЕДЩДХЭЕК МЕЛГЙЙ нЕЖПДЙК ТБВПФБЕФ ЙНЕООП ЪБ ФБЛПК НБЫЙОПК: РПНЙНП Linux, ОБ ОЕК ХУФБОПЧМЕО FreeDOS ДМС ЪБРХУЛБ ПДОПК-ЕДЙОУФЧЕООПК РТПЗТБННЩ.
тБЪНЕФЛБ ДЙУЛБ IBM-УПЧНЕУФЙНПЗП ЛПНРШАФЕТБ
тБЪВЙЕОЙЕ ДЙУЛБ ОБ ТБЪДЕМЩ — ДЕМП (ФЕПТЕФЙЮЕУЛЙ) ОЕУМПЦОПЕ: ЛБЛБС-ФП ЮБУФШ ДЙУЛБ ДПМЦОБ ВЩФШ ПФЧЕДЕОБ РПД ФБВМЙГХ ТБЪДЕМПЧ, Ч ЛПФПТПК Й ВХДЕФ ОБРЙУБОП, ЛБЛ ТБЪВЙФ ДЙУЛ. уФБОДБТФОБС ФБВМЙГБ ТБЪДЕМПЧ ДМС ДЙУЛБ IBM-УПЧНЕУФЙНПЗП ЛПНРШАФЕТБ — HDPT (hard disk partition table) — ТБУРПМБЗБЕФУС Ч ЛПОГЕ УБНПЗП РЕТЧПЗП УЕЛФПТБ ДЙУЛБ, РПУМЕ РТЕДЪБЗТХЪЮЙЛБ (master boot record, MBR) Й УПУФПЙФ ЙЪ ЮЕФЩТЈИ ЪБРЙУЕК ЧЙДБ « ФЙР ОБЮБМП ЛПОЕГ », ПРЙУЩЧБАЭЙИ ПЮЕТЕДОПК ТБЪДЕМ ДЙУЛБ (ЕУМЙ ТБЪДЕМБ ОЕФ, РПМЕ ФЙР ХУФБОБЧМЙЧБЕФУС Ч 0 ). тБЪДЕМЩ, ХРПНСОХФЩЕ Ч HDPT ДЙУЛБ, РТЙОСФП ОБЪЩЧБФШ ПУОПЧОЩНЙ (primary partition). хУФТПКУФЧП Linux, УППФЧЕФУФЧХАЭЕЕ РЕТЧПНХ ДЙУЛХ ЛПНРШАФЕТБ, ПВЩЮОП ОБЪЩЧБЕФУС /dev/hda (hard disk «a»). чФПТПК ДЙУЛ РПМХЮБЕФ ЙНС hdb , ФТЕФЙК — hdc Й ФБЛ ДБМЕЕ. оБ ФЙРЙЮОПН IBM-УПЧНЕУФЙНПН ЛПНРШАФЕТЕ ФБЛПЕ ЦЕ ЙНС РПМХЮЙФ Й МБЪЕТОЩК ОБЛПРЙФЕМШ. юБУФП ВЩЧБЕФ, ЮФП ЦЈУФЛЙК ДЙУЛ — РЕТЧЩК Ч УЙУФЕНЕ ( hda ), Б МБЪЕТОЩК ОБЛПРЙФЕМШ — ФТЕФЙК ( hdc ), ЧФПТПЗП ЦЕ ЧПЧУЕ ОЕФ. хУФТПКУФЧБ, УППФЧЕФУФЧХАЭЙЕ ПУОПЧОЩН ТБЪДЕМБН ДЙУЛБ, ОБЪЩЧБАФУС /dev/hdВХЛЧБОПНЕТ , ДМС РЕТЧПЗП ДЙУЛБ — ПФ hda1 ДП hda4 . рТПУНПФТЕФШ УРЙУПЛ ТБЪДЕМПЧ НПЦОП У РПНПЭША ЛПНБОДЩ fdisk -l .
уПЧНЕЭЕОЙЕ ОЕУЛПМШЛЙИ УИЕН ТБЪНЕФЛЙ
оБ ФПК УБНПК — ДЧХИУЙУФЕНОПК — НБЫЙОЕ fdisk ПВОБТХЦЙМБ РСФЩК, ЫЕУФПК Й УЕДШНПК ТБЪДЕМЩ, ПДОБЛП ОЕ РПЛБЪБМБ ОЙ ФТЕФЙК, ОЙ ЮЕФЧЈТФЩК:
юФПВЩ ОЕ ХУМПЦОСФШ ЬФХ УИЕНХ, РТЙ ТБЪНЕФЛЕ ДЙУЛБ УПВМАДБАФ ДЧБ РТБЧЙМБ: ЧП-РЕТЧЩИ, ТБУЫЙТЕООЩИ ТБЪДЕМПЧ Ч ФБВМЙГЕ ТБЪВЙЕОЙС ДЙУЛБ НПЦЕФ ВЩФШ ОЕ ВПМЕЕ ПДОПЗП, Б ЧП-ЧФПТЩИ, ФБВМЙГБ ТБЪВЙЕОЙС ТБУЫЙТЕООПЗП ТБЪДЕМБ НПЦЕФ УПДЕТЦБФШ МЙВП ПДОХ ЪБРЙУШ — ПРЙУБОЙЕ ДПРПМОЙФЕМШОПЗП ТБЪДЕМБ, МЙВП ДЧЕ — ПРЙУБОЙЕ ДПРПМОЙФЕМШОПЗП ТБЪДЕМБ Й ПРЙУБОЙЕ ЧМПЦЕООПЗП ТБУЫЙТЕООПЗП ТБЪДЕМБ. уПВМАДЕОЙЕ ЬФПЗП РТБЧЙМБ РПЪЧПМСЕФ Ч Linux ОХНЕТПЧБФШ ТБЪДЕМЩ МЙОЕКОП: РПУМЕ ЮЕФЩТЈИ ПУОПЧОЩИ, ОПНЕТ 5 РПМХЮБЕФ ДПРПМОЙФЕМШОЩК ТБЪДЕМ Ч РЕТЧПН ТБУЫЙТЕООПН, 6 — ТБЪДЕМ ЧП ЧФПТПН ТБУЫЙТЕООПН, ЧМПЦЕООЩН Ч РЕТЧЩК, Й Ф. Р. уБНЙ ЧМПЦЕООЩЕ ТБУЫЙТЕООЩЕ ТБЪДЕМЩ РТЙ ЬФПН ОЕ ОХНЕТХАФУС Й ОЙЛБЛПНХ ХУФТПКУФЧХ Ч /dev/ ОЕ УППФЧЕФУФЧХАФ. ч ДЕКУФЧЙФЕМШОПУФЙ ТБЪВЙЕОЙЕ ДЙУЛБ ДЧХИУЙУФЕНОПК НБЫЙОЩ нЕЖПДЙС ЧЩЗМСДЙФ ФБЛ:
йММАУФТБГЙС 1. тБЪВЙЕОЙЕ ДЙУЛБ ДЧХИУЙУФЕНОПЗП ЛПНРШАФЕТБ
й ТБЪДЕМЩ, Й ФБВМЙГЩ ТБЪВЙЕОЙС РТЙОСФП ТБЪНЕЭБФШ У ОБЮБМБ ГЙМЙОДТБ (ФЕТНЙО, ЙНЕАЭЙК ПФОПЫЕОЙЕ Л ЧОХФТЕООЕНХ ХУФТПКУФЧХ ЦЈУФЛПЗП ДЙУЛБ), ФБЛ ЮФП РТЙ ЪБЧЕДЕОЙЙ ЛБЦДПЗП ТБУЫЙТЕООПЗП ТБЪДЕМБ ОБ ЬФПН ЛПНРШАФЕТЕ ФТБФЙМПУШ ЧРХУФХА РП ЮЕФЩТЕ НЕЗБВБКФБ (ФБЛПЧ, РП УМПЧБН fdisk , ТБЪНЕТ ГЙМЙОДТБ).
фПК ЦЕ ФБЛФЙЛПК — ТБЪВЙЕОЙЕН ОЕ ДЙУЛБ, Б ТБЪДЕМБ — РПМШЪХАФУС, ЛПЗДБ ФБВМЙГБ ТБЪВЙЕОЙС ОЕУФБОДБТФОБ ДМС IBM PC. оБРТЙНЕТ, UNIX-РПДПВОЩЕ УЙУФЕНЩ УЕНЕКУФЧБ BSD ЙУРПМШЪХАФ УПВУФЧЕООЩК ХОЙЧЕТУБМШОЩК ЖПТНБФ ТБЪВЙЕОЙС (ПО УФБТЫЕ, ЮЕН УБНБ ЙДЕС ПВ IBM PC!), ДМС ЮЕЗП РПДПВОПК УЙУФЕНЕ ЧЩДЕМСЕФУС ПДЙО ТБЪДЕМ, Й ПОБ ФЧПТЙФ У ОЙН ЧУЈ, ЮФП ЪБВМБЗПТБУУХДЙФУС.
пВМБУФШ РПДЛБЮЛЙ
йФБЛ, Linux ОБ ЛПНРШАФЕТЕ ЙЪ РТЙНЕТБ ЙУРПМШЪХЕФ ФТЙ ТБЪДЕМБ: hda5 , hda6 Й hda7 . фЙР ТБЪДЕМБ hda6 , «Linux sawp», ПФМЙЮБЕФУС ПФ ДЧХИ ДТХЗЙИ, РП УМПЧБН зХТЕЧЙЮБ, «ЬФП ЧППВЭЕ ОЕ ЖБКМПЧБС УЙУФЕНБ». ьФП — Ф. О. ПВМБУФШ РПДЛБЮЛЙ (swap space), РТПУФТБОУФЧП ОБ ДЙУЛЕ, ЙУРПМШЪХЕНПЕ УЙУФЕНПК ДМС ПТЗБОЙЪБГЙЙ ЧЙТФХБМШОПК РБНСФЙ. пЛБЪЩЧБЕФУС, ПВМБУФСН ПРЕТБФЙЧОПК РБНСФЙ, ЛПФПТЩЕ РТПГЕУУЩ ЪБРТБЫЙЧБАФ Х СДТБ, ОЕ ЧУЕЗДБ УППФЧЕФУФЧХАФ ЮБУФЙ ЖЙЪЙЮЕУЛПК ПРЕТБФЙЧОПК РБНСФЙ. еУМЙ РТПГЕУУ ДПМЗПЕ ЧТЕНС ОЕ ЙУРПМШЪХЕФ ЪБЛБЪБООХА ПРЕТБФЙЧОХА РБНСФШ, ЕЈ УПДЕТЦЙНПЕ ЪБРЙУЩЧБЕФУС ОБ ДЙУЛ, Ч ПВМБУФШ РПДЛБЮЛЙ — ФЕН УБНЩН ПУЧПВПЦДБЕФУС НЕУФП Ч ЖЙЪЙЮЕУЛПК РБНСФЙ ДМС ДТХЗЙИ РТПГЕУУПЧ. лПЗДБ ЦЕ ПО «ЧУРПНОЙФ» ПВ ЬФПК ПВМБУФЙ РБНСФЙ, СДТП РПДЛБЮБЕФ ЕЈ У ДЙУЛБ, ТБЪНЕУФЙФ Ч ПРЕТБФЙЧОПК РБНСФЙ (ЧПЪНПЦОП, ПФЛБЮБЧ ДТХЗЙЕ ПВМБУФЙ), Й ФПМШЛП ФПЗДБ РПЪЧПМЙФ РТПГЕУУХ РТПДПМЦЙФШ ТБВПФХ.
чРПМОЕ НПЦЕФ УМПЦЙФШУС УЙФХБГЙС, ЛПЗДБ ОЕУЛПМШЛП РТПГЕУУПЧ ЪБЛБЪБМЙ ПРЕТБФЙЧОПК РБНСФЙ ВПМШЫЕ, ЮЕН ЕЈ ЕУФШ Ч ДЕКУФЧЙФЕМШОПУФЙ, Й РТЕУРПЛПКОП ТБВПФБАФ, РПФПНХ ЮФП ОЕ ЙУРПМШЪХАФ ЧУЈ ЪБЛБЪБООПЕ РТПУФТБОУФЧП УТБЪХ, РПЪЧПМСС УЙУФЕНЕ ПФЛБЮЙЧБФШ ОЕЙУРПМШЪХЕНЩЕ ПВМБУФЙ. л ФПНХ ЦЕ НОПЗЙЕ РТПГЕУУЩ (ПУПВЕООП ДЕНПОЩ) ОЕ ТБВПФБАФ РПУФПСООП, Б ЦДХФ ОБУФХРМЕОЙС ПРТЕДЕМЈООПЗП УПВЩФЙС, Й ЮЕН ДПМШЫЕ ПОЙ ЦДХФ, ФЕН ДПМШЫЕ ОЕ ЙУРПМШЪХАФ ПРЕТБФЙЧОХА РБНСФШ, Й ФЕН ЧЩЫЕ ЧЕТПСФОПУФШ, ЮФП СДТП ПФЛБЮБЕФ ЕЈ.
уФПЙФ ПФДБЧБФШ УЕВЕ ПФЮЈФ, ЮФП ЕУМЙ ЬФЙ УБНЩЕ РТПГЕУУЩ ЧДТХЗ ЪБИПФСФ ТБВПФБФШ ПДОПЧТЕНЕООП Й УП ЧУЕНЙ ПВМБУФСНЙ РБНСФЙ, СДТХ РТЙДЈФУС ФХЗП. вПМШЫХА ЮБУФШ ЧТЕНЕОЙ УЙУФЕНБ ВХДЕФ РТПЧПДЙФШ ПФЛБЮЙЧБС Й РПДЛБЮЙЧБС, РПФПНХ ЮФП ДЙУЛПЧЩЕ ПРЕТБГЙЙ ЮФЕОЙС Й ЪБРЙУЙ ТБВПФБАФ Ч ФЩУСЮЙ ТБЪ НЕДМЕООЕЕ, ЮЕН ЪБРЙУШ Й ЮФЕОЙЕ ЙЪ ПРЕТБФЙЧОПК РБНСФЙ 4 . юФПВЩ ИПФШ ЛБЛ-ФП ПВМЕЗЮЙФШ ЕНХ ЦЙЪОШ, ПВМБУФШ РПДЛБЮЛЙ ТБЪНЕЭБАФ ОБ ПФДЕМШОПН ТБЪДЕМЕ, ПВНЕО ДБООЩНЙ У ЛПФПТЩН ТБВПФБЕФ ВЩУФТЕЕ, ЮЕН ЮФЕОЙЕ Й ЪБРЙУШ Ч ЖБКМ, ПВУМХЦЙЧБЕНЩЕ ЖБКМПЧПК УЙУФЕНПК.
жБКМПЧБС УЙУФЕНБ
йЪ МЕЛГЙЙ уФТХЛФХТБ ЖБКМПЧПК УЙУФЕНЩ нЕЖПДЙК ХЪОБМ, ЛБЛ РПМШЪПЧБФШУС ЖБКМПЧПК УЙУФЕНПК Й ЛБЛХА УФТХЛФХТХ ПОБ ЙНЕЕФ У ФПЮЛЙ ЪТЕОЙС РТПЗТБННЩ, ТБВПФБАЭЕК У ЖБКМБНЙ Ч ОЕК. рТП ФП, ЛБЛ ПТЗБОЙЪПЧБОБ ЖБКМПЧБС УЙУФЕНБ ЙЪОХФТЙ, ЮФП ЙНЕООП ОБИПДЙФУС ПФ ОБЮБМБ ХУФТПКУФЧБ hda5 ДП ЕЗП ЛПОГБ, УХЭЕУФЧХЕФ ОЕНБМП ВПМШЫЙИ УФБФЕК, ЪБЭЙЭЕОП ОЕНБМП ЛБОДЙДБФУЛЙИ (Й ВПМЕЕ ПДОПК ДПЛФПТУЛПК) ДЙУУЕТФБГЙК. тБЪТБВПФЛБ ЖБКМПЧПК УЙУФЕНЩ — УМПЦОЩК Й ЙОФЕТЕУОЩК РТПГЕУУ, ФТЕВХАЭЙК ПДОПЧТЕНЕООП ЧМБДЕОЙС ЧЩУЫЕК НБФЕНБФЙЛПК, УФБФЙУФЙЛПК, ХНЕОЙС ВЕЪПЫЙВПЮОП РТПЗТБННЙТПЧБФШ Й РПМОПЗП ЪОБОЙС ФПЗП, ЛБЛ ТБВПФБЕФ ФП ЙМЙ ЙОПЕ ДЙУЛПЧПЕ ХУФТПКУФЧП. рПЬФПНХ ЖБКМПЧЩИ УЙУФЕН ОЕ ФБЛ НОПЗП, Й ЛБЦДБС ЙЪ ОЙИ ХУФТПЕОБ РП-ПУПВПНХ, Ч УППФЧЕФУФЧЙЙ У ФЕН, ЛБЛ ТЕЫБМ ФПФ ЙМЙ ЙОПК ФЧПТЮЕУЛЙК ЛПММЕЛФЙЧ ЪБДБЮХ ВЩУФТПЗП Й ОБДЈЦОПЗП ДПУФХРБ Л ЖБКМБН.
рТЙОГЙРЩ ПТЗБОЙЪБГЙЙ ДБООЩИ ОБ ДЙУЛЕ
чП ЧУЕИ ЖБКМПЧЩИ УЙУФЕНБИ ЕУФШ Й ОЕНБМП ПВЭЕЗП. оБРТЙНЕТ, Ч ЛБЦДПК ЙЪ ОЙИ ТЕЫБЕФУС ЧПРТПУ НЕФБДБООЩИ, ФП ЕУФШ ЙОЖПТНБГЙЙ, ОЕ ЙНЕАЭЕК РТСНПЗП ПФОПЫЕОЙС Л УПДЕТЦЙНПНХ, ДПРХУФЙН, ЖБКМБ, ОП ПРЙУЩЧБАЭЕК, ЛБЛ ДП ЬФПЗП УПДЕТЦЙНПЗП ДПВТБФШУС. ч ЖБКМПЧПК УЙУФЕНЕ ПВЩЮОП ТБЪМЙЮБЕФУС УЙУФЕНОБС ПВМБУФШ, Ч ЛПФПТПК ЪБРЙУЩЧБАФУС НЕФБДБООЩЕ, Й ПВМБУФШ ДБООЩИ, Ч ЗДЕ ИТБОСФУС УПВУФЧЕООП ЖБКМЩ. уЙУФЕНОБС ПВМБУФШ НПЦЕФ УПУФБЧМСФШ ЪБНЕФОХА ДПМА ПВЭЕЗП ДЙУЛПЧПЗП РТПУФТБОУФЧБ, Й ЧПФ РПЮЕНХ.
тБЪМЙЮБАФ ХУФТПКУФЧП РПУМЕДПЧБФЕМШОПЗП ДПУФХРБ (ОБРТЙНЕТ, ОБЛПРЙФЕМЙ ОБ НБЗОЙФОЩИ МЕОФБИ) Й ХУФТПКУФЧБ РТСНПЗП ДПУФХРБ (ОБРТЙНЕТ, ЦЈУФЛЙЕ ДЙУЛЙ). юФЕОЙЕ (Й ЪБРЙУШ) ДБООЩИ ОБ ХУФТПКУФЧБИ РПУМЕДПЧБФЕМШОПЗП ДПУФХРБ ЙДЈФ РПУМЕДПЧБФЕМШОП: ЕУМЙ УЕКЮБУ ЪБРЙУБО РЕТЧЩК ВМПЛ ОПУЙФЕМС, ФП УМЕДХАЭЙН ВХДЕФ ДПУФХРЕО ЧФПТПК, ЪБ ОЙН — ФТЕФЙК Й Ф. Д. еУМЙ ДПУФХРЕО РСФЩК ВМПЛ, Б ОХЦЕО РЕТЧЩК ЙМЙ ФЩУСЮОЩК, ЧЩРПМОСЕФУС ДМЙФЕМШОБС ПРЕТБГЙС РПЪЙГЙПОЙТПЧБОЙС, РТЙЮЈН ПОБ ФЕН ДМЙООЕЕ, ЮЕН ДБМШЫЕ ПФУФПЙФ ОХЦОЩК ВМПЛ ПФ ФЕЛХЭЕЗП: МЕОФБ РЕТЕНБФЩЧБЕФУС. тБВПФБ У ХУФТПКУФЧБНЙ РТСНПЗП ДПУФХРБ МЕЗЮЕ: ЛБЛПЧ ВЩ ОЙ ВЩМ ФЕЛХЭЙК РТПЮЙФБООЩК ВМПЛ, ЧТЕНС, ЪБ ЛПФПТПЕ ВХДЕФ РТПЮЙФБО МАВПК ДТХЗПК РТЙНЕТОП ПДЙОБЛПЧП.
жБКМЩ ОБ НБЗОЙФОПК МЕОФЕ ХДПВОЕЕ ИТБОЙФШ ГЕМЙЛПН, ЛБЦДЩК ЖБКМ — ПДОЙН ДМЙООЩН ЛХУЛПН. х ФБЛПЗП УРПУПВБ ЕУФШ ПДЙО УХЭЕУФЧЕООЩК ОЕДПУФБФПЛ: ЕУМЙ ОБ МЕОФХ ПВЯЈНПН Ч ЗЙЗБВБКФ ЪБРЙУБФШ 1024 НЕЗБВБКФОЩИ ЖБКМБ, Б РПФПН ХДБМЙФШ ЛБЦДЩК ЧФПТПК, ФП ПВТБЪХЕФУС РПМЗЙЗБВБКФБ УЧПВПДОПЗП НЕУФБ, ОП ЛХУПЮЛБНЙ РП НЕЗБВБКФХ ЛБЦДЩК. фПЗДБ ЪБРЙУШ, УЛБЦЕН, ДЧХИНЕЗБВБКФОПЗП ЖБКМБ РПФТЕВХЕФ ФТЈИ ПРЕТБГЙК: УОБЮБМБ ОБДП РЕТЕРЙУБФШ ЛБЛПК-ОЙВХДШ НЕЗБВБКФОЩК ЖБКМ ОБ УЧПВПДОПЕ НЕУФП, ЪБФЕН ХДБМЙФШ УФБТХА ЕЗП ЛПРЙА, Й ФПМШЛП ЪБФЕН ЪБРЙУБФШ ОБ ПВТБЪПЧБЧЫЕЕУС НЕУФП ВПМШЫПК ЖБКМ.
оБ ХУФТПКУФЧЕ РТСНПЗП ДПУФХРБ НПЦОП ЙЪВЕЦБФШ ЬФПК ОЕРТЙСФОПК УЙФХБГЙЙ, ЕУМЙ РПУФБОПЧЙФШ, ЮФП ЖБКМ НПЦЕФ ТБЪНЕЭБФШУС ОБ ОЈН Ч ПВМБУФЙ ДБООЩИ РП ЮБУФСН, Б ЛБТФБ ТБЪНЕЭЕОЙС ЬФЙИ ЮБУФЕК ВХДЕФ ЪБРЙУБОБ Ч УЙУФЕНОХА ПВМБУФШ. еУМЙ, ОЕ НХДТУФЧХС ПУПВП, РТЕДРПМПЦЙФШ, ЮФП Ч УЙУФЕНОХА ПВМБУФШ ЪБРЙУЩЧБАФУС ОПНЕТБ РПМХЛЙМПВБКФОЩИ УЕЛФПТПЧ, Ч ЛПФПТЩИ МЕЦЙФ ЖБКМ (РП 32 ВЙФБ ЛБЦДЩК ОПНЕТ), ФП ЧЩИПДЙФ, ЮФП ТБЪНЕТ УЙУФЕНОПК ПВМБУФЙ, ЛПФПТЩК НПЦЕФ РПФТЕВПЧБФШУС, ЧУЕЗП Ч 16 ТБЪ НЕОШЫЕ ЖБКМПЧПК. оП Ч Linux Ч УЙУФЕНОХА ПВМБУФШ ЪБРЙУЩЧБАФУС ЙОДЕЛУОЩЕ ДЕУЛТЙРФПТЩ, ТБЪНЕТ ЛПФПТЩИ УХЭЕУФЧЕООП ВПМШЫЕ. лПМЙЮЕУФЧП ЙОДЕЛУОЩИ ДЕУЛТЙРФПТПЧ НПЦЕФ ВЩФШ ОБНОПЗП НЕОШЫЕ ЛПМЙЮЕУФЧБ ВМПЛПЧ, ОП ЧУЈ ЦЕ УЙУФЕНОБС ПВМБУФШ ЪБОЙНБЕФ РТЙНЕТОП ФБЛХА ЦЕ (ПФ РСФЙ ДП ДЕУСФЙ РТПГЕОФПЧ) ДПМА ПВЭЕЗП ДЙУЛПЧПЗП РТПУФТБОУФЧБ.
оБ УБНПН ДЕМЕ, ДБЦЕ ОБ ЦЈУФЛПН ДЙУЛЕ ВМПЛЙ, ТБУРПМПЦЕООЩЕ РПДТСД, УЮЙФЩЧБАФУС (Й ЪБРЙУЩЧБАФУС) ВЩУФТЕЕ, ЮЕН ВМПЛЙ, ТБУРПМПЦЕООЩЕ ЛБЛ РПРБМП. ьЖЖЕЛФ УЧСЪБО У НЕИБОЙЮЕУЛЙН ХУФТПКУФЧПН ЦЈУФЛЙИ ДЙУЛПЧ, РПСУОСФШ ЛПФПТПЕ нЕЖПДЙА зХТЕЧЙЮ ОЕ УФБМ, УУЩМБСУШ ОБ ПВЭЕЙЪЧЕУФОПУФШ. уХФШ ЕЗП Ч ФПН, ЮФП ЪБДЕТЦЛЙ РТЙ ЮФЕОЙЙ ДБООЩИ, ОБИПДСЭЙИУС ОБ ТБЪОЩИ ГЙМЙОДТБИ ДЙУЛБ, ТБУФХФ МЙОЕКОП, ЛБЛ ДМС МЕОФЩ (ЮЕН ДБМШЫЕ, ФЕН ДПМШЫЕ). пДЙО ЙЪ ПУФТПХНОЩИ УРПУПВПЧ ПРФЙНЙЪЙТПЧБФШ ТБВПФХ У ДЙУЛПН УПУФПЙФ Ч ФПН, ЮФПВЩ ТБЪВЙФШ ЧУЕ ГЙМЙОДТЩ ОБ ЗТХРРЩ, Б ЧОХФТЙ ЛБЦДПК ЗТХРРЩ ЧЩДЕМЙФШ УЧПА УЙУФЕНОХА ПВМБУФШ Й ПВМБУФШ ДБООЩИ. фПЗДБ УБНЙ ЖБКМЩ Й ЙИ ЙОДЕЛУОЩЕ ДЕУЛТЙРФПТЩ ВХДХФ МЕЦБФШ, ЕУМЙ ЬФП ЧПЪНПЦОП, ОБ УПУЕДОЙИ ГЙМЙОДТБИ, Й ДПУФХР ХУЛПТЙФУС.
дТХЗПЕ, ВПМЕЕ ПВЭЕЕ ТЕЫЕОЙЕ — ЙУРПМШЪПЧБОЙЕ ЛЕЫЙТПЧБОЙС, РТЙ ЛПФПТПН ДБООЩЕ У ДЙУЛБ ЮБУФЙЮОП ДХВМЙТХАФУС Ч РБНСФЙ. еУМЙ ЛБЛПК-ФП РТПГЕУУ РТПЮЙФБМ ДБООЩЕ ЙЪ ЖБКМБ, ЬФЙ ДБООЩЕ ОЕЛПФПТПЕ ЧТЕНС ОБИПДСФУС Ч РБНСФЙ, ОБ УМХЮБК, ЕУМЙ ПОЙ ЕНХ (ЙМЙ ЛПНХ-ОЙВХДШ ДТХЗПНХ) ПРСФШ РПОБДПВСФУС. рПЧФПТОПЕ ПВТБЭЕОЙЕ ХЦЕ ОЕ ДПКДЈФ ДП ДЙУЛБ, УЙУФЕНБ ЧЕТОЈФ РТПГЕУУХ ДБООЩЕ ЙЪ ЛЕЫБ, ТБЪ ХЦ ПОЙ ОЙЮЕН ОЕ ПФМЙЮБАФУС ПФ ФЕИ, ЮФП ОБ ДЙУЛЕ. еУМЙ РТПГЕУУ ЪБРЙУБМ ДБООЩЕ ОБ ДЙУЛ, УПДЕТЦЙНПЕ ЛЕЫБ ПВОПЧМСЕФУС, ПУФБЧБСУШ БЛФХБМШОЩН.
еЭЈ ЬЖЖЕЛФЙЧОЕК ЛЕЫ ОБ ЪБРЙУШ: ПРЕТБГЙЙ ЪБРЙУЙ ОБЛБРМЙЧБАФУС Ч РБНСФЙ, Б ДП ДЙУЛБ ДПВЙТБАФУС ОЕ УТБЪХ, Й Ч ФПН РПТСДЛЕ, Ч ЛБЛПН ВЩУФТЕЕ РТПКДЈФ ЪБРЙУШ, Б ОЕ Ч ФПН, Ч ЛБЛПН ВЩМЙ ЧЩРПМОЕОЩ. еУМЙ ЪБРЙУШ ЫМБ ЧП ЧТЕНЕООЩК ЖБКМ, ЛПФПТЩК, Ч ЛПОГЕ ЛПОГПЧ, ХДБМЙМЙ, ПВТБЭЕОЙК Л ДЙУЛХ НПЦЕФ Й ЧППВЭЕ ОЕ УМХЮЙФШУС. пДОБЛП У ЛЕЫЙТПЧБОЙЕН ПРЕТБГЙК ЪБРЙУЙ УМЕДХЕФ ПВТБЭБФШУС ВЕТЕЦОП: Б ЧДТХЗ УВПК Ч ЬМЕЛФТПУОБВЦЕОЙЙ РТПЙЪПКДЈФ ЙНЕООП ФПЗДБ, ЛПЗДБ ЮБУФШ ДБООЩИ ХЦЕ ЪБРЙУБОБ, Б ЮБУФШ — ЕЭЈ ОЕФ? б ЕУМЙ ОЕ РПМОПУФША, ЛХУПЮЛБНЙ, ПВОПЧЙМБУШ УЙУФЕНОБС ПВМБУФШ, УПУФПСОЙЕ ЖБКМПЧПК УЙУФЕНЩ РПУМЕ ФПЗП, ЛБЛ РЙФБОЙЕ ПРСФШ ЧЛМАЮБФ, НПЦЕФ ПЛБЪБФШУС УПЧУЕН РМБЮЕЧОЩН — ОБУФПМШЛП, ЮФП ДБЦЕ ХНОБС ХФЙМЙФБ ЧПУУФБОПЧМЕОЙС fsck НПЦЕФ ПЛБЪБФШУС ВЕУУЙМШОПК. рПЬФПНХ УЙУФЕНОЩЕ ПВМБУФЙ МЙВП ЧППВЭЕ ОЕ ЛЕЫЙТХАФУС ОБ ЪБРЙУШ, МЙВП ЙУЛМАЮЙФЕМШОП У РПНПЭША ВХДХЭЙИ ЛБОДЙДБФПЧ Й ДПЛФПТПЧ ОБХЛ, ЮФП ТБУУЮЙФЩЧБАФ ВЕЪПРБУОЩЕ БМЗПТЙФНЩ ПВОПЧМЕОЙС ЖБКМПЧПК УЙУФЕНЩ ЙЪ ЛЕЫБ ОБ ЪБРЙУШ.
тБВПФБ У ЖБКМПЧЩНЙ УЙУФЕНБНЙ
йФБЛ, Linux УЧПВПДОП ТБВПФБЕФ (Й ДБЦЕ РТЕДРПЮЙФБЕФ ТБВПФБФШ) У ОЕУЛПМШЛЙНЙ ТБЪДЕМБНЙ ДЙУЛБ, УПДЕТЦБЭЙНЙ, ЧПЪНПЦОП, ТБЪОЩЕ ФЙРЩ ЖБКМПЧЩИ УЙУФЕН.
нПОФЙТПЧБОЙЕ Й ТБЪНПОФЙТПЧБОЙЕ
йЪ МЕЛГЙЙ уФТХЛФХТБ ЖБКМПЧПК УЙУФЕНЩ нЕЖПДЙК ЪОБЕФ, ЮФП ЖБКМПЧЩЕ УЙУФЕНЩ ОБ ТБЪМЙЮОЩИ ТБЪДЕМБИ «РТЙЧЙЧБАФУС» Ч ЧЙДЕ ЧЕФЧЕК ПВЭЕЗП ДЕТЕЧБ ЛБФБМПЗПЧ, ТБУФХЭЕЗП ЙЪ “ / ”. дЕМБЕФУС ЬФП РТЙ РПНПЭЙ ЛПНБОДЩ mount -o ОБУФТПКЛЙ_НПОФЙТПЧБОЙС ХУФТПКУФЧП ФПЮЛБ_НПОФЙТПЧБОЙС , ЗДЕ ХУФТПКУФЧП — ЬФП ЙНС ВМПЮОПЗП ЖБКМБ-ДЩТЛЙ, ФПЮЛБ_НПОФЙТПЧБОЙС (mountpoint) — РПМОЩК РХФШ Л ЛБФБМПЗХ, Б ОБУФТПКЛЙ_НПОФЙТПЧБОЙС ПРТЕДЕМСАФ ПУПВЩЕ РБТБНЕФТЩ, ТБЪОЩЕ ДМС ТБЪОЩИ ЖБКМПЧЩИ УЙУФЕН. рПУМЕ ЧЩРПМОЕОЙС ЬФПК ЛПНБОДЩ УПДЕТЦЙНПЕ ЖБКМПЧПК УЙУФЕНЩ, ТБЪНЕЭЈООПК ОБ ХУФТПКУФЧЕ (ЛБЛ РТБЧЙМП, ДЙУЛПЧПН ТБЪДЕМЕ), УФБОПЧЙФУС ДПУФХРОЩН Ч ЧЙДЕ ДЕТЕЧБ РПДЛБФБМПЗПЧ ФПЮЛЙ_НПОФЙТПЧБОЙС . рПУНПФТЕФШ УРЙУПЛ ЧУЕИ УНПОФЙТПЧБООЩИ ЖБКМПЧЩИ УЙУФЕН НПЦОП У РПНПЭША ЛПНБОДЩ mount ВЕЪ РБТБНЕФТПЧ:
дМС ФПЗП, ЮФПВЩ ЖБКМПЧЩЕ УЙУФЕНЩ НПОФЙТПЧБМЙУШ РТЙ ЪБЗТХЪЛЕ УЙУФЕНЩ, ЙИ ПРЙУЩЧБАФ Ч ЖБКМЕ /etc/fstab :
дЧЕ РПУМЕДОЙИ УФТПЛЙ ПФОПУСФУС Л НПОФЙТПЧБОЙА УЯЈНОЩИ (removable) ОПУЙФЕМЕК: МБЪЕТОПЗП Й ЗЙВЛПЗП ДЙУЛПЧ. уЯЈНОЩЕ ОПУЙФЕМЙ РТЙИПДЙФУС НПОФЙТПЧБФШ ЗПТБЪДП ЮБЭЕ ОЕУЯЈНОЩИ, ОЕ ЧП ЧТЕНС ЪБЗТХЪЛЙ УЙУФЕНЩ, Б ЧУСЛЙК ТБЪ, ЛПЗДБ ОПУЙФЕМШ УНЕОЙМУС, Й УПДЕТЦЙНПЕ ОПЧПЗП ОЕПВИПДЙНП РПМШЪПЧБФЕМА. нБМП ФПЗП, ОБДП ТБЪТЕЫЙФШ ЧЩРПМОСФШ ПРЕТБГЙА mount РПМШЪПЧБФЕМА, ЛПФПТЩК РТЙОЈУ ДЙУЛЕФХ Й ЦЕМБЕФ РПТБВПФБФШ У ОЕК. у ДТХЗПК УФПТПОЩ, ОЕМШЪС ЧУЕН Й ЛБЦДПНХ ДБЧБФШ РТБЧП ЪБРХУЛБФШ mount Й ПУПВЕООП umount У МАВЩНЙ РБТБНЕФТБНЙ! еУФШ ЮЕФЩТЕ УРПУПВБ ТБЪТЕЫЙФШ ЧПЪОЙЛБАЭЕЕ РТПФЙЧПТЕЮЙЕ:
- чПУРПМШЪПЧБФШУС ХУЕЮЈООЩН ЧБТЙБОФПН mount (ЪБРЙУШ У ОБУФТПКЛПК noauto Ч fstab ) Й ХФЙМЙФПК sudo , РТЙ РПНПЭЙ ЛПФПТПК РПЪЧПМЙФШ РПМШЪПЧБФЕМА ЧЩРПМОСФШ, УЛБЦЕН, ФПМШЛП ЛПНБОДЩ mount /cdrom Й umount /cdrom .
- чПУРПМШЪПЧБФШУС ХУЕЮЈООЩН ЧБТЙБОФПН mount Й ОБУФТПКЛПК owner Ч fstab , ЛПФПТБС РПЪЧПМСЕФ ЧЩРПМОСФШ ПРЕТБГЙА НПОФЙТПЧБОЙС ИПЪСЙОХ ХУФТПКУФЧБ; РТЙ ЬФПН /dev/hdc ПФДБЈФУС ЧП ЧМБДЕОЙЕ РЕТЧПНХ ЪБТЕЗЙУФТЙТПЧБООПНХ РПМШЪПЧБФЕМА ФБЛ ЦЕ, ЛБЛ /dev/audio Й РТПЮЙЕ ХУФТПКУФЧБ РЕТУПОБМШОПЗП ЙУРПМШЪПЧБОЙС. ьФПФ УРПУПВ МХЮЫЕ РТЕДЩДХЭЕЗП ФЕН, ЮФП ЙУЛМАЮБЕФ УЙФХБГЙА, ЛПЗДБ ПДЙО РПМШЪПЧБФЕМШ НПОФЙТХЕФ ДЙУЛ, Б ДТХЗПК ОЕНЕДМЕООП ЕЗП ТБЪНПОФЙТХЕФ.
- чПУРПМШЪПЧБФШУС УРЕГЙБМШОЩН ДЕНПОПН ЙЪ РБЛЕФБ autofs , ЛПФПТЩК ПФУМЕЦЙЧБЕФ ПВТБЭЕОЙС РПМШЪПЧБФЕМЕК Л ОЕЛПФПТПНХ ЛБФБМПЗХ (ОБРТЙНЕТ, /mnt/cdrom/auto ), Й УБНПУФПСФЕМШОП ЧЩРПМОСЕФ ПРЕТБГЙА mount , Б ЕУМЙ Л УПДЕТЦЙНПНХ ОПУЙФЕМС ДПМЗПЕ ЧТЕНС ОЙЛФП ОЕ ПВТБЭБМУС — umount . ьФПФ УРПУПВ МХЮЫЕ РТЕДЩДХЭЕЗП ФЕН, ЮФП РПМШЪПЧБФЕМА ЧППВЭЕ ОЙЛБЛЙИ ДПРПМОЙФЕМШОЩИ ЛПНБОД РПДБЧБФШ ОЕ РТЙИПДЙФУС.
- чПУРПМШЪПЧБФШУС УРЕГЙБМЙЪЙТПЧБООЩН НПДХМЕН СДТБ (Ч РТЙНЕТЕ — subfs ), ЛПФПТЩК ЧУЕЗДБ УППВЭБЕФ РТПЗТБННЕ РПМШЪПЧБФЕМС, ЮФП ХУФТПКУФЧП УНПОФЙТПЧБОП Й ЗПФПЧП Л ТБВПФЕ, Б У ФЕН, РПНЕОСМУС МЙ ОПУЙФЕМШ, ТБЪВЙТБЕФУС УБНПУФПСФЕМШОП. ьФПФ УРПУПВ МХЮЫЕ РТЕДЩДХЭЕЗП ФЕН, ЮФП РПМШЪПЧБФЕМА ОЕ РТЙИПДЙФУС ЦДБФШ «ДПМЗПЕ ЧТЕНС», РПЛБ УЙУФЕНБ ОЕ УПЙЪЧПМЙФ ТБЪНПОФЙТПЧБФШ Й «ПФДБФШ» МБЪЕТОЩК ДЙУЛ. лТПНЕ ФПЗП, subfs НПЦЕФ УОБВЦБФШ РПМШЪПЧБФЕМС ДБООЩНЙ ЙЪ ЛЕЫБ, ДБЦЕ ЕУМЙ ДЙУЛ ДБЧОП ХЦЕ ЧЩОХФ (ТЕЮШ ЙДЈФ, ТБЪХНЕЕФУС, ПВ ПРЕТБГЙСИ ЮФЕОЙС).
чП ЧУЕИ УМХЮБСИ, ЛПЗДБ ДЙУЛ НПОФЙТХЕФ ОЕ УЙУФЕНОЩК БДНЙОЙУФТБФПТ, УФПЙФ РТЕДРТЙОСФШ ОЕЛПФПТЩЕ ДПРПМОЙФЕМШОЩЕ ДЕКУФЧЙС. оБРТЙНЕТ, ДЙУЛ ДПМЦЕО НПОФЙТПЧБФШУС ФБЛ, ЮФПВЩ У ОЕЗП ОЕ ТБВПФБМ ЪБРХУЛ У РПДНЕОПК ЙДЕОФЙЖЙЛБФПТБ (setUID), Й ЮФПВЩ ОБ ОЈН ОЕМШЪС ВЩМП УПЪДБЧБФШ ЖБКМЩ-ДЩТЛЙ (ЮФПВЩ ОЕ РПФЧПТУФЧПЧБФШ ИХМЙЗБОУФЧХ, ЧТПДЕ ЪБРХУЛБ setUID-ПВПМПЮЛЙ ЙМЙ ЪБРЙУЙ РТСНП Ч ХУФТПКУФЧП, УППФЧЕФУФЧХАЭЕЕ hda ). ъБ ЬФП ПФЧЕЮБАФ ОБУФТПКЛЙ nosuid Й nodev , ХРПНСОХФЩЕ Ч /etc/fstab .
лТПНЕ ФПЗП, МБЪЕТОЩЕ РТЙЧПДЩ ЙНЕАФ «ЪБЭЈМЛХ», ОЕ РПЪЧПМСАЭХА ЙЪЧМЕЮШ ДЙУЛ, РПЛБ ПО ЙУРПМШЪХЕФУС, Б ДЙУЛПЧПДЩ ЙМЙ ХУФТПКУФЧБ USB Flash — ОЕФ (ИПФС, ЛБЪБМПУШ ВЩ, ПОБ ОХЦОЕЕ ФБН, ЗДЕ РТПЙУИПДЙФ ЪБРЙУШ). еДЙОУФЧЕООБС ОБДЕЦДБ — ОБ ФП, ЮФП РПМШЪПЧБФЕМШ ОЕ ВХДЕФ ЧЩДЈТЗЙЧБФШ ДЙУЛЕФХ ЙЪ ДЙУЛПЧПДБ, РПЛБ ПО ЪБОЙНБЕФУС ЪБРЙУША, Й ОБ ОЈН ЗПТЙФ ЪЕМЈОБС МБНРПЮЛБ. юФПВЩ ЛБЦДБС ПРЕТБГЙС ЪБРЙУЙ ОЕНЕДМЕООП РТЙЧПДЙМБ Л РЕТЕДБЮЕ ДБООЩИ, ОЕПВИПДЙНП РПМОПУФША ПФЛМАЮЙФШ ЛЕЫ ЪБРЙУЙ, ФП ЕУФШ ЙУРПМШЪПЧБФШ УЙОИТПООЩК ТЕЦЙН ТБВПФЩ ЖБКМПЧПК УЙУФЕНЩ. ьФП ДЕМБЕФУС РТЙ РПНПЭЙ ОБУФТПКЛЙ sync .
рПДДЕТЦЙЧБЕНЩЕ Linux ЖБКМПЧЩЕ УЙУФЕНЩ
еУМЙ ВЩ ОБ ЛПНРШАФЕТЕ ЙЪ РТЙНЕТБ ЙУРПМШЪПЧБМУС УРПУПВ НПОФЙТПЧБОЙС МБЪЕТОПЗП ДЙУЛБ 1 ЙМЙ 2 , ФП Ч РПМЕ «ФЙР» fstab ВЩМП ВЩ ОБРЙУБОП iso9660 . фБЛ ОБЪЩЧБЕФУС ФЙР ЖБКМПЧПК УЙУФЕНЩ, ПВЩЮОП ЙУРПМШЪХЕНПК ОБ МБЪЕТОЩИ ДЙУЛБИ. юФП ЦЕ ЛБУБЕФУС ЦЈУФЛЙИ ДЙУЛПЧ, ФП ОБ ОЙИ НПЦЕФ ЙУРПМШЪПЧБФШУС ОЕУЛПМШЛП ФЙРПЧ ЖБКМПЧЩИ УЙУФЕН, ДБЦЕ ОБ ПДОПН Linux-ЛПНРШАФЕТЕ.
пУОПЧОБС ЖБКМПЧБС УЙУФЕНБ Ч Linux ОБЪЩЧБЕФУС «Ext2». йНС РТПЙУИПДЙФ ПФ УМПЧБ «extended» (ТБУЫЙТЕООБС) Й РПСЧЙМПУШ РПУМЕ ФПЗП, ЛБЛ УБНБС РЕТЧБС ЧЕТУЙС ЖБКМПЧПК УЙУФЕНЩ ТБООЙИ Linux, РПЧФПТСАЭБС ЧПЪНПЦОПУФЙ ПДОПЗП ЙЪ ЧБТЙБОФПЧ ЖБКМПЧПК УЙУФЕНЩ UNIX, ПЛПОЮБФЕМШОП ХУФБТЕМБ. рТЙЫМПУШ РЕТЕРЙУБФШ УППФЧЕФУФЧХАЭХА ЮБУФШ СДТБ, ТБУЫЙТЙЧ ХЦЕ ЙНЕАЭЙЕУС ЧПЪНПЦОПУФЙ. фБЛ РПСЧЙМБУШ «ExtFS». лПЗДБ Й ПОБ ХУФБТЕМБ, ЧПЪНПЦОПУФЙ УОПЧБ ТБУЫЙТЙМЙ, Й Л ОБЪЧБОЙА ДПВБЧЙМПУШ ЮЙУМП «2». рПЧУЕНЕУФОП ЙУРПМШЪХЕНБС Ч ДЙУФТЙВХФЙЧБИ Linux ЖБКМПЧБС УЙУФЕНБ «Ext3» — «ФТЙЦДЩ ТБУЫЙТЕООБС»! — ПФМЙЮБЕФУС ПФ Ext2 РПДДЕТЦЛПК ЦХТОБМЙЪБГЙЙ.
цХТОБМЙТХЕНБС ЖБКМПЧБС УЙУФЕНБ ЧЕДЈФ РПУФПСООЩК ХЮЈФ ЧУЕИ ПРЕТБГЙК ЪБРЙУЙ ОБ ДЙУЛ. рПМХЮБАЭЙКУС ЦХТОБМ ПВТБЭЕОЙК УБН, Ч УЧПА ПЮЕТЕДШ, ЪБРЙУЩЧБЕФУС ОБ ДЙУЛ. тБЪОЙГБ НЕЦДХ ЪБРЙУША ЦХТОБМБ Й ЪБРЙУША УБНЙИ ДБООЩИ Ч ФПН, ЮФП ДБООЩЕ УМЕДХЕФ ЪБРЙУЩЧБФШ Ч УФТПЗП ПРТЕДЕМЈООПЕ НЕУФП, Б ЦХТОБМ ХУФТПЕО ФБЛ, ЮФПВЩ ЪБРЙУЩЧБФШУС ЛБЛ НПЦОП ВЩУФТЕЕ. чЩЗПДБ ПФ ФБЛПК ДЧХИУФХРЕОЮБФПК РТПГЕДХТЩ ПУПВЕООП ПУФТП ПЭХЭБЕФУС РПУМЕ УВПС ЬМЕЛФТПРЙФБОЙС: ЧУЕ ПРЕТБГЙЙ, ЪБРЙУЙ, ЛПФПТЩЕ ЕЭЈ ОЕ ХУРЕМЙ ЪБЧЕТЫЙФШУС, ЪБРЙУБОЩ Ч ЦХТОБМЕ, ФБЛ ЮФП УФПЙФ РПУМЕ ЧЛМАЮЕОЙС ЛПНРШАФЕТБ «РТПЙЗТБФШ» ЙИ ЕЭЈ ТБЪ, Й ЖБКМПЧБС УЙУФЕНБ ЧПКДЈФ Ч ОПТНХ! еУМЙ ЮБУФШ ДБООЩИ ХЦЕ ВЩМБ ЪБРЙУБОБ ОБ ДЙУЛ, РПЧФПТОБС (РП ФТЕВПЧБОЙА ЦХТОБМБ) ЪБРЙУШ ФЕИ ЦЕ УБНЩИ ДБООЩИ ОБ ФП ЦЕ УБНПЕ НЕУФП ОЙЮЕН РПЧТЕДЙФШ ОЕ НПЦЕФ. оБЛПОЕГ, ЕУМЙ ПРЕТБГЙС ЪБРЙУЙ ОЕ РПРБМБ ДБЦЕ Ч ЦХТОБМ (ЮФП ВЩЧБЕФ ТЕДЛП), ФП ЖБКМПЧБС УЙУФЕНБ ЧУЈ ТБЧОП ПУФБОЕФУС Ч ТБВПЮЕН УПУФПСОЙЙ, ЛБЛЙН ПОП ВЩМП ДП ОБЮБМБ ЬФПК ПРЕТБГЙЙ.
цХТОБМЙТПЧБОЙЕ РПДДЕТЦЙЧБЕФУС Й ДТХЗЙНЙ ЖБКМПЧЩНЙ УЙУФЕНБНЙ, ЙУРПМШЪХЕНЩНЙ Ч Linux — XFS Й ReiserFS. ReiserFS ЧППВЭЕ РПИПЦБ УЛПТЕЕ ОБ ВБЪХ ДБООЩИ: ЧОХФТЙ ОЕЈ ЙУРПМШЪХЕФУС УЧПС УПВУФЧЕООБС УЙУФЕНБ ЙОДЕЛУБГЙЙ Й ВЩУФТПЗП РПЙУЛБ ДБООЩИ, Б ЙОДЕЛУОЩЕ ДЕУЛТЙРФПТЩ Й ЛБФБМПЗЙ Ч УФЙМЕ Linux ЧЩРПМОЕОЩ Ч ЧЙДЕ ПДОПК ЙЪ ЧПЪНПЦОЩИ ОБДУФТПЕЛ ОБД ЬФПК УЙУФЕНПК. фТБДЙГЙПООП УЮЙФБЕФУС, ЮФП ReiserFS ПФМЙЮОП РПДИПДЙФ ДМС ИТБОЕОЙС ПЗТПНОПЗП ЮЙУМБ НБМЕОШЛЙИ ЖБКМПЧ (ЮФП ВЩМП ПДОПК ЙЪ ГЕМЕК РТПЕЛФБ), Б XFS — ДМС ИТБОЕОЙС ПЮЕОШ ВПМШЫЙИ ЖБКМПЧ, Ч ЛПФПТЩИ РПУФПСООП ЮФП-ОЙВХДШ ДПРЙУЩЧБЕФУС ЙМЙ ЙЪНЕОСЕФУС.
ч Linux РПДДЕТЦЙЧБЕФУС, ЛТПНЕ УПВУФЧЕООЩИ, ОЕНБМП ЖПТНБФПЧ ЖБКМПЧЩИ УЙУФЕН, ЙУРПМШЪХЕНЩИ ДТХЗЙНЙ пу. еУМЙ УРПУПВ ЪБРЙУЙ ОБ ЬФЙ ЖБКМПЧЩЕ УЙУФЕНЩ ЙЪЧЕУФЕО Й ОЕ УМЙЫЛПН ЪБНЩУМПЧБФ, ФП ТБВПФБЕФ Й ЪБРЙУШ, Й ЮФЕОЙЕ, Ч РТПФЙЧОПН УМХЮБЕ — ФПМШЛП ЮФЕОЙЕ (ЮЕЗП ОЕТЕДЛП ВЩЧБЕФ ДПУФБФПЮОП). рПМОПУФША РПДДЕТЦЙЧБАФУС ЖБКМПЧЩЕ УЙУФЕНЩ FAT12/FAT16/FAT32 (ФЙР vfat ), ЙУРПМШЪХЕНЩЕ Ч MS-DOS Й Windows, ТБООЙЕ ЧЕТУЙЙ UFS, ЙУРПМШЪХЕНЩЕ Ч УЙУФЕНБИ УЕНЕКУФЧБ BSD. оПЧЩЕ ЧЕТУЙЙ UFS (ОБРТЙНЕТ, UFS2 ЙЪ FreeBSD5, ПВМБДБАЭБС УЧПКУФЧБНЙ, ЛПФПТЩЕ ОЕ ЧИПДСФ Ч УФБОДБТФ Linux) РПДДЕТЦЙЧБАФУС ФПМШЛП ОБ ЮФЕОЙЕ, ЛБЛ Й УПЪДБООБС ОБ ПУОПЧЕ DEC VMS, ОП ЧРПУМЕДУФЧЙЙ НОПЗПЛТБФОП РЕТЕТБВПФБООБС ЖБКМПЧБС УЙУФЕНБ NTFS ЙЪ Windows.
дМС ФПЗП, ЮФПВЩ УНПОФЙТПЧБФШ ЖБКМПЧХА УЙУФЕНХ, ЙНЕАЭХА ЪБДБООЩК ФЙР, ЛПНБОДЕ mount ОЕПВИПДЙНП ХЛБЪБФШ ЕЗП У РПНПЭША ЛМАЮБ “ -t ”:
чЙТФХБМШОЩЕ Й УЕФЕЧЩЕ ЖБКМПЧЩЕ УЙУФЕНЩ
ч /etc/fstab нЕЖПДЙК УТБЪХ ЪБНЕФЙМ ДЧЕ УФТПЛЙ, ОБЮЙОБАЭЙЕУС ОЕ У ЙНЕОЙ ХУФТПКУФЧБ, Б У ОБЪЧБОЙС ЧЙТФХБМШОПК ЖБКМПЧПК УЙУФЕНЩ, УПДЕТЦЙНПЕ ЛПФПТПК ДПУФХРОП Ч УППФЧЕФУФЧХАЭЕК ФПЮЛЕ НПОФЙТПЧБОЙС. чЙТФХБМШОБС ЖБКМПЧБС УЙУФЕНБ ПВЩЮОП ОЕ ПВТБЭБЕФУС ОЙ Л ЛБЛПНХ ЧОЕЫОЕНХ ХУФТПКУФЧХ, Б «РТЙДХНЩЧБЕФ» ЧУЈ ДЕТЕЧП ЛБФБМПЗПЧ Й ОБИПДСЭЙЕУС Ч ОЙИ ЖБКМЩ УБНБ. фБЛПЧБ, ОБРТЙНЕТ, ЖБКМПЧБС УЙУФЕНБ Ч РБНСФЙ (ROMFS, ЙМЙ БОБМПЗЙЮОБС ЕК TMPFS, РПДДЕТЦЙЧБАЭБС ПРЕТБГЙЙ ЪБРЙУЙ), ЙУРПМШЪХЕНБС Ч УФБТФПЧПН ЧЙТФХБМШОПН ДЙУЛЕ. лБЛ РТБЧЙМП, ЧЙТФХБМШОЩЕ ЖБКМПЧЩЕ УЙУФЕНЩ ЙУРПМШЪХАФУС ДМС ФПЗП, ЮФПВЩ РТЕДПУФБЧЙФШ ДПУФХР РП ЮФЕОЙА/ЪБРЙУЙ Л ОЕЛПФПТПК ЙЕТБТИЙЮЕУЛПК УФТХЛФХТЕ ДБООЩИ.
чП НОПЗЙИ ЧЕТУЙСИ UNIX РТПЗТБННБ ps ТБВПФБЕФ ОЕРПУТЕДУФЧЕООП У ХУФТПКУФЧПН /dev/kmem (РБНСФША СДТБ), ЮФПВЩ ДПВЩФШ ПФФХДБ ЙОЖПТНБГЙА П ФБВМЙГБИ РТПГЕУУПЧ; ЬФП — УМПЦОБС Й ДБЦЕ ПРБУОБС РТПЗТБННБ, ЙНЕАЭБС ДПУФХР Л УЧСФБС УЧСФЩИ УЙУФЕНЩ. ч Linux ps НПЦЕФ ВЩФШ РЕТЕРЙУБОБ ЮХФШ МЙ ЮФП ОЕ ОБ shell, РПФПНХ ЮФП ФБВМЙГБ РТПГЕУУПЧ Й НБУУБ ДТХЗПК ЙОЖПТНБГЙЙ П УЙУФЕНЕ ДПУФХРОЩ Ч ЧЙДЕ ДЕТЕЧБ РПДЛБФБМПЗПЧ /proc :
жБКМПЧБС УЙУФЕНБ devpts — ЫБЗ ОБЧУФТЕЮХ ДЙОБНЙЮЕУЛПНХ ЙНЕОПЧБОЙА ХУФТПКУФЧ. пОБ РТЕДОБЪОБЮЕОБ ДМС ЬНХМСФПТПЧ ФЕТНЙОБМБ, ФБЛЙИ ЛБЛ sshd , xterm ЙМЙ screen . ъБДБЮБ ЬНХМСФПТБ ФЕТНЙОБМБ — РТЕДПУФБЧЙФШ РПМШЪПЧБФЕМА РПМОПГЕООЩК ЙОФЕТЖЕКУ ЛПНБОДОПК УФТПЛЙ (У ЪБРХУЛПН ЛПНБОДОПЗП ЙОФЕТРТЕФБФПТБ, У ТБУРПЪОБЧБОЙЕН Й РЕТЕДБЮЕК УЙЗОБМПЧ Й Ф. Р.) Ч ПФУХФУФЧЙЕ ФЕТНЙОБМШОПЗП ПВПТХДПЧБОЙС — РП УЕФЙ ЙМЙ ЙЪ ЗТБЖЙЮЕУЛПК РПДУЙУФЕНЩ, ЙМЙ РТЙ ОЕПВИПДЙНПУФЙ УЩНЙФЙТПЧБФШ ОЕУЛПМШЛП ФЕТНЙОБМПЧ. тБОШЫЕ ДМС ЬФПЗП ЙУРПМШЪПЧБМЙУШ РБТЩ ХУФТПКУФЧ /dev/pty## — /dev/tty## , ЗДЕ ## — ДЧХИУЙНЧПМШОЩК ЙДЕОФЙЖЙЛБФПТ. рТПЗТБННБ-ЬНХМСФПТ ОБЮЙОБМБ ПВНЕОЙЧБФШУС ДБООЩНЙ (ПФ РПМШЪПЧБФЕМС ЙМЙ ЙЪ УЕФЙ) У РЕТЧЩН УЧПВПДОЩН ХУФТПКУФЧПН (УЛБЦЕН, ptya2 , ЛПФПТПЕ, Ч УЧПА ПЮЕТЕДШ, ВЩМП РТЙЧСЪБОП Л УППФЧЕФУФЧХАЭЕНХ ФЕТНЙОБМШОПНХ ХУФТПКУФЧХ ( ttya2 ). йНЕООП У ЬФЙН ХУФТПКУФЧПН Й ЧЪБЙНПДЕКУФЧПЧБМ ЛПНБОДОЩК ЙОФЕТРТЕФБФПТ Й РТПЮЙЕ РТПГЕУУЩ Linux, ОБИПДСУШ Ч РПМОПК ХЧЕТЕООПУФЙ, ЮФП ЬФП — РПМОПГЕООЩК ФЕТНЙОБМ.
чЩИПДЙМП, ЮФП РБТ tty##-pty## РТЙ УФБФЙЮЕУЛПН ЙНЕОПЧБОЙЙ ХУФТПКУФЧ НПЗМП ОЕ ИЧБФЙФШ, ДБЦЕ ЕУМЙ УПЪДБФШ ЙИ ПЮЕОШ НОПЗП (ДПУФБФПЮОП ЪБРХУФЙФШ ЕЭЈ ВПМШЫЕ ЬНХМСФПТПЧ ФЕТНЙОБМБ). рПЬФПНХ РТЙДХНБМЙ ЪБЧЕУФЙ ПДОП ХУФТПКУФЧП ФЙРБ pty — /dev/ptmx Й ЧЙТФХБМШОХА ЖБКМПЧХА УЙУФЕНХ /dev/pts ДМС ФЕТНЙОБМШОЩИ ЖБКМ-ДЩТПЛ. лБЦДБС РТПЗТБННБ, ПФЛТЩЧБАЭБС ptmx , РПМХЮБЕФ УЧПК ДЕУЛТЙРФПТ), Б Ч pts/ ЪБЧПДЙФУС ПЮЕТЕДОПЕ ФЕТНЙОБМШОПЕ ХУФТПКУФЧП, ЙНС ЛПФПТПЗП УПЧРБДБЕФ У РПТСДЛПЧЩН ОПНЕТПН. лПЗДБ ДЕУЛТЙРФПТ ЪБЛТЩЧБЕФУС, ФЕТНЙОБМШОПЕ ХУФТПКУФЧП ЙУЮЕЪБЕФ.
уТЕДЙ ЖБКМПЧЩИ УЙУФЕН ЕУФШ Й ФБЛЙЕ, ЮФП ОЕ ЧЩДХНЩЧБАФ УПДЕТЦЙНПЕ УБНЙ, Б ПВТБЭБАФУС ЪБ ОЙН ЕЭЈ ЛХДБ-ОЙВХДШ, ОБРТЙНЕТ, Ч УЕФШ. фБЛ ТБВПФБАФ ХДБМЈООЩЕ ЖБКМПЧЩЕ УЙУФЕНЩ, ОБРТЙНЕТ, NFS (network file system), УФБОДБТФОБС ДМС ЧУЕИ UNIX-РПДПВОЩИ пу. чНЕУФП РПМС «ХУФТПКУФЧП» ПВЩЮОП ХЛБЪЩЧБЕФУС УЕФЕЧПК БДТЕУ ЛПНРШАФЕТБ-УЕТЧЕТБ Й ЙНС ТЕУХТУБ (ОБЪЧБОЙЕ ЛБФБМПЗБ), ЛПФПТЩК ОЕПВИПДЙНП УНПОФЙТПЧБФШ РП УЕФЙ. рПДДЕТЦЙЧБЕФУС Й ТБВПФБ У ХДБМЈООЩНЙ ЖБКМПЧЩНЙ УЙУФЕНБНЙ Windows, РТЙЮЈН ЛБЛ ОБ ХТПЧОЕ НПДХМЕК СДТБ, У РПНПЭША mount -t smbfs ), ФБЛ Й ВЕЪ НПОФЙТПЧБОЙС, У РПНПЭША ХФЙМЙФЩ smbclient . Linux Й УБН НПЦЕФ УМХЦЙФШ УЕТЧЕТПН, РТЕДПУФБЧМСАЭЙН ХДБМЈООЩК ДПУФХР Л ЖБКМБН, РТЙЮЈН УМХЦВБ samba , ЪБОЙНБАЭБСУС ЖБКМПЧЩНЙ УЙУФЕНБНЙ ДМС Windows РПД ХРТБЧМЕОЙЕН Linux, ТБВПФБЕФ ЪБЮБУФХА ВЩУФТЕЕ, ЮЕН Windows, ЪБРХЭЕООЩК ОБ ФПН ЦЕ ЛПНРШАФЕТЕ ДМС ФЕИ ЦЕ ГЕМЕК.
чПЪНПЦОПУФЙ ЖБКМПЧЩИ УЙУФЕН ЬФЙН ОЕ ЙУЮЕТРЩЧБАФУС! оБРТЙНЕТ, НПЦОП УНПОФЙТПЧБФШ ПВТБЪ ХУФТПКУФЧБ ЙЪ ЖБКМБ, ЕУМЙ ЧЩЪЧБФШ ЛПНБОДХ mount У ЛМАЮПН -o loop . пВТБЪ ХУФТПКУФЧБ — ЬФП ЖБКМ, УПДЕТЦЙНПЕ ЛПФПТПЗП Ч ФПЮОПУФЙ РПЧФПТСЕФ УПДЕТЦЙНПЕ ХУФТПКУФЧБ; ЕЗП НПЦОП, ОБРТЙНЕТ, РПМХЮЙФШ У РПНПЭША ЛПНБОДЩ cat ХУФТПКУФЧП ПВТБЪ . йНЕООП ПВТБЪБНЙ ХУФТПКУФЧ НБОЙРХМЙТХАФ РТПЗТБННЩ ЪБРЙУЙ ОБ МБЪЕТОЩЕ ОПУЙФЕМЙ. уНПОФЙТПЧБФШ ПВТБЪ ВЩЧБЕФ ОХЦОП ДМС РТПЧЕТЛЙ ЙМЙ ЙЪНЕОЕОЙС УПДЕТЦЙНПЗП РЕТЕД ЪБРЙУША, ЙМЙ ДМС ИТБОЕОЙС УПДЕТЦЙНПЗП ОЕУЛПМШЛЙИ ДЙУЛПЧ Ч ЙУИПДОПН ЧЙДЕ:
пВЫЙТОПЕ РПМЕ ДМС ЬЛУРЕТЙНЕОФПЧ — Ф. О. РПМШЪПЧБФЕМШУЛБС ЖБКМПЧБС УЙУФЕНБ (linux userland file system, LUFS). ьФП — НПДХМШ СДТБ Й ОБВПТ ВЙВМЙПФЕЛ, РПЪЧПМСАЭЙК ПТЗБОЙЪПЧБФШ ЖБКМПЧХА УЙУФЕНХ, ПВТБЭБАЭХАУС ЪБ ЙОЖПТНБГЙЕК Л ПВЩЮОПНХ РТПГЕУУХ Linux. фБЛ ПТЗБОЙЪПЧБОЩ ТБЪОППВТБЪОЩЕ УЕФЕЧЩЕ «ЬНХМСФПТЩ» ЖБКМПЧЩИ УЙУФЕН У ЙУРПМШЪПЧБОЙЕН РТПФПЛПМБ FTP ЙМЙ Secure Shell. фБЛ ТБВПФБЕФ Й ДПУФХР ОБ ЪБРЙУШ Л ЖБКМПЧПК УЙУФЕНЕ NTFS: ОЕЛПФПТБС РТПЗТБННБ ПВТБЭБЕФУС Л ХУФТПКУФЧХ, УПДЕТЦБЭЕНХ ЖБКМПЧХА УЙУФЕНХ, ЪБДЕКУФЧХЕФ ДТБКЧЕТ NTFS, ЧЪСФЩК ЙЪ МЙГЕОЪЙПООПК ЛПРЙЙ УБНПК Windows (ЬФП НПЦОП УДЕМБФШ У РПНПЭША ВЙВМЙПФЕЛ wine , РПДУЙУФЕНЩ, ТБУРПЪОБАЭЕК ЙУРПМОСЕНЩЕ ЖПТНБФЩ Windows), Й ПВНЕОЙЧБЕФУС ДБООЩНЙ У НПДХМЕН LUFS, ЛПФПТЩК Й РТЕДПУФБЧМСЕФ ПВЩЮОЩК ЖБКМПЧЩК ДПУФХР РТПГЕУУБН.
рТПЧЕТЛБ ЖБКМПЧПК УЙУФЕНЩ
еУМЙ ДПУФХРОБС ОБ ЪБРЙУШ ЖБКМПЧБС УЙУФЕНБ ОЕ ВЩМБ ТБЪНПОФЙТПЧБОБ РЕТЕД ЧЩЛМАЮЕОЙЕН ЛПНРШАФЕТБ, РПУМЕ ЧЛМАЮЕОЙС ПОБ ПЛБЦЕФУС Ч ОЕЫФБФОПН УПУФПСОЙЙ, ОЕЪБЧЙУЙНП ПФ ФПЗП, ЙУРПТФЙМПУШ ОБ ОЕК ЮФП-МЙВП ЙМЙ ОЕФ. рТПЧЕТЛПК ГЕМШОПУФЙ ЖБКМПЧПК УЙУФЕНЩ ЪБОЙНБЕФУС ХФЙМЙФБ fsck (file system check). оБ УБНПН ДЕМЕ ФБЛЙИ ХФЙМЙФ ОЕУЛПМШЛП — РП ПДОПК ДМС ЛБЦДПЗП ЙЪ ПУОПЧОЩИ ФЙРПЧ ЖБКМПЧЩИ УЙУФЕН (ЕУФШ fsck ДБЦЕ ДМС VFAT). лБЛ ХЦЕ ЗПЧПТЙМПУШ Ч МЕЛГЙЙ ьФБРЩ ЪБЗТХЪЛЙ УЙУФЕНЩ, fsck ЪБРХУЛБЕФУС РТЙ УФБТФЕ Linux, ЕУМЙ ЖБКМПЧБС УЙУФЕНБ ОБИПДЙФУС Ч ОЕЫФБФОПН УПУФПСОЙЙ, ЙМЙ ДМС РТПЖЙМБЛФЙЛЙ, ЕУМЙ ЖБКМПЧХА УЙУФЕНХ РТПУФП ДБЧОП ОЕ РТПЧЕТСМЙ.
ч УБНПН МХЮЫЕН УМХЮБЕ fsck ОЕ ОБИПДЙФ ОЙЮЕЗП РПДПЪТЙФЕМШОПЗП, Й УЙУФЕНБ РТПДПМЦБЕФ ЪБЗТХЪЛХ. юБЭЕ ЧУЕЗП, ДБЦЕ ЕУМЙ Ч ЖБКМПЧПК УЙУФЕНЕ ОЕ ЧУЈ Ч РПТСДЛЕ, ЕЈ ЦХТОБМ ОЕ ЙУРПТЮЕО, Й fsck «РТПЙЗТЩЧБЕФ» ЕЗП, РПУМЕ ЮЕЗП ЧУЈ ПРСФШ РТЙИПДЙФ Ч ОПТНХ. ъБРХУФЙФШ fsck НПЦОП Й ЧТХЮОХА, Ч ЧЙДЕ fsck ХУФТПКУФЧП ЙМЙ fsck ФПЮЛБ_НПОФЙТПЧБОЙС , ПДОБЛП РТЕЦДЕ УМЕДХЕФ ТБЪНПОФЙТПЧБФШ ЖБКМПЧХА УЙУФЕНХ:
уП ЧФПТПЗП ТБЪБ fsck 6 ТБВПФБФШ ФПЦЕ ОЕ ЪБИПФЕМБ, УУЩМБСУШ ОБ ФП, ЮФП ЖБКМПЧБС УЙУФЕНБ Й ФБЛ ОБИПДЙФУС Ч ЫФБФОПН УПУФПСОЙЙ (ЕЈ БЛЛХТБФОП ТБЪНПОФЙТПЧБМЙ). рТЙЫМПУШ РТЙНЕОЙФШ ЛМАЮ “ -f ” (force), ЛПФПТЩК ЪБУФБЧМСЕФ fsck ТБВПФБФШ — ЛПОЕЮОП ЦЕ, ОЙЛБЛЙИ ПЫЙВПЛ ОБКДЕОП ОЕ ВЩМП. уБНБ РТПГЕДХТБ РТПЧЕТЛЙ ДПЧПМШОП УМПЦОБ, ПОБ УПУФПЙФ ЙЪ РСФЙ ЬФБРПЧ, ЛБЦДЩК ЙЪ ЛПФПТЩИ ПФОАДШ ОЕ ФТЙЧЙБМЕО, Й Ч ЬФПК МЕЛГЙЙ ОЕ ПРЙУЩЧБЕФУС. лУФБФЙ УЛБЪБФШ, ДМС ФПЗП, ЮФПВЩ РТПЧЕТЙФШ ЛПТОЕЧХА ЖБКМПЧХА УЙУФЕНХ, ЕЈ РТЙИПДЙФУС УОБЮБМБ НПОФЙТПЧБФШ ФПМШЛП ОБ ЮФЕОЙЕ, ОБИПДЙФШ ФБН /sbin/fsck , РТПЧЕТСФШ, Й ФПМШЛП РПУМЕ ЬФПЗП НПОФЙТПЧБФШ ОБ ЮФЕОЙЕ-ЪБРЙУШ. еУМЙ ЛПТОЕЧБС ЖБКМПЧБС УЙУФЕНБ ЙУРПТЮЕОБ ОБУФПМШЛП, ЮФП /sbin/fsck Ч ОЕК ОБКФЙ ОЕЧПЪНПЦОП, ПУФБЈФУС РТПВПЧБФШ ЪБЗТХЪЛХ У ДТХЗЙИ ОПУЙФЕМЕК (ОБРТЙНЕТ, У ХУФБОПЧПЮОПЗП CD), Й ТБЪВЙТБФШУС.
еУМЙ ЛБЛБС-ФП РПТЮБ ЖБКМПЧПК УЙУФЕНЩ ЧУЈ-ФБЛЙ ПВОБТХЦЙМБУШ, fsck НПЦЕФ РПУФХРЙФШ ДЧПСЛП. чП-РЕТЧЩИ, ЧУЕ ПЫЙВЛЙ, ЛПФПТЩЕ ОЕ РТЙЧПДСФ Л ЙЪНЕОЕОЙА ДБООЩИ ОБ ДЙУЛЕ, НПЦОП РПРТПВПЧБФШ ЙУРТБЧЙФШ БЧФПНБФЙЮЕУЛЙ. оБРТЙНЕТ, ЙОДЕЛУОЩЕ ДЕУЛТЙРФПТЩ, ОБ ЛПФПТЩЕ ОЕ УУЩМБЕФУС ОЙ ПДОП ЙНС (Ф. О. РПФЕТСООЩЕ ЖБКМЩ, unref files), РПНЕЭБАФУС Ч УРЕГЙБМШОЩК ЛБФБМПЗ /lost+found РПД ЙНЕОБНЙ, УППФЧЕФУФЧХАЭЙНЙ ОПНЕТБН ЬФЙИ ЙОДЕЛУОЩИ ДЕУЛТЙРФПТПЧ. чРПУМЕДУФЧЙЙ БДНЙОЙУФТБФПТ НПЦЕФ РПУНПФТЕФШ Ч ЬФЙ ЖБКМЩ Й ТЕЫЙФШ, ОХЦОЩ ПОЙ ЙМЙ ОЕФ. чП-ЧФПТЩИ, ЛПЗДБ fsck ЧУФТЕЮБЕФУС У ПЫЙВЛПК, ЙУРТБЧМЕОЙЕ ЛПФПТПК РТЙЧЕДЈФ Л ЙЪНЕОЕОЙА ДБООЩИ ОБ ДЙУЛЕ, ЪБЗТХЪЛБ Linux ПУФБОБЧМЙЧБЕФУС, Й УЙУФЕНБ РЕТЕИПДЙФ Ч ПДОПРПМШЪПЧБФЕМШУЛЙК ТЕЦЙН. рТЕДРПМБЗБЕФУС, ЮФП БДНЙОЙУФТБФПТ УБН ЪБРХУФЙФ fsck : МЙВП ЙОФЕТБЛФЙЧОП, ФПЗДБ ЛБЦДПНХ ЙЪНЕОЕОЙА Ч ЖБКМПЧПК УЙУФЕНЕ ВХДЕФ ФТЕВПЧБФШУС РПДФЧЕТЦДЕОЙЕ У ЛМБЧЙБФХТЩ, МЙВП РБЛЕФОП, У ЛМАЮПН “ -y ”, ФПЗДБ УЮЙФБЕФУС, ЮФП ОБ ЧУЕ ФБЛЙЕ ЪБРТПУЩ БДНЙОЙУФТБФПТ ЪБТБОЕЕ ПФЧЕФЙМ «yes».
лПЗДБ-ФП ФБЛЙЕ ЧПФ ЪБРХУЛЙ fsck -y РТПЙЪЧПДЙМЙ ЛБФБУФТПЖЙЮЕУЛЙЕ ТБЪТХЫЕОЙС РП ЧЙОЕ ОЕХНЕМЩИ БДНЙОЙУФТБФПТПЧ, Б ОЩОЮЕ нЕЖПДЙК, ЛБЛ ОЙ ОБЦЙНБМ «Reset» ОБ НОПЗПУФТБДБМШОПК ДЧХИУЙУФЕНОПК НБЫЙОЕ, ОЕ УНПЗ ДПВЙФШУС ОЙЮЕЗП, ЛТПНЕ ДЧХИ-ФТЈИ НЗОПЧЕООЩИ ЧПУРТПЙЪЧЕДЕОЙК ЦХТОБМБ Й ЦЕУФПЛПЗП ОБЗПОСС ПФ зХТЕЧЙЮБ.
1еУМЙ УФБОДБТФОЩК ЧЩЧПД ПЫЙВПЛ ЧУЕЗП ЛПОЧЕКЕТБ РЕТЕОБРТБЧМЕО Ч /dev/null , ФП ЛПНБОДОЩК ЙОФЕТРТЕФБФПТ ОЕ ЧЩЧПДЙФ УППВЭЕОЙК П ЪБРХУЛЕ Й ПУФБОПЧЛЕ ЖПОПЧПЗП РТПГЕУУБ.
2юФП ОБЪЩЧБЕФУС, «ЛФП РЕТЧЩН ЧУФБМ — ФПЗП Й ФБРЛЙ».
3дМС ОЕЛПФПТЩИ ДТХЗЙИ ЖБКМПЧЩИ УЙУФЕН, ОБРТЙНЕТ, ДМС vfat, ЬФП ОЕЧЕТОП.
4фБЛБС УЙФХБГЙС ОБЪЩЧБЕФУС «ДТЕВЕЪЗ» (trashing) Й УЧЙДЕФЕМШУФЧХЕФ П ФПН, ЮФП ДМС ФЕЛХЭЙИ ЪБДБЮ ЛПНРШАФЕТХ ФТЕВХЕФУС ВПМШЫЕ ЖЙЪЙЮЕУЛПК РБНСФЙ.
5нЕЖПДЙК ЪБНЕФЙМ, ЮФП /tmp Й /var ОЕ УНПОФЙТПЧБОЩ ОЙЛХДБ, Й, УМЕДПЧБФЕМШОП, ЛПТОЕЧБС ЖБКМПЧБС УЙУФЕНБ, ЧПРТЕЛЙ ТЕЛПНЕОДБГЙСН FHS, УМЙЫЛПН ЮБУФП ЙУРПМШЪХЕФУС ОБ ЪБРЙУШ.
6нЕЖПДЙК ЪБНЕФЙМ, ЮФП ДМС ЖБКМПЧПК УЙУФЕНЩ Ext3 ЪБРХУФЙМБУШ УРЕГЙБМЙЪЙТПЧБООБС ЧЕТУЙС e2fsck , РПДИПДСЭБС ФБЛЦЕ Й ДМС Ext2.
Источник