Разделы для установки Linux

Итак, с обозначением  разобрались. Теперь разберем минимальное  количество самих разделов, которое необходимо для работы  операционной системы Linux. В Linux файловая структура связана в логическое дерево. Путь каждого файла и  каталога начинается от  корня файловой системы,  который обозначается знаком «/». При обращении к файлу указывается полный путь относительно корня файловой системы или относительный — от текущего местонахождения. Например, запись /boot/vmlinux указывает в нашем случае на файл vmlinux, размещенный в каталоге /boot.

ПРИМЕЧАНИЕ

      Каталог — это файл, содержащий список связанных с ним файлов.

На уровень ниже от корневого находится большая группа каталогов,  каждый из них играет  свою  роль в системе, их названия и назначения стандартизированы, хотя в некоторых случаях разработчики дистрибутивов отходят от стандарта. В терминале список файлов и каталогов можно просмотреть командой  ls  названи е   ка талога. Чтобы просмотреть список подкаталогов, находящихся в верхушке корня (рис. 2.1), используем

$ ls /

Вот некоторые из таких  каталогов — /boot, /bin, /sbin, /etc, /lib, /home, /root, /mnt,

/usr, /var, /dev, /opt, /рrос и /tmp (см. рис. 2.1).

Чтобы было понятно, разберем назначение основных каталогов  Linux.  Для срав нения:  в операционной системе Windows после установки программы все конфигурационные   и  исполняемые файлы могут  находиться где попало: в  каталоге, в  который установлена программа,  в  одном из системных каталогов, в  текущем каталоге, откуда произведен первый запуск, и т. д.

ПРИМЕЧАНИЕ

В терминологии  Linux процедура подключения устройства к дереву каталогов называется  монтированием,  соответственно  отключение — размонтированием.

Рис. 2.1. Дерево файловой системы Linux Mint

Причем порядок не является устойчивым и зависит от конкретного разработчика. В итоге даже при  удалении  программы нельзя точно  сказать, что где находится. В Linux, как и в прочих UNIX-подобных системах, расположение основных файлов четко определено, основные исполняемые файлы размещаются в одних  каталогах, конфигурационные — в других,  библиотеки — в третьих  и т. д.

Чтобы избежать путаницы, разработан стандарт, определяющий  имена   и назначение основных  каталогов  и  подкаталогов, а также  некоторых важных файлов, —

Filesystem Hierarchy Standard (FHS, Стандарт иерархии файловой системы).

ПРИМЕЧАНИЕ

Последне е  описани е  стандарта  FHS  можн о  найти  на  сайте  проекта  http://www . pathname.com/fhs/, перевод доступе н  на  сайте OpenNE T http://www.opennet.ru / docs/RUS/file-sys/ .

Текущая версия стандарта 2.3 вышла  в январе  2004 г. В данный момент большинство UNIX-подобных систем,   в том числе   и дистрибутивов  Linux, в той или иной  степени  следуют этим правилам.  Конечно, в дистрибутивах   встречаются исключения и  варианты, но они не настолько радикальны, чтобы в них  не разобраться.

