8 января 2011 г.

О разделах и томах

Постараюсь описать принципы работы с разделами в Linux, а также - наиболее полезные приёмы.

Терминология
Раздел, том, partition - часть жёсткого диска, которая как бы является самомтоятельным устройством и изолирована от других таких частей. Бывает (раздел) первичный и логический. Объясняется это тем, что разделов на жёстком диске может быть всего 4. Маловато, да? Самое печальное, что некоторые программы успешно создают и пятый, затирая при этом один из существующих - лучше не рисковать. Для устранения этого досадного ограничения используются расширенные разделы. Это контейнеры, которые хранят в себе несколько логических разделов. Инсталятор Ubuntu как-раз и хочет в автоматическом режиме создать расширенный раздел, внутри которого лежат корневой(root) и раздел подкачки(swap). Важное замечание - с логического раздела нельзя загружать компьютер. Загрузчик нужно ставить на один из первичных или в загрузочный сектор самого жёсткого диска.
Директория, папка, каталог - ну вы поняли, это одно и то же.
Монтирование - подключение раздела к какой-то директории в файловой системе (выполняется командой mount).
Точка монтирования - собственно, та директория, куда примонтрован (должен быть примонтирован) какой-то раздел.

Монтирование
Чтобы система вообще заработала, в самом начале загрузки надо примонтировать хотя бы корневой раздел. Ну и другие разделы, которыми мы точно станем пользоваться. Такие записи находятся в файле /etc/fstab. Туда и дописывает их установщик. Остальные разделы (например, флэшки) подмонтируются по мере необходимости. Они отображаются в Наутилусе на панели слева и подключаются по клику в директорию /media/device_id, где device_id - имя накопителя или его сейрийный номер.
Для интересующихся: в файле /etc/fstab идут строки типа "dev_name mount_point options n m". Инсталятор ubuntu записывает устройства по UUID - как бы уникальному номеру. Этот номер задаётся при форматировании раздела. В принципе, можно указывать более человеко-понятное имя, например /dev/sda1 (смотрим командой df), но после изменения таблицы наш sda1 может стать, например, sda2, а вот UUID у него сохранится. В общем, спорное удобство. А смотреть UUIDы можно командой sudo blkid.

Совет дня
Сейчас у меня довольно неплохо устоявшаяся схема разделов под две системы:
16Гб - системный раздел номер 1
16Гб - системный раздел номер 2
Сколько осталось - под файлы

Суть в том, чтобы операционные системы были отделены от наших файлов. Таким образом, даже напортачив с переустановкой дистрибутива, мы имеем шанс не потерять более ценную(а более ценную ценную ли?) информацию. На разделе под файлы у меня созданы папки для каждого юзера. Внутри каждой - личные папки типа "Картинки", "Музыка", "Книги"... После (пере-)установки системы я просто создаю в /home/username ссылки на нужные папки с большого раздела. Пример (если большой раздел примонтирован на /mnt/files): ln -s /mnt/files/boh/music /home/boh/Музыка

Казалось бы, можно было создать на большом разделе целый /home и монтировать его к любой системе. Но! Линуксовые программы (например, Firefox) имеют свойство хранить настройки и пользовательские данные в папках /home/username/.firefox и подобных. И смешение настроек двух систем ничего хорошего не сулит. Поэтому мне больше нравится вариант со ссылками.

Дисклэймер
Операции с разделами всегда потенциально опасны. Делайте бэкапы и будьте осторожны.
После некоторого перерыва в этой деятельности (когда зуд исследователя прошёл на год) навыки притупляются и можно быстренько запороть что-то не то.


Комментариев нет: