| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
| software:linux_server:lfs:lfs-12.1:chapter02:creatingpartition [2025/04/05 10:51] – vladpolskiy | software:linux_server:lfs:lfs-12.1:chapter02:creatingpartition [2025/04/05 14:31] (текущий) – [2.4.1. Другие вопросы по созданию разделов] vladpolskiy |
|---|
| :&15: **Примечание**:\\ | :&15: **Примечание**:\\ |
| \\ | \\ |
| Для опытных пользователей возможны и другие схемы разбиения. Система LFS может располагаться на программном RAID-массиве или логическом томе LVM. Однако для некоторых опций требуется initramfs, что является сложной темой. Эти методы разбиения не рекомендуются начинающим пользователям LFS. | Для опытных пользователей возможны и другие схемы разбиения. Система LFS может располагаться на программном [[software:linux_server:blfs:blfs-12.1:postlfs:raid|RAID-массиве]] или логическом томе [[software:linux_server:blfs:blfs-12.1:postlfs:aboutlvm|LVM]]. Однако для некоторых опций требуется [[software:linux_server:blfs:blfs-12.1:postlfs:initramfs|initramfs]], что является сложной темой. Эти методы разбиения не рекомендуются начинающим пользователям LFS. |
| </note> | </note> |
| |
| Запомните обозначение созданного раздела (например, sda5). В этой книге он будет называться разделом LFS. Также запомните обозначение раздела подкачки. Эти имена понадобятся позже для файла /etc/fstab. | Запомните обозначение созданного раздела (например, sda5). В этой книге он будет называться разделом LFS. Также запомните обозначение //раздела подкачки//. Эти имена понадобятся позже для файла /etc/fstab. |
| |
| ====2.4.1. Другие вопросы по созданию разделов==== | ====2.4.1. Другие вопросы по созданию разделов==== |
| Если загрузочный диск размечен с помощью таблицы разделов GUID (GPT), необходимо создать небольшой раздел, обычно размером 1 МБ, если он еще не существует. Этот раздел не форматируется, но должен быть доступен для использования GRUB во время установки загрузчика. Обычно он помечен как 'BIOS Boot' при использовании fdisk или имеет код EF02 при использовании gdisk. | Если загрузочный диск размечен с помощью таблицы разделов GUID (GPT), необходимо создать небольшой раздел, обычно размером 1 МБ, если он еще не существует. Этот раздел не форматируется, но должен быть доступен для использования GRUB во время установки загрузчика. Обычно он помечен как 'BIOS Boot' при использовании fdisk или имеет код EF02 при использовании gdisk. |
| |
| [Примечание] Примечание | <note blue> |
| | :&15: **Примечание**\\ |
| Раздел Grub Bios должен находиться на диске, который BIOS использует для загрузки системы. Это не обязательно тот же диск, на котором расположен корневой раздел LFS. Диски в системе могут использовать разные типы таблиц разделов. Наличие раздела Grub Bios зависит только от типа таблицы разделов на загрузочном диске. | Раздел Grub Bios должен находиться на диске, который BIOS использует для загрузки системы. Это не обязательно тот же диск, на котором расположен корневой раздел LFS. Диски в системе могут использовать разные типы таблиц разделов. Наличие раздела Grub Bios зависит только от типа таблицы разделов на загрузочном диске. |
| | </note> |
| |
| ===2.4.1.4. Разделы, используемые для удобства=== | ===2.4.1.4. Разделы, используемые для удобства=== |
| Есть несколько других разделов, которые не являются обязательными, но их следует учитывать при разработке схемы диска. Следующий список не является исчерпывающим, а представлен в качестве справочного руководства. | Есть несколько других разделов, которые не являются обязательными, но их следует учитывать при разработке схемы диска. Следующий список не является исчерпывающим, а представлен в качестве справочного руководства. |
| |
| * /boot – Настоятельно рекомендуется. Используйте этот раздел для хранения ядер и другой загрузочной информации. Чтобы свести к минимуму возможные проблемы с загрузкой дисков большого размера, сделайте этот раздел первым физическим разделом на первом диске. Размер раздела в 200 мегабайт вполне достаточен. | * **/boot** – Настоятельно рекомендуется. Используйте этот раздел для хранения ядер и другой загрузочной информации. Чтобы свести к минимуму возможные проблемы с загрузкой дисков большого размера, сделайте этот раздел первым физическим разделом на первом диске. Размер раздела в 200 мегабайт вполне достаточен. |
| * /boot/efi – Системный раздел EFI, используемый для загрузки системы с помощью UEFI. Подробнее читайте на странице BLFS. | * **/boot/efi** – Системный раздел EFI, используемый для загрузки системы с помощью UEFI. Подробнее читайте на [[software:linux_server:blfs:blfs-12.1:postlfs:grub-setup|странице BLFS]]. |
| * /home – Настоятельно рекомендуется. Предоставьте общий доступ к своему домашнему каталогу и пользовательским настройкам нескольким дистрибутивам или сборкам LFS. Размер, как правило, довольно большой и зависит от доступного места на диске. | * **/home** – Настоятельно рекомендуется. Предоставьте общий доступ к своему домашнему каталогу и пользовательским настройкам нескольким дистрибутивам или сборкам LFS. Размер, как правило, довольно большой и зависит от доступного места на диске. |
| * /usr – в LFS, /bin, /lib, и /sbin являются символическими ссылками на их аналоги в /usr. Таким образом /usr содержит все двоичные файлы, необходимые для работы системы. Для LFS отдельный раздел /usr не требуется. Если он вам необходим, вы должны сделать раздел достаточно большим, чтобы поместить туда все программы и библиотеки в системе. В этой конфигурации, корневой раздел может быть очень маленьким (возможно, всего один гигабайт), поэтому он подходит для тонкого клиента или бездисковой рабочей станции (где /usr монтируется с удаленного сервера). Однако вы должны знать, что для загрузки системы с отдельного раздела /usr потребуется initramfs (не включенный в LFS). | * **/usr** – в LFS, /bin, /lib, и /sbin являются символическими ссылками на их аналоги в /usr. Таким образом /usr содержит все двоичные файлы, необходимые для работы системы. Для LFS отдельный раздел /usr не требуется. Если он вам необходим, вы должны сделать раздел достаточно большим, чтобы поместить туда все программы и библиотеки в системе. В этой конфигурации, корневой раздел может быть очень маленьким (возможно, всего один гигабайт), поэтому он подходит для тонкого клиента или бездисковой рабочей станции (где /usr монтируется с удаленного сервера). Однако вы должны знать, что для загрузки системы с отдельного раздела /usr потребуется initramfs (не включенный в LFS). |
| * /opt – Этот каталог наиболее полезен для BLFS, в него можно установить некоторые большие пакеты, такие как KDE или Texlive, без использования иерархии /usr. Для /opt достаточно размера от 5 до 10 гигабайт. | * **/opt** – Этот каталог наиболее полезен для BLFS, в него можно установить некоторые большие пакеты, такие как KDE или Texlive, без использования иерархии /usr. Для /opt достаточно размера от 5 до 10 гигабайт. |
| * /tmp – По умолчанию, systemd монтирует здесь tmpfs. Если вы хотите переопределить это поведение, следуйте инструкции Раздел 9.10.3, «Отключение tmpfs для /tmp» при настройке системы LFS. | * **/tmp** – По умолчанию, systemd монтирует здесь tmpfs. Если вы хотите переопределить это поведение, следуйте инструкции Раздел 9.10.3, «Отключение tmpfs для /tmp» при настройке системы LFS. |
| * /usr/src – Этот раздел очень удобен для хранения исходников BLFS и совместного использования их в сборках LFS. Его также можно использовать в качестве места для сборки пакетов BLFS. Размера в 30-50 гигабайт вполне достаточно. | * **/usr/src** – Этот раздел очень удобен для хранения исходников BLFS и совместного использования их в сборках LFS. Его также можно использовать в качестве места для сборки пакетов BLFS. Размера в 30-50 гигабайт вполне достаточно. |
| |
| Любой отдельный раздел, который вы хотите автоматически монтировать при загрузке, должен быть указан в файле /etc/fstab. Подробности о том, как указать разделы, будут обсуждаться в Раздел 10.2, «Создание файла /etc/fstab». | Любой отдельный раздел, который вы хотите автоматически монтировать при загрузке, должен быть указан в файле /etc/fstab. Подробности о том, как указать разделы, будут обсуждаться в [[software:linux_server:lfs:lfs-12.1:chapter10:fstab|Раздел 10.2, «Создание файла /etc/fstab»]]. |
| |
| =====2.5. Создание файловой системы на разделе===== | <note blue> |
| Раздел - это всего лишь диапазон секторов на диске, указанный в таблице разделов. Прежде чем операционная система сможет использовать раздел для хранения каких-либо файлов, он должен быть отформатирован, чтобы содержать файловую систему, обычно состоящую из метки, блоков каталогов, блоков данных и схемы индексации для поиска конкретного файла по запросу. Файловая система также помогает операционной системе отслеживать свободное пространство на разделе, резервировать необходимые секторы при создании нового файла или расширении существующего и повторно использует свободные сегменты данных, полученные в результате удаления файлов. Она также может обеспечивать поддержку избыточности данных и восстановления после ошибок. | <wrap left>← [[software:linux_server:lfs:lfs-12.1:chapter02:stages|Этапы сборки системы LFS]]</wrap> |
| | <wrap right>[[software:linux_server:lfs:lfs-12.1:chapter02:creatingfilesystem|Создание файловой системы на разделе]] →</wrap> |
| LFS может использовать любую файловую систему, распознаваемую ядром Linux, но наиболее распространенными типами являются ext3 и ext4. Выбор правильной файловой системы может быть сложным; это зависит от характеристик файлов и размера раздела. Например: | |
| | |
| |ext2|подходит для небольших разделов, которые редко обновляются, например /boot.| | |
| |ext3|это обновленная файловая система ext2, которая включает в себя журнал, помогающий восстановить состояние раздела в случае некорректного завершения работы. Обычно используется в качестве файловой системы общего назначения.| | |
| |ext4|является последней версией файловых систем семейства ext. Она предоставляет несколько новых возможностей, включая временные метки с точностью до наносекунды, создание и использование очень больших файлов (16 ТБ) и повышение скорости работы.| | |
| | |
| Другие файловые системы, включая FAT32, NTFS, ReiserFS, JFS и XFS, полезны для конкретных задач. Более подробную информацию об этих файловых системах и многих других можно найти по адресу https://en.wikipedia.org/wiki/Comparison_of_file_systems. | |
| | |
| LFS предполагает, что корневая файловая система (/) имеет тип ext4. Чтобы создать файловую систему ext4 на разделе LFS, выполните следующую команду: | |
| | |
| <code> | |
| mkfs -v -t ext4 /dev/<xxx> | |
| </code> | |
| | |
| Замените <xxx> именем раздела LFS | |
| | |
| Если вы используете существующий раздел подкачки, нет необходимости его форматировать. Если был создан новый раздел подкачки, его нужно будет инициализировать с помощью этой команды: | |
| | |
| <code> | |
| mkswap /dev/<yyy> | |
| </code> | |
| Замените <yyy> именем раздела подкачки. | |
| =====2.6. Установка переменной $LFS===== | |
| В этой книге переменная окружения LFS будет использоваться несколько раз. Вы должны убедиться, что эта переменная всегда определена в процессе сборки LFS. Она должна быть установлена на каталог, в котором вы будете создавать свою систему LFS — мы, для примера, будем использовать /mnt/lfs, но вы можете выбрать любой другой. Если вы собираете LFS на отдельном разделе, этот каталог будет точкой монтирования для раздела. Выберите расположение каталога и установите переменную с помощью следующей команды: | |
| | |
| <code> | |
| export LFS=/mnt/lfs | |
| </code> | |
| | |
| <note green> | |
| **Внимание**:\\ | |
| Не забывайте проверять, что переменная LFS установлена, всякий раз, когда вы покидаете и снова входите в текущую рабочую среду (например, когда выполняете su для root или другого пользователя). Убедитесь, что переменная LFS настроена правильно: | |
| <code> | |
| echo $LFS | |
| </code> | |
| Убедитесь, что в выходных данных указан путь к местоположению сборки вашей системы LFS, то есть /mnt/lfs, если вы следовали примеру. Если вывод неверен, используйте команду, указанную ранее, чтобы установить $LFS в правильное значение каталога LFS. | |
| </note> | </note> |
| |
| <note green> | |
| **Примечание**:\\ | |
| Один из способов гарантировать, что переменная LFS всегда установлена, — отредактировать файл .bash_profile как в вашем личном домашнем каталоге, так и в /root/.bash_profile и добавить приведенную выше команду экспорта. Кроме того, оболочка, указанная в файле /etc/passwd для всех пользователей, которым нужна переменная LFS, должна быть bash, чтобы гарантировать, что файл /root/.bash_profile используется как часть процесса входа в систему. | |
| |
| Еще один способ, который используется для входа в хост-систему. При входе в систему через диспетчер графического дисплея пользовательский .bash_profile не используется при запуске виртуального терминала. В этом случае добавьте команду экспорта в файл .bashrc для своего пользователя и root. Кроме того, некоторые дистрибутивы используют тест "if" и не запускают оставшиеся инструкции .bashrc для не интерактивного вызова bash. Обязательно разместите команду экспорта перед тестом для не интерактивного использования. | |
| </note> | |
| |
| =====2.7. Монтирование нового раздела===== | |
| |
| Теперь, когда файловая система создана, раздел должен быть смонтирован, чтобы хост-система могла получить доступ к нему. В книге предполагается, что файловая система монтируется в каталог, указанный в переменной LFS, описанной в предыдущем разделе. | |
| |
| Строго говоря, нельзя «смонтировать раздел». Монтируется файловая система на этом разделе. Но так как один раздел не может содержать несколько файловых систем, люди часто говорят о разделе и связанной с ним файловой системе так, как если бы они были одним и тем же. | |
| |
| Создайте точку монтирования и смонтируйте файловую систему LFS с помощью этих команд: | |
| |
| <code> | |
| mkdir -pv $LFS | |
| mount -v -t ext4 /dev/<xxx> $LFS | |
| </code> | |
| |
| Замените <xxx> на имя раздела LFS. | |
| |
| Если вы используете несколько разделов для LFS (например, один для /, а другой для /home), смонтируйте их вот так: | |
| |
| <code> | |
| mkdir -pv $LFS | |
| mount -v -t ext4 /dev/<xxx> $LFS | |
| mkdir -v $LFS/home | |
| mount -v -t ext4 /dev/<yyy> $LFS/home | |
| </code> | |
| |
| Замените <xxx> и <yyy> соответствующими именами разделов. | |
| |
| Убедитесь, что этот новый раздел не смонтирован со слишком строгими разрешениями (такими как параметры nosuid или nodev). Запустите команду mount без каких-либо параметров, чтобы увидеть, какие параметры установлены для смонтированного раздела LFS. Если установлены nosuid и/или nodev, раздел должен быть размонтирован и смонтирован повторно. | |
| |
| <note green> | |
| **Предупреждение**:\\ | |
| Приведенные выше инструкции предполагают, что вы не будете перезагружать компьютер в процессе сборки LFS. Если вы выключите свою систему, вам придется либо перемонтировать раздел LFS каждый раз, когда вы перезапускаете процесс сборки, либо изменить файл /etc/fstab вашей хост-системы, чтобы он автоматически монтировал его при загрузке. Например, вы можете добавить эту строку в свой /etc/fstab: | |
| <code> | |
| /dev/<xxx> /mnt/lfs ext4 defaults 1 1 | |
| </code> | |
| Если вы используете дополнительные разделы, обязательно добавьте их. | |
| </note> | |
| |
| Если вы используете раздел подкачки, убедитесь, что он включен с помощью команды swapon: | |
| |
| <code> | |
| /sbin/swapon -v /dev/<zzz> | |
| </code> | |
| |
| Замените <zzz> именем раздела подкачки. | |
| |
| Теперь, когда новый раздел LFS готов к работе, пришло время загрузить пакеты. | |