Да и часто ради совместимости разработчики используют символические ссылки. Некоторые рекомендации стандарта, например размещение домашних каталогов серверов  в /srv, так и  не нашли  широкого распространения.  Есть дистрибутивы, которые полностью отвергают рекомендации  FHS, например GoboLinux (http:// gobolinux.org/). Но  повторюсь, исключений не так уже и  много. Поэтому, меняя дистрибутив,  версию системы,  создавая  свой скрипт и т. д., пользователь  всегда будет находить  все на своих местах.

Прежде чем разбираться с тем, куда и  как подключаются устройства, думаю, нелишним будет разобраться с назначением основных  каталогов. При  разделении каталогов разработчики стандарта руководствовались простым принципом — собрать в  одном месте файлы по назначению или типу использования.  Нетрудно заметить, что изначально разделены системные и  пользовательские файлы, файлы, которые остаются неизменными, и  изменяющиеся самостоятельно в процессе работы системы, разделяемые и  неразделяемые файлы. Это дает возможность подключить разделы с системными файлами, которые редко изменяются в режиме  для чтения,   выделив минимально необходимый объем. Такой подход позволяет сэкономить дисковое пространство  и уберечь файлы от ошибок на случай сбоев и прочих  неприятностей  (например,  атаки  вирусов). Специальные   программы могут следить за любыми попытками вмешательства в такие  каталоги и выявлять попытки взлома или вирусной атаки без применения антивирусных программ. Каталоги, в  которых помещены разделяемые ресурсы, можно  использовать совместно несколькими  компьютерами. Администратору  легче следить за обновлениями, да и место на жестких дисках не расходуется зря.

Каталог/bin содержит основные исполняемые файлы, которые доступны как обычному пользователю, так и системным администраторам. Отсюда и название, которое произошло от англ. binaries — «двоичный, исполняемый». Некоторые из таких  команд используются стартовыми скриптами для установки системных параметров даже в том случае, если система работает в однопользовательском (спасательном) режиме, когда остальные файловые системы не смонтированы. Поэтому FHS устанавливает  список обязательных файлов, которые должны присутствовать  здесь. Если в дистрибутиве  применяется аналог одной из подобных программ, обязательно должна присутствовать ссылка с таким именем. Например, файл /bin/sh в большинстве  случаев  является ссылкой на  исполняемый  файл командной оболочки Борна /bin/bash.

Аналогично в /sbin (system binaries) содержатся системные файлы, доступ к которым имеет только пользователь с правами администратора. Здесь находятся важные системные  программы, предназначенные для  настройки  системы и  сети, работы с дисками, учетными записями пользователей и др.

В каталоге /boot собраны файлы, необходимые для загрузки  ядра, и,  конечно, само ядро. Данный каталог меняется только при обновлении ядра, поэтому часто

его помещают на отдельном разделе жесткого диска небольшого  размера (до 100 Мбайт). В системах, использующих загрузчик GRUB,  обычно находятся конфигурационный  файл загрузчика и  некоторые  файлы, необходимые для его работы.

Файлы устройств собраны в каталоге /dev, название которого и произошло от англ. device — «устройство». Постепенно мы будем знакомиться с некоторыми важными файлами этого каталога. Как раз на примере каталога /dev видно, что все  в Linux является файлами. Например, файл /dev/dsp является устройством  вывода звука. Если звуковая подсистема уже настроена, это можно легко проверить. Выполните, например, команду

$ cat /boot/vmlinuz-2.6.32-21-generic > /dev/dsp

где /boot/vmlinuz — это файл, содержащий ядро Linux, и вы услышите, как «играет» ядро. Конечно, на самом деле все файлы не являются устройствами как таковыми, а обеспечивают лишь прием и  передачу  информации,  скрывая от пользователя внутреннюю структуру. Есть здесь и «черная дыра» — файл /dev/null. Вся информация, отправленная  в этой файл, пропадает бесследно. Его часто используют в командах, например, чтобы не засорять вывод на терминал ненужными сообщениями. Так, чтобы убрать сообщения об ошибках,  выводимых при копировании файлов, нужно использовать команду

$ ср -R folder/* folder2 2>/dev/null

или, чтобы удалить содержимое файла, но при этом сохранить сам файл со всеми его атрибутами (владелец,  права доступа), команду

$ cat /dev/null > /var/log/messages

Есть еще интересное псевдоустройство — файл /dev/zero, отличие которого от /dev/ null состоит   в том, что он содержит двоичные нули. Информация,  отправленная в /dev/zero, исчезает бесследно, попытка прочитать ее может привести к некоторым трудностям. Его часто используют для создания пустого файла заданного размера. Например, чтобы создать файл размером 1 Мбайт:

$ dd if=/dev/zero of=file bs=1024 count=1000

Если нужен поток случайных чисел, следует обратиться к псевдоустройствам /dev/ random и /dev/urandom.

Основные конфигурационные файлы системы, установленных сервисов и некоторых программ, доступных ресурсов, учетные базы пользователей  и др. находятся в  каталоге /etc. Новые программы, устанавливаемые при  помощи  пакетов, также будут размещать конфигурационные файлы в каталоге /etc.

ПРИМЕЧАНИЕ

Если программа компилируется самостоятельно, то место, где разместятся конфигурационные файлы, будет определено при конфигурировании в зависимости от установок переменных sysconfdir и prefix.

Спецификация определяет и некоторые каталоги внутри /etc. Например, в /etc/X11/ находятся настройки  видеоподсистемы  Linux XOrg или  XFree86, о настройках которой мы поговорим в следующих главах.

Настройки  и  личные файлы обычных пользователей  находятся в  подкаталогах, которые, как правило, соответствуют   названию  учетной  записи  и  размещаются в каталоге /home. При правильных настройках системы обычный пользователь не сможет подняться выше по дереву каталогов из своего домашнего каталога. Часто для /home выделяют отдельный раздел жесткого диска, который можно подключать в разных дистрибутивах.

Аналогично /root является домашним каталогом пользователя root.  Учитывая, что этой учетной записью в  повседневной  работе не  пользуются, каталог /root имеет небольшой размер, и  по возможности  он  должен находиться  на том же разделе жесткого диска, что и корневой каталог.

Важные системные библиотеки находятся в каталоге /lib (от англ. libraries — «библиотеки»).  В файлах реализованы стандартные функции  (например, ввод/вывод данных), необходимые в основном для работы программ из каталогов /bin и /sbin.

ПРИМЕЧАНИЕ

Часто используемые функции обычно выносят в отдельную библиотеку, что позволяет использовать их разными программами, экономить место на диске и упростить их обновление и сопровождение.

В каталоге /lib/modules/`uname -r` находятся установленные модули ядра.

ПРИМЕЧАНИЕ

На самом деле каталог называется по-другому, и в каждом дистрибутиве по-разному, поэтому в примере использована  возможность подстановки одной команды в другую. Команда uname -г, выполненная в консоли, как раз и покажет имя текущего ядра, то есть в нашем случае — 2.6.32-21-generic. Поэтому во многих примерах, чтобы упростить поиск, используют конструкцию с выводом этой команды.

Для монтирования  временных файловых систем предназначен  каталог  /mnt, а в версии   FHS сменные носители рекомендуется монтировать в каталог /media. Именно в  использовании этих двух каталогов в  разных дистрибутивах есть расхождения. В идеальном случае, когда Linux установлен в качестве единственной системы, в /media должен быть только каталог для монтирования CD/DVD-при вода. Но на домашнем компьютере Linux часто устанавливается в качестве второй системы, поэтому после инсталляции в /media или /mnt помещаются ссылки для

монтирования остальных разделов жесткого диска, на которых помещены данные операционной  системы Windows. Поскольку стандарт четко не  определяет для таких случаев точку монтирования, решение этого вопроса ложится на разработчиков. Например,   в  Ubuntu сторонние файловые  системы и  сменные носители по умолчанию монтируются в /media, а в Slackware — в /mnt. В KNOPPIX каталоги  для монтирования  можно  найти  и  в  /mnt, и  в  /media, хотя по умолчанию монтирование  производится   в /media. Попадаются и  решения, когда точка для монтирования привода компакт-диска  вынесена в  корневой каталог —  /cdrom. Хотя большой путаницы обычно это не вызывает.

Псевдофайловой  системы /рrос на самом деле нет на жестком диске, она расположена в виртуальной памяти и монтируется во время работы операционной системы. Большинство системных  команд берет  информацию  именно отсюда. Например, команда lsmod, предназначенная для просмотра загруженных модулей ядра, на самом деле выводит результат команды

$ cat /proc/modules

в более удобной форме. Аналогично и  lspci , показывающая список PCI-устройств, получает информацию  из  файла /proc/pci. Если  просмотреть список каталогов внутри /ргос, можно заметить, что  большая  часть имеет цифровое обозначение.  На самом деле эти  имена  соответствуют  идентификационному номеру процесса (process ID, PID).  Проверим.

Запустим консоль и  посмотрим связанный с ней PID.

$ ps а | grep /bin/bash

5800 pts/1 Rs 0:00 /bin/bash

Первая цифра соответствует  PID процесса. Теперь при помощи команды  ls  проверим, что находится в подкаталоге /рrос с таким номером.

$ ls /рrос/5800

Вывод покажет большое количество файлов, в  которых содержится та или  иная информация о процессе. Например, в cmdline находится командная строка запуска этого процесса:

$ cat /рrос/5800/cmdline

/bin/bash

Временные файлы, в которых программы хранят промежуточные данные, находятся в каталоге /tmp. В большинстве случаев после корректного завершения работы программы все временные  файлы удаляются, а сам каталог автоматически очищается при загрузке системы. Для ускорения доступа часто пользователи монтируют этот каталог в оперативную память. Как это делается, разберем чуть позже.

В каталоге /usr размещены прикладные программы, то есть сюда вынесено все, что не нужно при  загрузке системы. Именно в /usr при  помощи  систем управления пакетами  устанавливаются приложения,  серверы и  прочие программы и библио теки. Структура подкаталогов  в /usr немного напоминает корневой раздел. Здесь есть подкаталоги bin, sbin, etc и lib, назначение которых совпадает с одноименными, только  относятся они  к прикладным, а не к системным программам. С  учетом большого количества  программ, доступных в  современных  дистрибутивах,  этот каталог желательно размещать на отдельном  разделе жесткого диска. Иначе возникнет ситуация, когда, установив  новые программы и  перезагрузившись,  вы  не сможете зарегистрироваться, так как все место на корневом разделе будет занято.

Внутри /usr есть ряд подкаталогов, которые вы часто будете встречать.  Например,

/usr/src используется для распаковки исходных текстов ядра. В каталоге /usr/X11R6/ находятся файлы и библиотеки видеосервера Linux — X Window System. Каталог

/usr/local предназначен для установки  дополнительных программ.  Именно сюда попадают программы при компиляции с параметрами по умолчанию. Он в основном повторяет структуру каталогов /usr.

В каталог /opt (от англ. optional — «опциональный») устанавливаются опциональные программы. Как правило, это программы, представленные сторонними разработчиками и  не инсталлируемые при помощи системы пакетов конкретного дистрибутива. Обычно  подкаталоги  имеют собственную  структуру, и,  чтобы удалить программу из /opt, достаточно просто удалить соответствующий каталог.

И наконец, последний, но не менее важный каталог — /var (от англ. variable — «переменные»). В него помещаются данные, которые  постоянно изменяются в  ходе работы системы, но в отличие   от /tmp они  нужны для дальнейшей работы после перезагрузки или по окончании работы программы. Именно здесь находятся журналы работы  программ, кэш-файлов  и  база системы  управления пакетов, файлы баз данных, почтового и веб-сервера, очереди печати. Например, файлы журналов системы и отдельных программ и сервисов находятся в /var/log. В подкаталоге /var/run размещаются файлы с расширением  .pid . Имя  файла обычно указывает на создавший его процесс. При завершении работы программы pid-файл удаляется. Таким образом, наличие  или  отсутствие одноименного  файла позволяет легко узнать, работает ли  необходимая программа. Нужно это, например, для блокировки  запуска ее второй копии или проверки состояния необходимых сервисов, от работоспособности  которых зависит запускаемая программа.

Несколько  иное назначение каталога /var/lock, появление здесь файла говорит о блокировке ресурса или программы. Например, происходит автоматическое  обновление списка пакетов в репозитарии,  а в это время администратор пробует установить

новую или обновить имеющуюся  программу. В процессе обновления список программ может поменяться, и в результате пользователь, вполне вероятно, окажется с нерабочей программой или системой. Чтобы  избежать возможных разногласий в подобной ситуации, используется файл блокировки. Пока будет производиться обновление  базы пакетов, все другие попытки  обращения  к ней будут блокироваться.

ВНИМАНИЕ

В Ubuntu и Linux Mint ранних версий раздел /var/run обязательно должен находиться на корневой файловой системе, иначе некоторые приложения не смогут стартовать.

Наверное, сначала такая схема покажется непривычной, неудобной,  непонятной, но не спешите с выводами, вскоре вы поймете ее простоту. Тем более что в большинство каталогов,  которые описаны выше, вы, скорее всего, так и  не заглянете. Большую часть настроек вы будете производить  в домашнем каталоге пользователя и /etc.

СОВЕТ

Чтобы не повторять настройки при переустановке, обновлении системы или переходе на другой дистрибутив, сохраняйте резервную копию каталога /etc и используйте готовые файлы. Если формат совместим, то вы быстро получите работоспособную систему.

Кроме этого вы  сами  можете добавить свой каталог в  абсолютно  любое место файловой системы, если  обладаете соответствующими  правами  доступа и  если такое действие имеет смысл. Так, домашний каталог пользователя является подкаталогом в  /home и  обычно  соответствует логину, который он использует  при регистрации  в  системе.  Например, домашний каталог пользователя, имеющего логин user, будет находиться в /home/user. Именно здесь пользователь хранит свои данные.

ВНИМАНИЕ

При обращении к каталогу или файлу всегда указывается путь относительно корня. Например, чтобы обратиться к каталогу boot, следует писать /boot. Исключением является использование специальных переменных. Например, чтобы обратиться к файлу file,  находящемуся в домашнем каталоге пользователя grinder, можно указывать полный путь /home/grinder/file. На домашний каталог пользователя можно указать при помощи переменных $НОМЕ или ~/, то есть в нашем примере для пользователя grinder запись будет выглядеть так: $HOME/file или -/file.

Главная особенность Linux состоит  в том, что любой из каталогов дерева файловой системы не обязан находиться на одном разделе жесткого диска, и  чтобы части, размещенные на других разделах жесткого диска,  были  доступны операционной системе или пользователю, они монтируются (англ. mounting), то есть фактически подключаются к дереву каталогов.  При этом существует полная свобода выбора:

дисковый раздел можно смонтировать в любую точку файловой системы. Хоть на первый взгляд все выглядит сложно, на самом деле монтирование — простая операция, а гибкость, которая предоставляется  пользователю в  построении  своего рабочего пространства, поверьте, будет вами оценена. По ходу прочтения книги мы разберем все эти моменты более подробно, и вопросов не останется.

Итак, для нормальной работы Linux необходимо создать как минимум два раздела: системный (Linux native) и раздел подкачки (Linux Swap). Для установки Linux Mint под системный раздел необходимо  выделить не менее 3 Гбайт, но это с учетом того, что пользователь будет хранить данные в этом же разделе. Иными словами, если в домашнем каталоге планируется хранить пользовательские данные, например коллекцию аудио и видеозаписей, то следует сразу предусмотреть объем и для них.

Раздел подкачки  желательно расположить как можно ближе к началу диска для увеличения скорости обмена данными, а идеальный вариант — на другом физическом диске, чтобы данные и  кэшированная информация  считывались  с разных носителей. Это увеличит скорость работы. Можно использовать еще один вариант: разместить раздел подкачки на разных дисках, указав одинаковый приоритет в специальном файле /etc/fstab.

/dev/sda1 swap swap defaults,pri=1 0 0

/dev/sdc5 swap swap defaults,pri=1 0 0

Размер раздела подкачки зависит от количества оперативной памяти, установленной в  системе, и  задач, которые планируется выполнять на компьютере. При  небольшом количестве  оперативной  памяти,  приблизительно  256 Мбайт, размер раздела подкачки  можно выбрать  кратный трем. Если  количество  оперативной памяти  больше 1 Гбайт,  то,  как правило, трехкратный размер раздела не имеет смысла.

ВНИМАНИЕ

Жесткий диск имеет меньшую производительность  по сравнению с оперативной памятью, поэтому частое обращение системы к разделу подкачки скажется на скорости выполнения операций. В таком случае следует увеличить количество оперативной памяти или оптимизировать систему, отключив лишние сервисы.

Для корректной работы режима сна (гибернации) требуется, чтобы размер раздела подкачки был на 10 % больше количества оперативной памяти, установленной на компьютере. Этой рекомендации и нужно придерживаться.

ПРИМЕЧАНИЕ

В Linux кроме раздела подкачки можно создать и файл подкачки (англ. swap file). Если в некоторый момент размера оперативной памяти с разделом подкачки не будет хватать, то такой файл можно создать и подключить в работу по мере необходимости.

Два раздела — самый простой вариант, который часто используют новички, желающие познакомиться с системой. Опытные пользователи  в  домашних системах, как правило, используют три раздела. В третьем разделе располагаются домашние

каталоги пользователей /home. В этом случае не возникнет ситуации, когда из-за

переполненности диска (например, был скопирован большой фильм, занявший все свободное место) система не смогла загрузиться  в  обычном  режиме. При  таком разбиении в случае переустановки дистрибутива (конечно, если раздел, отведенный

под /home, не форматировался)  все пользовательские  установки будут сохранены.

Кроме этого все новые  программы устанавливаются в  каталог /usr, в  него же копируются исходные тексты ядра, если будет спланирована самостоятельная пересборка. Поэтому следует либо предусмотреть  больше места в  корневом разделе,

либо сразу отвести под /usr отдельный раздел.

ВНИМАНИЕ

В старых BIOS было еще одно ограничение — ядро Linux можно было загрузить только с первых 1023 цилиндров жесткого диска. Тогда эту проблему решали выносом раздела /boot ближе к началу. Теперь об этом можно не беспокоиться.

Вынос загрузочного каталога /boot (не более 50-100 Мбайт) на отдельный дисковый раздел также может преследовать другую цель. Чтобы обеспечить безопасность и сохранность ядра, раздел /boot монтируют при загрузке в режиме  «только чтение». Если  же понадобится установить новое ядро, то раздел затем очень просто перемонтировать в режим «чтение — запись».

Минимальным  требованием для корневого раздела является 3 Гбайт,  рекомендуется — 8 Гбайт. Если планируется использовать отдельно /home с учетом того, что на нем размещаются пользовательские данные, под него следует выделить как можно больше места.

Источник: Яремчук С. А.  Linux Mint на 100 %. — СПб.: Питер, 2011. — 240 е.: ил. — (Серия «На 100 %»).

Похожие посты:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий