2006 г.
Кандидатский минимум начинающего линуксоида
Алексей Федорчук
Введение
Сведения о дисковой разметке
Представление о файловых системах
Файловая иерархия и монтирование
Практикум по дисковой разметке
Если система не одна
Что такое аккаунты
Понятие локали
Консоль против Иксов
Заключение
Введение
Принято считать, что для установки Windows знать ничего не нужно, тогда как Linux предъявляет очень высокие требования к начальной подготовке пользователя. Оба эти мнения, мягко говоря, спорные. Пользователю Windows любого рода, впервые устанавливающему эту систему, не худо бы иметь представление по крайней мере о двух вещах - дисковых разделах и файловых системах (или хотя бы знать о существовании FAT разного рода и NTFS). Для пользователя же Windows к этому минимуму добавляется еще и представление о пользовательских аккаунтах. Иначе систему он, конечно, установит, но использование ее будет не самым эффективным. В частности, размещение на одном разделе системы, приложений и пользовательских данных - а именно это и предлагает по умолчанию установщик Windows, - чревато в дальнейшем риском потери последних.
С другой стороны, от пользователя Linux в аналогичной ситуации никаких сверхъестественных познаний не требуется. Более того, современные юзерофильные дистрибутивы теоретически позволяют обойтись вообще без оных - их инсталляторы в силах проделать за него всю работу. Однако некий минимум сведений позволит ему принимать в ходе установки осмысленные решения.
В этой заметке я и решил собрать такой минимум сведений, который желателен пользователю, принявшему решение впервые установить Linux на своей машине. И владение которыми можно рассматривать как минимум для кандидата в линуксоиды. Как и в случае с кандминимумом научным, без этих сведений в обыденной жизни вполне можно обойтись, но наличие некоего набора базовых знаний способно облегчить жизнь пользователя как в ходе установки, так и, особенно, после нее, во время использования системы.
К числу таких базовых сведений я отнес бы представления о:
дисковой разметке,
файловых системах,
файловой иерархии и монтировании,
пользовательских аккаунтах,
системной локали.
В круг базовых сведений следует включить также понимание различий между текстовым и графическим режимами - грубо говоря, между консолью и Иксами. Именно эти вопросы и составит предмет настоящей заметки.
Сведения о дисковой разметке
Разметка диска - один из самых ответственных моментов в ходе установки Linux. Не потому, что она уж так сложна, а потому, что допущенные в ходе ее ошибки могут быть исправлены только с большим трудом и процесс этот чреват потерей данных. И потому представление о дисковой разметке - краеугольный камень кандидатского минимума будущего линуксоида.
Схема дисковой разметки - это правила дробления диска на разделы. Диски в машинах с архитектурой PC (то есть во всех обычных настольных персоналках) могут быть разделены на четыре физических части - так называемые первичные разделы, Primary Partition (почему именно так - здесь обсуждать неуместно). Один из этих первичных разделов может быть определен как раздел расширенный (Extended Partition). А уж он может далее делиться на логические разделы (Logical Partition) в практически неограниченном количестве (на самом деле ограничение составляет 63 логических раздела).
В Linux (и вообще в Unix-подобных системах) диски и их разделы предстают перед пользователем как файлы особого типа - файлы устройств (это касается и любых других устройств, и вообще в Unix все, что имеется в системе, суть файлы). Их имена этих файлов формируются по определенным правилам. Так, обычные IDE-диски (диски с интерфейсом Parallel ATA) именуются /dev/hda (Master на 1-м IDE-канале), /dev/hdb (Slave на нем же), и так далее (здесь и в последующем /dev - это каталог, предназначенный для специально для хранения файлов устройств, так что собственно имена дисковых устройств - hda, hdb и так далее). Диски с интерфейсом Serial ATA предстают перед системой как SCSI-винчестеры (почему - тайна сия велика есть), и именуются: /dev/sda, /dev/sdb и так далее. Кстати говоря, как SCSI-диски (то есть устройства вида /dev/sd?) будут выглядеть также флэш-драйвы, встроенные и сменные носители цифровых камер и мобильные винчестеры с интерфейсами USB и FireWire.
Дисковые разделы идентифицируются порядковыми номерами. Цифры с 1 по 4 отведены под первичные разделы. Раздел, определенный как расширенный, также имеет соответствующий порядковый номер (например, 2). А логические разделы внутри него нумеруются, начиная с цифры 5. Таким образом, если на мастер-диске первого IDE-канала мы имеем два первичных раздела, второй из которых определен как расширенный и поделен на три логических, соответствующие им файлы устройств будут именоваться так:
/dev/hda1 - первичный раздел (предположим, под Windows);
/dev/hda2 - первичный раздел, определенный в качестве расширенного;
/dev/hda5, /dev/hda6 и /dev/hda7 - логические разделы под файловые системы Linux.
Для первого диска SATA именами файлов устройств разделов будут /dev/sda1, /dev/sda2, /dev/sda5, /dev/sda6 и /dev/sda7, соответственно.
Выше была описана наиболее распространенная (и традиционная для Linux) номенклатура дисковых накопителей и их разделов. Однако в некоторых дистрибутивах пользователь может толкнуться с иной системой их именования, например:
/dev/ide/host0/bus0/target0/lun0/part1 - первый раздел на первом IDE-диске,
/dev/ide/host0/bus0/target0/lun0/part2 - второй раздел на нем же,
/dev/ide/host0/bus0/target0/lun0/part5 - первый логический раздел,
и так далее. Это - номенклатура, принятая в дистрибутивах, использующих так называемую файловую систему устройств - devfs. Она может быть представлена и в менее устрашающем варианте - с обозначением разделов как /dev/discs/disc0/part1, /dev/discs/disc0/part2 и так далее - с тем же значением.
Сама по себе devfs в современных дистрибутивах Linux отмирает, и ее номенклатура устройств встречается ныне как рудимент, поэтому распространяться о ней я не буду. На данном этапе пользователю достаточно знать, что и /dev/ide/host0/bus0/target0/lun0/part1, и /dev/discs/disc0/part1, - это не более чем эквивалент /dev/hda1, далее по аналогии.
Для создания (и удаления) дисковых разделов в Linux предназначена специальная утилита - fdisk. Это - тот жупел, которым из поколения в поколение пугали начинающих пользователей Linux. Хотя на самом деле ничего непреодолимо сложного в ней нет - просто она требует определенной аккуратности. И, кстати говоря, лишь в редких дистрибутивах (например, в Gentoo) она непосредственно используется при установке. Обычно же инсталлятор содержит какое-либо "продвинутое" средство дисковой разметки - от простейшего cfdisk до весьма изощренных DiskDruid, DiskDrake или того безымянного самого по себе инструмента, который используется для дисковой разметки в Debian Installer.
Развитые средства дисковой разметки позволяют обычно не только создать разделы на чистом диске или неразмеченном дисковом пространстве, но и манипулировать с разделами существующими - изменять размер, переносить в другую часть диска, дублировать, причем делать это без потери содержимого. Правда, часто манипулирование разделами возможно не для всех файловых систем, в отношении которых это может понадобиться. И всегда следует помнить - любой сбой в ходе манипулирования разделами (например, по питанию) приведет к безвозвратной потере данных. И потому затевать такие манипуляции без резервирования критически важной информации было бы опрометчиво.
В большинстве инсталляторов процедура разбиения диска на разделы совмещена с созданием на них файловых систем. Однако в принципе это - совсем отдельная процедура, о чем будет говориться в следующем разделе.
|