diff options
author | Sn4il <sn4il@thedroth.rocks> | 2024-09-02 15:54:35 +0300 |
---|---|---|
committer | Sn4il <sn4il@thedroth.rocks> | 2024-09-02 15:54:35 +0300 |
commit | 2203e654b389586650d553251b04544a34f189bf (patch) | |
tree | 0125b69fc70a2506c53158ba2020993a5b8985b7 /lfs-12.2-sysv/chapter02 | |
parent | 200d528e55ca954d37769f4d143f10c9519b00e7 (diff) | |
download | sn4il-site-2203e654b389586650d553251b04544a34f189bf.tar.gz sn4il-site-2203e654b389586650d553251b04544a34f189bf.zip |
LFS 12.2
Diffstat (limited to 'lfs-12.2-sysv/chapter02')
-rw-r--r-- | lfs-12.2-sysv/chapter02/aboutlfs.html | 156 | ||||
-rw-r--r-- | lfs-12.2-sysv/chapter02/chapter02.html | 110 | ||||
-rw-r--r-- | lfs-12.2-sysv/chapter02/creatingfilesystem.html | 166 | ||||
-rw-r--r-- | lfs-12.2-sysv/chapter02/creatingpartition.html | 343 | ||||
-rw-r--r-- | lfs-12.2-sysv/chapter02/hostreqs.html | 392 | ||||
-rw-r--r-- | lfs-12.2-sysv/chapter02/introduction.html | 87 | ||||
-rw-r--r-- | lfs-12.2-sysv/chapter02/mounting.html | 171 | ||||
-rw-r--r-- | lfs-12.2-sysv/chapter02/stages.html | 195 |
8 files changed, 1620 insertions, 0 deletions
diff --git a/lfs-12.2-sysv/chapter02/aboutlfs.html b/lfs-12.2-sysv/chapter02/aboutlfs.html new file mode 100644 index 0000000..9de7280 --- /dev/null +++ b/lfs-12.2-sysv/chapter02/aboutlfs.html @@ -0,0 +1,156 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 2.6. Установка переменной $LFS + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.2"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.2 + </h4> + <h3> + Глава 2. Подготовка хост-системы + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="creatingfilesystem.html" title= + "Создание файловой системы на разделе">Пред.</a> + <p> + Создание файловой системы на разделе + </p> + </li> + <li class="next"> + <a accesskey="n" href="mounting.html" title= + "Монтирование нового раздела">След.</a> + <p> + Монтирование нового раздела + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter02.html" title= + "Глава 2. Подготовка хост-системы">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.2">Начало</a> + </li> + </ul> + </div> + <h1 class="sect1"> + <a id="ch-partitioning-aboutlfs" name= + "ch-partitioning-aboutlfs"></a>2.6. Установка переменной $LFS + </h1> + <div class="sect1" lang="ru" xml:lang="ru"> + <p> + В этой книге переменная окружения <code class="envar">LFS</code> + будет использоваться несколько раз. Вы должны убедиться, что эта + переменная всегда определена в процессе сборки LFS. Она должна быть + установлена на каталог, в котором вы будете создавать свою систему + LFS — мы, для примера, будем использовать <code class= + "filename">/mnt/lfs</code>, но вы можете выбрать любой другой. Если + вы собираете LFS на отдельном разделе, этот каталог будет точкой + монтирования для раздела. Выберите расположение каталога и установите + переменную с помощью следующей команды: + </p> + <pre class="userinput"><kbd class="command">export LFS=<em class= + "replaceable"><code>/mnt/lfs</code></em></kbd></pre> + <p> + Установка этой переменной полезна тем, что такие команды, как + <span class="command"><strong>mkdir -v $LFS/tools</strong></span>, + можно вводить буквально. Оболочка автоматически заменит <span class= + "quote">«<span class="quote">$LFS</span>»</span> на <span class= + "quote">«<span class="quote">/mnt/lfs</span>»</span> (или любое + другое значение переменной) при обработке команды. + </p> + <div class="admon caution"> + <img alt="[Внимание]" src="../images/caution.png" /> + <h3> + Внимание + </h3> + <p> + Не забывайте проверять, что переменная <code class= + "envar">LFS</code> установлена, всякий раз, когда вы покидаете и + снова входите в текущую рабочую среду (например, когда выполняете + <span class="command"><strong>su</strong></span> для <code class= + "systemitem">root</code> или другого пользователя). Убедитесь, что + переменная <code class="envar">LFS</code> настроена правильно: + </p> + <pre class="userinput"><kbd class="command">echo $LFS</kbd></pre> + <p> + Убедитесь, что в выходных данных указан путь к местоположению + сборки вашей системы LFS, то есть <code class= + "filename">/mnt/lfs</code>, если вы следовали примеру. Если вывод + неверен, используйте команду, указанную ранее, чтобы установить + <code class="envar">$LFS</code> в правильное значение каталога LFS. + </p> + </div> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + Один из способов гарантировать, что переменная <code class= + "envar">LFS</code> всегда установлена, — отредактировать файл + <code class="filename">.bash_profile</code> как в вашем личном + домашнем каталоге, так и в <code class= + "filename">/root/.bash_profile</code> и добавить приведенную выше + команду экспорта. Кроме того, оболочка, указанная в файле + <code class="filename">/etc/passwd</code> для всех пользователей, + которым нужна переменная <code class="envar">LFS</code>, должна + быть bash, чтобы гарантировать, что файл <code class= + "filename">/root/.bash_profile</code> используется как часть + процесса входа в систему. + </p> + <p> + Еще один способ, который используется для входа в хост-систему. При + входе в систему через диспетчер графического дисплея + пользовательский <code class="filename">.bash_profile</code> не + используется при запуске виртуального терминала. В этом случае + добавьте команду экспорта в файл <code class= + "filename">.bashrc</code> для своего пользователя и <code class= + "systemitem">root</code>. Кроме того, некоторые дистрибутивы + используют тест "if" и не запускают оставшиеся инструкции + <code class="filename">.bashrc</code> для не интерактивного вызова + bash. Обязательно разместите команду экспорта перед тестом для не + интерактивного использования. + </p> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="creatingfilesystem.html" title= + "Создание файловой системы на разделе">Пред.</a> + <p> + Создание файловой системы на разделе + </p> + </li> + <li class="next"> + <a accesskey="n" href="mounting.html" title= + "Монтирование нового раздела">След.</a> + <p> + Монтирование нового раздела + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter02.html" title= + "Глава 2. Подготовка хост-системы">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.2">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.2-sysv/chapter02/chapter02.html b/lfs-12.2-sysv/chapter02/chapter02.html new file mode 100644 index 0000000..4197830 --- /dev/null +++ b/lfs-12.2-sysv/chapter02/chapter02.html @@ -0,0 +1,110 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + Глава 2. Подготовка хост-системы + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.2"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.2 + </h4> + <h3> + Часть II. Подготовка к сборке + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="../part2.html" title= + "Подготовка к сборке">Пред.</a> + <p> + Подготовка к сборке + </p> + </li> + <li class="next"> + <a accesskey="n" href="introduction.html" title= + "Введение">След.</a> + <p> + Введение + </p> + </li> + <li class="up"> + <a accesskey="u" href="../part2.html" title= + "Часть II. Подготовка к сборке">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.2">Начало</a> + </li> + </ul> + </div> + <h1 class="chapter"> + <a id="chapter-partitioning" name="chapter-partitioning"></a>2. + Подготовка хост-системы + </h1> + <div class="chapter" lang="ru" xml:lang="ru"> + <div class="toc"> + <h3> + Содержание + </h3> + <ul> + <li class="sect1"> + <a href="introduction.html">Введение</a> + </li> + <li class="sect1"> + <a href="hostreqs.html">Требования к хост-системе</a> + </li> + <li class="sect1"> + <a href="stages.html">Этапы сборки системы LFS</a> + </li> + <li class="sect1"> + <a href="creatingpartition.html">Создание нового раздела</a> + </li> + <li class="sect1"> + <a href="creatingfilesystem.html">Создание файловой системы на + разделе</a> + </li> + <li class="sect1"> + <a href="aboutlfs.html">Установка переменной $LFS</a> + </li> + <li class="sect1"> + <a href="mounting.html">Монтирование нового раздела</a> + </li> + </ul> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="../part2.html" title= + "Подготовка к сборке">Пред.</a> + <p> + Подготовка к сборке + </p> + </li> + <li class="next"> + <a accesskey="n" href="introduction.html" title= + "Введение">След.</a> + <p> + Введение + </p> + </li> + <li class="up"> + <a accesskey="u" href="../part2.html" title= + "Часть II. Подготовка к сборке">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.2">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.2-sysv/chapter02/creatingfilesystem.html b/lfs-12.2-sysv/chapter02/creatingfilesystem.html new file mode 100644 index 0000000..940a1f0 --- /dev/null +++ b/lfs-12.2-sysv/chapter02/creatingfilesystem.html @@ -0,0 +1,166 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 2.5. Создание файловой системы на разделе + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.2"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.2 + </h4> + <h3> + Глава 2. Подготовка хост-системы + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="creatingpartition.html" title= + "Создание нового раздела">Пред.</a> + <p> + Создание нового раздела + </p> + </li> + <li class="next"> + <a accesskey="n" href="aboutlfs.html" title= + "Установка переменной $LFS">След.</a> + <p> + Установка переменной $LFS + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter02.html" title= + "Глава 2. Подготовка хост-системы">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.2">Начало</a> + </li> + </ul> + </div> + <h1 class="sect1"> + <a id="ch-partitioning-creatingfilesystem" name= + "ch-partitioning-creatingfilesystem"></a>2.5. Создание файловой системы + на разделе + </h1> + <div class="sect1" lang="ru" xml:lang="ru"> + <p> + Раздел - это всего лишь диапазон секторов на диске, указанный в + таблице разделов. Прежде чем операционная система сможет использовать + раздел для хранения каких-либо файлов, он должен быть отформатирован, + чтобы содержать файловую систему, обычно состоящую из метки, блоков + каталогов, блоков данных и схемы индексации для поиска конкретного + файла по запросу. Файловая система также помогает операционной + системе отслеживать свободное пространство на разделе, резервировать + необходимые секторы при создании нового файла или расширении + существующего и повторно использует свободные сегменты данных, + полученные в результате удаления файлов. Она также может обеспечивать + поддержку избыточности данных и восстановления после ошибок. + </p> + <p> + LFS может использовать любую файловую систему, распознаваемую ядром + Linux, но наиболее распространенными типами являются ext3 и ext4. + Выбор правильной файловой системы может быть сложным; это зависит от + характеристик файлов и размера раздела. Например: + </p> + <div class="variablelist"> + <dl class="variablelist"> + <dt> + <span class="term">ext2</span> + </dt> + <dd> + <p> + подходит для небольших разделов, которые редко обновляются, + например /boot. + </p> + </dd> + <dt> + <span class="term">ext3</span> + </dt> + <dd> + <p> + это обновленная файловая система ext2, которая включает в себя + журнал, помогающий восстановить состояние раздела в случае + некорректного завершения работы. Обычно используется в качестве + файловой системы общего назначения. + </p> + </dd> + <dt> + <span class="term">ext4</span> + </dt> + <dd> + <p> + является последней версией файловых систем семейства ext. Она + предоставляет несколько новых возможностей, включая временные + метки с точностью до наносекунды, создание и использование + очень больших файлов (16 ТБ) и повышение скорости работы. + </p> + </dd> + </dl> + </div> + <p> + Другие файловые системы, включая FAT32, NTFS, JFS и XFS, полезны для + конкретных задач. Более подробную информацию об этих файловых + системах и многих других можно найти по адресу <a class="ulink" href= + "https://en.wikipedia.org/wiki/Comparison_of_file_systems">https://en.wikipedia.org/wiki/Comparison_of_file_systems</a>. + </p> + <p> + LFS предполагает, что корневая файловая система (/) имеет тип ext4. + Чтобы создать файловую систему <code class="systemitem">ext4</code> + на разделе LFS, выполните следующую команду: + </p> + <pre class="userinput"><kbd class= + "command">mkfs -v -t ext4 /dev/<em class= + "replaceable"><code><xxx></code></em></kbd></pre> + <p> + Замените <em class="replaceable"><code><xxx></code></em> именем + раздела LFS + </p> + <p> + Если вы используете существующий <code class="systemitem">раздел + подкачки</code>, нет необходимости его форматировать. Если был создан + новый <code class="systemitem">раздел подкачки</code>, его нужно + будет инициализировать с помощью этой команды: + </p> + <pre class="userinput"><kbd class="command">mkswap /dev/<em class= + "replaceable"><code><yyy></code></em></kbd></pre> + <p> + Замените <em class="replaceable"><code><yyy></code></em> именем + <code class="systemitem">раздела подкачки</code>. + </p> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="creatingpartition.html" title= + "Создание нового раздела">Пред.</a> + <p> + Создание нового раздела + </p> + </li> + <li class="next"> + <a accesskey="n" href="aboutlfs.html" title= + "Установка переменной $LFS">След.</a> + <p> + Установка переменной $LFS + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter02.html" title= + "Глава 2. Подготовка хост-системы">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.2">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.2-sysv/chapter02/creatingpartition.html b/lfs-12.2-sysv/chapter02/creatingpartition.html new file mode 100644 index 0000000..421d083 --- /dev/null +++ b/lfs-12.2-sysv/chapter02/creatingpartition.html @@ -0,0 +1,343 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 2.4. Создание нового раздела + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.2"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.2 + </h4> + <h3> + Глава 2. Подготовка хост-системы + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="stages.html" title= + "Этапы сборки системы LFS">Пред.</a> + <p> + Этапы сборки системы LFS + </p> + </li> + <li class="next"> + <a accesskey="n" href="creatingfilesystem.html" title= + "Создание файловой системы на разделе">След.</a> + <p> + Создание файловой системы на разделе + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter02.html" title= + "Глава 2. Подготовка хост-системы">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.2">Начало</a> + </li> + </ul> + </div> + <h1 class="sect1"> + <a id="ch-partitioning-creatingpartition" name= + "ch-partitioning-creatingpartition"></a>2.4. Создание нового раздела + </h1> + <div class="sect1" lang="ru" xml:lang="ru"> + <p> + Как и большинство других операционных систем, LFS обычно + устанавливается на выделенный раздел. Рекомендуемый подход к + построению системы LFS состоит в том, чтобы использовать доступный + пустой раздел или, если у вас достаточно неразмеченного пространства, + использовать его + </p> + <p> + Минимальная система требует раздел размером около 10 гигабайт (ГБ). + Этого достаточно для хранения всех архивов с исходным кодом и + компиляции пакетов. Однако, если система LFS предназначена для + использования в качестве основной системы Linux, вероятно, будет + установлено дополнительное программное обеспечение, для которого + потребуется дополнительное пространство. Раздел размером 30 ГБ + является разумным размером для расширения. Сама система LFS не займет + столько места. Большая часть этого требования заключается в + предоставлении достаточного временного хранилища, а также в + добавлении дополнительных возможностей после сборки LFS. Кроме того, + для компиляции пакетов может потребоваться много места на диске, + которое будет освобождено после установки пакета. + </p> + <p> + Поскольку для компиляции не всегда достаточно оперативной памяти + (ОЗУ), рекомендуется использовать небольшой раздел диска в качестве + <code class="systemitem">раздела подкачки</code>. Он используется + ядром для хранения редко используемых данных и оставляет больше + памяти для активных процессов. <code class="systemitem">Раздел + подкачки</code> для системы LFS может совпадать с разделом, + используемым хост-системой, и в этом случае нет необходимости + создавать еще один. + </p> + <p> + Запустите программу создания разделов диска, такую как <span class= + "command"><strong>cfdisk</strong></span> или <span class= + "command"><strong>fdisk</strong></span>, с параметром командной + строки, указав имя жесткого диска, на котором будет создан новый + раздел, например, <code class="filename">/dev/sda</code> для + основного диска. Создайте раздел Linux и <code class= + "systemitem">раздел подкачки</code>, если это необходимо. Пожалуйста, + обратитесь к справке <a class="ulink" href= + "https://man.archlinux.org/man/cfdisk.8">cfdisk(8)</a> или <a class= + "ulink" href="https://man.archlinux.org/man/fdisk.8">fdisk(8)</a>, + если вы еще не знаете, как пользоваться этими программами. + </p> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + Для опытных пользователей возможны и другие схемы разбиения. + Система LFS может располагаться на программном <a class="ulink" + href= + "https://mirror.linuxfromscratch.ru/blfs/view/12.2/postlfs/raid.html"> + RAID-массиве</a> или логическом томе <a class="ulink" href= + "https://mirror.linuxfromscratch.ru/blfs/view/12.2/postlfs/aboutlvm.html"> + LVM</a>. Однако для некоторых опций требуется <a class="ulink" + href="https://mirror.linuxfromscratch.ru/blfs/view/12.2/postlfs/initramfs.html"> + initramfs</a>, что является сложной темой. Эти методы разбиения не + рекомендуются начинающим пользователям LFS. + </p> + </div> + <p> + Запомните обозначение созданного раздела (например, <code class= + "filename">sda5</code>). В этой книге он будет называться разделом + LFS. Также запомните обозначение <code class="systemitem">раздела + подкачки</code>. Эти имена понадобятся позже для файла <code class= + "filename">/etc/fstab</code>. + </p> + <div class="sect2" lang="ru" xml:lang="ru"> + <h2 class="sect2"> + 2.4.1. Другие вопросы по созданию разделов + </h2> + <p> + Рекомендации по созданию разделов системы часто публикуются в + списках рассылки LFS. Это очень субъективная тема. По умолчанию для + большинства дистрибутивов используется весь диск, за исключением + небольшого раздела подкачки. Это не оптимально для LFS по + нескольким причинам. Это снижает гибкость, затрудняет совместное + использование данных между несколькими дистрибутивами или сборками + LFS, делает резервное копирование более трудоемким и может тратить + дисковое пространство из-за неэффективно распределенной файловой + системы. + </p> + <div class="sect3"> + <h3 class="sect3"> + 2.4.1.1. Корневой раздел + </h3> + <p> + Корневой раздел LFS (не путать с каталогом <code class= + "filename">/root</code>) размером в 20 гигабайт является хорошим + компромиссом для большинства систем. Он обеспечивает достаточно + места для построения LFS и большей части BLFS, но достаточно мал, + чтобы можно было легко создать несколько разделов для + экспериментов. + </p> + </div> + <div class="sect3"> + <h3 class="sect3"> + 2.4.1.2. Раздел подкачки + </h3> + <p> + Большинство дистрибутивов автоматически создают раздел подкачки. + Обычно рекомендуемый размер раздела подкачки примерно в два раза + превышает объем физической памяти, однако это требуется редко. + Если дисковое пространство ограничено, установите размер раздела + подкачки в два гигабайта и контролируйте его объемом. + </p> + <p> + Если вы хотите использовать режим гибернации (suspend-to-disk) + Linux, которая записывает содержимое ОЗУ в раздел подкачки перед + выключением машины. Установите размер раздела подкачки не меньше + объема установленной оперативной памяти. + </p> + <p> + Использование файла подкачки - это не очень хорошо. Для + механических жестких дисков вы можете определить, что система + использует раздел подкачки, просто слыша активность диска и + наблюдая, как система реагирует на команды. Для SSD-накопителя вы + не сможете услышать, что используется раздел подкачки, но сможете + оценить, сколько места на разделе подкачки занято, используя + команды <span class="command"><strong>top</strong></span> или + <span class="command"><strong>free</strong></span>. По + возможности следует избегать использования SSD-накопителя для + раздела подкачки. Первой реакцией на активность раздела подкачки + должна быть проверка на необоснованное применение какой-либо + команды, например, попытка редактирования пятигигабайтного файла. + Если использование раздела подкачки становится обычным явлением, + лучшее решение — приобретение большего объема оперативной памяти + для вашей системы. + </p> + </div> + <div class="sect3"> + <h3 class="sect3"> + 2.4.1.3. Раздел GRUB + </h3> + <p> + Если <span class="emphasis"><em>загрузочный диск</em></span> + размечен с помощью таблицы разделов GUID (GPT), необходимо + создать небольшой раздел, обычно размером 1 МБ, если он еще не + существует. Этот раздел не форматируется, но должен быть доступен + для использования GRUB во время установки загрузчика. Обычно он + помечен как 'BIOS Boot' при использовании <span class= + "command"><strong>fdisk</strong></span> или имеет код + <span class="emphasis"><em>EF02</em></span> при использовании + <span class="command"><strong>gdisk</strong></span>. + </p> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + Раздел Grub Bios должен находиться на диске, который BIOS + использует для загрузки системы. Это не обязательно тот же + диск, на котором расположен корневой раздел LFS. Диски в + системе могут использовать разные типы таблиц разделов. Наличие + раздела Grub Bios зависит только от типа таблицы разделов на + загрузочном диске. + </p> + </div> + </div> + <div class="sect3"> + <h3 class="sect3"> + 2.4.1.4. Разделы, используемые для удобства + </h3> + <p> + Есть несколько других разделов, которые не являются + обязательными, но их следует учитывать при разработке схемы + диска. Следующий список не является исчерпывающим, а представлен + в качестве справочного руководства. + </p> + <div class="itemizedlist"> + <ul> + <li class="listitem"> + <p> + /boot – Настоятельно рекомендуется. Используйте этот раздел + для хранения ядер и другой загрузочной информации. Чтобы + свести к минимуму возможные проблемы с загрузкой дисков + большого размера, сделайте этот раздел первым физическим + разделом на первом диске. Размер раздела в 200 мегабайт + вполне достаточен. + </p> + </li> + <li class="listitem"> + <p> + /boot/efi – Системный раздел EFI, используемый для загрузки + системы с помощью UEFI. Подробнее читайте на <a class= + "ulink" href= + "https://mirror.linuxfromscratch.ru/blfs/view/12.2/postlfs/grub-setup.html"> + странице BLFS</a>. + </p> + </li> + <li class="listitem"> + <p> + /home – Настоятельно рекомендуется. Предоставьте общий + доступ к своему домашнему каталогу и пользовательским + настройкам нескольким дистрибутивам или сборкам LFS. + Размер, как правило, довольно большой и зависит от + доступного места на диске. + </p> + </li> + <li class="listitem"> + <p> + /usr – в LFS, <code class="filename">/bin</code>, + <code class="filename">/lib</code>, и <code class= + "filename">/sbin</code> являются символическими ссылками на + их аналоги в <code class="filename">/usr</code>. Таким + образом <code class="filename">/usr</code> содержит все + двоичные файлы, необходимые для работы системы. Для LFS + отдельный раздел <code class="filename">/usr</code> не + требуется. Если он вам необходим, вы должны сделать раздел + достаточно большим, чтобы поместить туда все программы и + библиотеки в системе. В этой конфигурации, корневой раздел + может быть очень маленьким (возможно, всего один гигабайт), + поэтому он подходит для тонкого клиента или бездисковой + рабочей станции (где <code class="filename">/usr</code> + монтируется с удаленного сервера). Однако вы должны знать, + что для загрузки системы с отдельного раздела <code class= + "filename">/usr</code> потребуется initramfs (не включенный + в LFS). + </p> + </li> + <li class="listitem"> + <p> + /opt – Этот каталог наиболее полезен для BLFS, в него можно + установить некоторые большие пакеты, такие как KDE или + Texlive, без использования иерархии /usr. Для /opt + достаточно размера от 5 до 10 гигабайт. + </p> + </li> + <li class="listitem"> + <p> + /tmp – Отдельный раздел /tmp используется редко, он полезен + при настройке тонкого клиента. Обычно, его размер не должен + превышать пару гигабайт. Если у вас достаточно оперативной + памяти, вы можете смонтировать /tmp как <code class= + "systemitem">tmpfs</code>, чтобы ускорить доступ к + временным файлам. + </p> + </li> + <li class="listitem"> + <p> + /usr/src – Этот раздел очень удобен для хранения исходников + BLFS и совместного использования их в сборках LFS. Его + также можно использовать в качестве места для сборки + пакетов BLFS. Размера в 30-50 гигабайт вполне достаточно. + </p> + </li> + </ul> + </div> + <p> + Любой отдельный раздел, который вы хотите автоматически + монтировать при загрузке, должен быть указан в файле <code class= + "filename">/etc/fstab</code>. Подробности о том, как указать + разделы, будут обсуждаться в <a class="xref" href= + "../chapter10/fstab.html" title= + "10.2. Создание файла /etc/fstab">Раздел 10.2, «Создание + файла /etc/fstab»</a>. + </p> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="stages.html" title= + "Этапы сборки системы LFS">Пред.</a> + <p> + Этапы сборки системы LFS + </p> + </li> + <li class="next"> + <a accesskey="n" href="creatingfilesystem.html" title= + "Создание файловой системы на разделе">След.</a> + <p> + Создание файловой системы на разделе + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter02.html" title= + "Глава 2. Подготовка хост-системы">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.2">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.2-sysv/chapter02/hostreqs.html b/lfs-12.2-sysv/chapter02/hostreqs.html new file mode 100644 index 0000000..9b70ab4 --- /dev/null +++ b/lfs-12.2-sysv/chapter02/hostreqs.html @@ -0,0 +1,392 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 2.2. Требования к хост-системе + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.2"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.2 + </h4> + <h3> + Глава 2. Подготовка хост-системы + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="introduction.html" title= + "Введение">Пред.</a> + <p> + Введение + </p> + </li> + <li class="next"> + <a accesskey="n" href="stages.html" title= + "Этапы сборки системы LFS">След.</a> + <p> + Этапы сборки системы LFS + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter02.html" title= + "Глава 2. Подготовка хост-системы">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.2">Начало</a> + </li> + </ul> + </div> + <h1 class="sect1"> + <a id="ch-partitioning-hostreqs" name= + "ch-partitioning-hostreqs"></a>2.2. Требования к хост-системе + </h1> + <div class="sect1" lang="ru" xml:lang="ru"> + <div class="sect2" lang="ru" xml:lang="ru"> + <h2 class="sect2"> + 2.2.1. Аппаратное обеспечение + </h2> + <p> + Редакторы LFS рекомендуют, чтобы процессор имел не менее четырех + ядер и не менее 8 ГБ памяти. Старые системы, не отвечающие этим + требованиям, будут по-прежнему работать, но время сборки пакетов + будет значительно больше, чем указано в документации. + </p> + </div> + <div class="sect2" lang="ru" xml:lang="ru"> + <h2 class="sect2"> + 2.2.2. Программное обеспечение + </h2> + <p> + Ваша хост-система должна иметь следующее программное обеспечение с + указанными минимальными версиями. Это не должно быть проблемой для + большинства современных дистрибутивов Linux. Также обратите + внимание на то, что многие дистрибутивы помещают заголовочные файлы + в отдельные пакеты, как правило в формате <code class= + "literal"><em class= + "replaceable"><code><package-name></code></em>-devel</code> + или <code class="literal"><em class= + "replaceable"><code><package-name></code></em>-dev</code>. + Обязательно установите эти пакеты, если ваш дистрибутив их + предоставляет. + </p> + <p> + Более ранние версии перечисленных ниже пакетов могут работать, но + это не проверялось. + </p> + <div class="itemizedlist"> + <ul class="compact"> + <li class="listitem"> + <p> + <span class="strong"><strong>Bash-3.2</strong></span> + (/bin/sh должен быть символической или жесткой ссылкой на + bash) + </p> + </li> + <li class="listitem"> + <p> + <span class="strong"><strong>Binutils-2.13.1</strong></span> + (Версия выше 2.43.1 не рекомендуется, так как она не + тестировалась) + </p> + </li> + <li class="listitem"> + <p> + <span class="strong"><strong>Bison-2.7</strong></span> + (/usr/bin/yacc должен быть ссылкой на bison или небольшой + скрипт, запускающий bison) + </p> + </li> + <li class="listitem"> + <p> + <span class="strong"><strong>Coreutils-8.1</strong></span> + </p> + </li> + <li class="listitem"> + <p> + <span class="strong"><strong>Diffutils-2.8.1</strong></span> + </p> + </li> + <li class="listitem"> + <p> + <span class="strong"><strong>Findutils-4.2.31</strong></span> + </p> + </li> + <li class="listitem"> + <p> + <span class="strong"><strong>Gawk-4.0.1</strong></span> + (/usr/bin/awk должен быть ссылкой на gawk) + </p> + </li> + <li class="listitem"> + <p> + <span class="strong"><strong>GCC-5.2</strong></span>, включая + компилятор C++, <span class= + "command"><strong>g++</strong></span> (версии выше 14.2.0 не + рекомендуются, поскольку они не тестировались). Также должны + присутствовать стандартные библиотеки C и C++ (с + заголовочными файлами), чтобы компилятор C++ мог осуществлять + сборку программ. + </p> + </li> + <li class="listitem"> + <p> + <span class="strong"><strong>Grep-2.5.1a</strong></span> + </p> + </li> + <li class="listitem"> + <p> + <span class="strong"><strong>Gzip-1.3.12</strong></span> + </p> + </li> + <li class="listitem"> + <p> + <span class="strong"><strong>Linux + Kernel-4.19</strong></span> + </p> + <p> + Причиной, по которой указаны минимальные требования к версии + ядра, является то, что мы указываем эту версию при сборке + <span class="application">glibc</span> в <a class="xref" + href="../chapter05/chapter05.html" title= + "Глава 5. Сборка кросс-тулчейна">Глава 5</a> и <a class= + "xref" href="../chapter08/chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения"> + Глава 8</a>. Так как более старые ядра не + поддерживаются, скомпилированный пакет <span class= + "application">glibc</span> немного меньше и быстрее. По + состоянию на февраль 2024 г. 4.19 является самой старой + версией ядра, поддерживаемой разработчиками ядра. Некоторые + версии ядра, более старые, чем 4.19, могут по-прежнему + поддерживаться сторонними командами, но они не считаются + официальными выпусками ядра; подробности читайте на странице + <a class="ulink" href= + "https://kernel.org/category/releases.html">https://kernel.org/category/releases.html</a> + </p> + <p> + Если версия ядра хоста более ранняя, чем 4.19, вам необходимо + обновить ядро на более современную версию. Есть два способа + сделать это. Во-первых, посмотрите, предоставляет ли ваш + дистрибутив Linux пакет ядра 4.19 или более позднюю версию. + Если это так, установите его. Если ваш дистрибутив не + предлагает приемлемый пакет ядра или вы предпочитаете не + устанавливать его, вы можете скомпилировать ядро + самостоятельно. Инструкции по компиляции ядра и настройке + загрузчика (при условии, что хост использует GRUB) находятся + в <a class="xref" href="../chapter10/chapter10.html" title= + "Глава 10. Делаем систему LFS загрузочной">Глава 10</a>. + </p> + <p> + Для сборки LFS необходимо, чтобы ядро хоста поддерживало + псевдотерминал UNIX 98 (PTY). Обычно он включен на всех + настольных или серверных дистрибутивах, поставляющих Linux + 4.19 или более новое ядро. Если на хосте вы используете + самостоятельно собранное ядро, убедитесь, что для параметра + <code class="option">CONFIG_UNIX98_PTYS</code> установлено + значение <code class="literal">y</code> в конфигурационном + файле ядра. + </p> + </li> + <li class="listitem"> + <p> + <span class="strong"><strong>M4-1.4.10</strong></span> + </p> + </li> + <li class="listitem"> + <p> + <span class="strong"><strong>Make-4.0</strong></span> + </p> + </li> + <li class="listitem"> + <p> + <span class="strong"><strong>Patch-2.5.4</strong></span> + </p> + </li> + <li class="listitem"> + <p> + <span class="strong"><strong>Perl-5.8.8</strong></span> + </p> + </li> + <li class="listitem"> + <p> + <span class="strong"><strong>Python-3.4</strong></span> + </p> + </li> + <li class="listitem"> + <p> + <span class="strong"><strong>Sed-4.1.5</strong></span> + </p> + </li> + <li class="listitem"> + <p> + <span class="strong"><strong>Tar-1.22</strong></span> + </p> + </li> + <li class="listitem"> + <p> + <span class="strong"><strong>Texinfo-5.0</strong></span> + </p> + </li> + <li class="listitem"> + <p> + <span class="strong"><strong>Xz-5.0.0</strong></span> + </p> + </li> + </ul> + </div> + <div class="admon important"> + <img alt="[Важно]" src="../images/important.png" /> + <h3> + Важно + </h3> + <p> + Обратите внимание, что упомянутые выше символические ссылки + необходимы для создания системы LFS с использованием инструкций, + содержащихся в этой книге. Симлинки, указывающие на другое + программное обеспечение (например, dash, mawk и т. д.), могут + работать, но не тестируются и не поддерживаются командой + разработчиков LFS, и могут потребовать либо отклонения от + инструкций, либо дополнительных исправлений для некоторых + пакетов. + </p> + </div> + <h2> + <a id="version-check" name="version-check"></a> + </h2> + <p> + Чтобы узнать, есть ли в вашей хост-системе все необходимые пакеты и + возможность компилировать программы, выполните следующий скрипт: + </p> + <pre class="userinput"><kbd class= + "command">cat > version-check.sh << "EOF" +<code class="literal">#!/bin/bash +# A script to list version numbers of critical development tools + +# If you have tools installed in other directories, adjust PATH here AND +# in ~lfs/.bashrc (section 4.4) as well. + +LC_ALL=C +PATH=/usr/bin:/bin + +bail() { echo "FATAL: $1"; exit 1; } +grep --version > /dev/null 2> /dev/null || bail "grep does not work" +sed '' /dev/null || bail "sed does not work" +sort /dev/null || bail "sort does not work" + +ver_check() +{ + if ! type -p $2 &>/dev/null + then + echo "ERROR: Cannot find $2 ($1)"; return 1; + fi + v=$($2 --version 2>&1 | grep -E -o '[0-9]+\.[0-9\.]+[a-z]*' | head -n1) + if printf '%s\n' $3 $v | sort --version-sort --check &>/dev/null + then + printf "OK: %-9s %-6s >= $3\n" "$1" "$v"; return 0; + else + printf "ERROR: %-9s is TOO OLD ($3 or later required)\n" "$1"; + return 1; + fi +} + +ver_kernel() +{ + kver=$(uname -r | grep -E -o '^[0-9\.]+') + if printf '%s\n' $1 $kver | sort --version-sort --check &>/dev/null + then + printf "OK: Linux Kernel $kver >= $1\n"; return 0; + else + printf "ERROR: Linux Kernel ($kver) is TOO OLD ($1 or later required)\n" "$kver"; + return 1; + fi +} + +# Coreutils first because --version-sort needs Coreutils >= 7.0 +ver_check Coreutils sort 8.1 || bail "Coreutils too old, stop" +ver_check Bash bash 3.2 +ver_check Binutils ld 2.13.1 +ver_check Bison bison 2.7 +ver_check Diffutils diff 2.8.1 +ver_check Findutils find 4.2.31 +ver_check Gawk gawk 4.0.1 +ver_check GCC gcc 5.2 +ver_check "GCC (C++)" g++ 5.2 +ver_check Grep grep 2.5.1a +ver_check Gzip gzip 1.3.12 +ver_check M4 m4 1.4.10 +ver_check Make make 4.0 +ver_check Patch patch 2.5.4 +ver_check Perl perl 5.8.8 +ver_check Python python3 3.4 +ver_check Sed sed 4.1.5 +ver_check Tar tar 1.22 +ver_check Texinfo texi2any 5.0 +ver_check Xz xz 5.0.0 +ver_kernel 4.19 + +if mount | grep -q 'devpts on /dev/pts' && [ -e /dev/ptmx ] +then echo "OK: Linux Kernel supports UNIX 98 PTY"; +else echo "ERROR: Linux Kernel does NOT support UNIX 98 PTY"; fi + +alias_check() { + if $1 --version 2>&1 | grep -qi $2 + then printf "OK: %-4s is $2\n" "$1"; + else printf "ERROR: %-4s is NOT $2\n" "$1"; fi +} +echo "Aliases:" +alias_check awk GNU +alias_check yacc Bison +alias_check sh Bash + +echo "Compiler check:" +if printf "int main(){}" | g++ -x c++ - +then echo "OK: g++ works"; +else echo "ERROR: g++ does NOT work"; fi +rm -f a.out + +if [ "$(nproc)" = "" ]; then + echo "ERROR: nproc is not available or it produces empty output" +else + echo "OK: nproc reports $(nproc) logical cores are available" +fi</code> +EOF + +bash version-check.sh</kbd></pre> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="introduction.html" title= + "Введение">Пред.</a> + <p> + Введение + </p> + </li> + <li class="next"> + <a accesskey="n" href="stages.html" title= + "Этапы сборки системы LFS">След.</a> + <p> + Этапы сборки системы LFS + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter02.html" title= + "Глава 2. Подготовка хост-системы">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.2">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.2-sysv/chapter02/introduction.html b/lfs-12.2-sysv/chapter02/introduction.html new file mode 100644 index 0000000..e057987 --- /dev/null +++ b/lfs-12.2-sysv/chapter02/introduction.html @@ -0,0 +1,87 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 2.1. Введение + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.2"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.2 + </h4> + <h3> + Глава 2. Подготовка хост-системы + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="chapter02.html" title= + "Подготовка хост-системы">Пред.</a> + <p> + Подготовка хост-системы + </p> + </li> + <li class="next"> + <a accesskey="n" href="hostreqs.html" title= + "Требования к хост-системе">След.</a> + <p> + Требования к хост-системе + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter02.html" title= + "Глава 2. Подготовка хост-системы">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.2">Начало</a> + </li> + </ul> + </div> + <h1 class="sect1"> + <a id="ch-partitioning-introduction" name= + "ch-partitioning-introduction"></a>2.1. Введение + </h1> + <div class="sect1" lang="ru" xml:lang="ru"> + <p> + В этой главе проверяются и при необходимости устанавливаются основные + инструменты, необходимые для построения LFS. Затем подготавливается + раздел, в котором будет размещаться система LFS. Мы создадим сам + раздел, создадим на нем файловую систему и смонтируем его. + </p> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="chapter02.html" title= + "Подготовка хост-системы">Пред.</a> + <p> + Подготовка хост-системы + </p> + </li> + <li class="next"> + <a accesskey="n" href="hostreqs.html" title= + "Требования к хост-системе">След.</a> + <p> + Требования к хост-системе + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter02.html" title= + "Глава 2. Подготовка хост-системы">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.2">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.2-sysv/chapter02/mounting.html b/lfs-12.2-sysv/chapter02/mounting.html new file mode 100644 index 0000000..5c57c3b --- /dev/null +++ b/lfs-12.2-sysv/chapter02/mounting.html @@ -0,0 +1,171 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 2.7. Монтирование нового раздела + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.2"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.2 + </h4> + <h3> + Глава 2. Подготовка хост-системы + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="aboutlfs.html" title= + "Установка переменной $LFS">Пред.</a> + <p> + Установка переменной $LFS + </p> + </li> + <li class="next"> + <a accesskey="n" href="../chapter03/chapter03.html" title= + "Пакеты и патчи">След.</a> + <p> + Пакеты и патчи + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter02.html" title= + "Глава 2. Подготовка хост-системы">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.2">Начало</a> + </li> + </ul> + </div> + <h1 class="sect1"> + <a id="ch-partitioning-mounting" name= + "ch-partitioning-mounting"></a>2.7. Монтирование нового раздела + </h1> + <div class="sect1" lang="ru" xml:lang="ru"> + <p> + Теперь, когда файловая система создана, раздел должен быть + смонтирован, чтобы хост-система могла получить доступ к нему. В книге + предполагается, что файловая система монтируется в каталог, указанный + в переменной <code class="envar">LFS</code>, описанной в предыдущем + разделе. + </p> + <p> + Строго говоря, нельзя <span class="quote">«<span class= + "quote">смонтировать раздел</span>»</span>. Монтируется <span class= + "emphasis"><em>файловая система</em></span> на этом разделе. Но так + как один раздел не может содержать несколько файловых систем, люди + часто говорят о разделе и связанной с ним файловой системе так, как + если бы они были одним и тем же. + </p> + <p> + Создайте точку монтирования и смонтируйте файловую систему LFS с + помощью этих команд: + </p> + <pre class="userinput"><kbd class="command">mkdir -pv $LFS +mount -v -t ext4 /dev/<em class= +"replaceable"><code><xxx></code></em> $LFS</kbd></pre> + <p> + Замените <em class="replaceable"><code><xxx></code></em> на имя + раздела LFS. + </p> + <p> + Если вы используете несколько разделов для LFS (например, один для + <code class="filename">/</code>, а другой для <code class= + "filename">/home</code>), смонтируйте их вот так: + </p> + <pre class="userinput"><kbd class="command">mkdir -pv $LFS +mount -v -t ext4 /dev/<em class= +"replaceable"><code><xxx></code></em> $LFS +mkdir -v $LFS/home +mount -v -t ext4 /dev/<em class= +"replaceable"><code><yyy></code></em> $LFS/home</kbd></pre> + <p> + Замените <em class="replaceable"><code><xxx></code></em> и + <em class="replaceable"><code><yyy></code></em> + соответствующими именами разделов. + </p> + <p> + Убедитесь, что этот новый раздел не смонтирован со слишком строгими + разрешениями (такими как параметры <code class="option">nosuid</code> + или <code class="option">nodev</code>). Запустите команду + <span class="command"><strong>mount</strong></span> без каких-либо + параметров, чтобы увидеть, какие параметры установлены для + смонтированного раздела LFS. Если установлены <code class= + "option">nosuid</code> и/или <code class="option">nodev</code>, + раздел должен быть размонтирован и смонтирован повторно. + </p> + <div class="admon warning"> + <img alt="[Предупреждение]" src="../images/warning.png" /> + <h3> + Предупреждение + </h3> + <p> + Приведенные выше инструкции предполагают, что вы не будете + перезагружать компьютер в процессе сборки LFS. Если вы выключите + свою систему, вам придется либо перемонтировать раздел LFS каждый + раз, когда вы перезапускаете процесс сборки, либо изменить файл + <code class="filename">/etc/fstab</code> вашей хост-системы, чтобы + он автоматически монтировал его при загрузке. Например, вы можете + добавить эту строку в свой <code class= + "filename">/etc/fstab</code>: + </p> + <pre class="screen">/dev/<em class= + "replaceable"><code><xxx></code></em> /mnt/lfs ext4 defaults 1 1</pre> + <p> + Если вы используете дополнительные разделы, обязательно добавьте + их. + </p> + </div> + <p> + Если вы используете <code class="systemitem">раздел подкачки</code>, + убедитесь, что он включен с помощью команды <span class= + "command"><strong>swapon</strong></span>: + </p> + <pre class="userinput"><kbd class= + "command">/sbin/swapon -v /dev/<em class= + "replaceable"><code><zzz></code></em></kbd></pre> + <p> + Замените <em class="replaceable"><code><zzz></code></em> именем + <code class="systemitem">раздела подкачки</code>. + </p> + <p> + Теперь, когда новый раздел LFS готов к работе, пришло время загрузить + пакеты. + </p> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="aboutlfs.html" title= + "Установка переменной $LFS">Пред.</a> + <p> + Установка переменной $LFS + </p> + </li> + <li class="next"> + <a accesskey="n" href="../chapter03/chapter03.html" title= + "Пакеты и патчи">След.</a> + <p> + Пакеты и патчи + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter02.html" title= + "Глава 2. Подготовка хост-системы">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.2">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.2-sysv/chapter02/stages.html b/lfs-12.2-sysv/chapter02/stages.html new file mode 100644 index 0000000..74dfa31 --- /dev/null +++ b/lfs-12.2-sysv/chapter02/stages.html @@ -0,0 +1,195 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 2.3. Этапы сборки системы LFS + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.2"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.2 + </h4> + <h3> + Глава 2. Подготовка хост-системы + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="hostreqs.html" title= + "Требования к хост-системе">Пред.</a> + <p> + Требования к хост-системе + </p> + </li> + <li class="next"> + <a accesskey="n" href="creatingpartition.html" title= + "Создание нового раздела">След.</a> + <p> + Создание нового раздела + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter02.html" title= + "Глава 2. Подготовка хост-системы">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.2">Начало</a> + </li> + </ul> + </div> + <h1 class="sect1"> + <a id="ch-partitioning-stages" name="ch-partitioning-stages"></a>2.3. + Этапы сборки системы LFS + </h1> + <div class="sect1" lang="ru" xml:lang="ru"> + <p> + LFS разработан для сборки за один сеанс. То есть инструкция + предполагает, что система не будет выключаться в процессе. Это не + означает, что система должна быть собрана за один присест. Для + возобновления сборки в точке предыдущей остановки (после + перезагрузки/выключения), необходимо выполнить некоторые процедуры + повторно. + </p> + <div class="sect2" lang="ru" xml:lang="ru"> + <h2 class="sect2"> + 2.3.1. Главы 1–4 + </h2> + <p> + Эти главы выполняются на хост-системе. После перезагрузки обратите + внимание на следующее: + </p> + <div class="itemizedlist"> + <ul> + <li class="listitem"> + <p> + При выполнении операций, от имени пользователя <code class= + "systemitem">root</code> после Раздела 2.4, <span class= + "emphasis"><em>ДЛЯ ПОЛЬЗОВАТЕЛЯ</em></span> <code class= + "systemitem">root</code> должна быть установлена переменная + окружения LFS. + </p> + </li> + </ul> + </div> + </div> + <div class="sect2" lang="ru" xml:lang="ru"> + <h2 class="sect2"> + 2.3.2. Главы 5–6 + </h2> + <div class="itemizedlist"> + <ul> + <li class="listitem"> + <p> + Раздел /mnt/lfs должен быть смонтирован. + </p> + </li> + <li class="listitem"> + <p> + Эти две главы <span class="emphasis"><em>должны</em></span> + быть выполнены из-под пользователя <code class= + "systemitem">lfs</code>. Перед выполнением любой задачи в + этих главах необходимо выполнить команду <span class= + "command"><strong>su - lfs</strong></span>. В противном + случае вы рискуете установить пакеты на хост и сделать его + непригодным для использования. + </p> + </li> + <li class="listitem"> + <p> + Выполнение процедур из <a class="xref" href= + "../partintro/generalinstructions.html" title= + "Общие инструкции по компиляции">Общие инструкции по + компиляции</a> имеет решающее значение. Если есть какие-либо + сомнения по поводу установки пакета, убедитесь, что все ранее + распакованные tar-архивы удалены, затем повторно извлеките + файлы и выполните все инструкции, приведенные в этом разделе. + </p> + </li> + </ul> + </div> + </div> + <div class="sect2" lang="ru" xml:lang="ru"> + <h2 class="sect2"> + 2.3.3. Главы 7–10 + </h2> + <div class="itemizedlist"> + <ul> + <li class="listitem"> + <p> + Раздел /mnt/lfs должен быть смонтирован. + </p> + </li> + <li class="listitem"> + <p> + Некоторые операции, такие как <span class= + "quote">«<span class="quote">Смена владельца</span>»</span> + или <span class="quote">«<span class="quote">Вход в среду + Chroot</span>»</span>, должны быть выполнены от имени + пользователя <code class="systemitem">root</code> с + переменной окружения $LFS, установленной для пользователя + <code class="systemitem">root</code>. + </p> + </li> + <li class="listitem"> + <p> + При входе в chroot переменная среды LFS должна быть + установлена для пользователя <code class= + "systemitem">root</code>. Переменная LFS не используется + после входа в среду chroot. + </p> + </li> + <li class="listitem"> + <p> + Виртуальные файловые системы должны быть смонтированы. Это + можно сделать до или после входа в chroot, переключившись на + виртуальный терминал хоста и от имени пользователя + <code class="systemitem">root</code> выполнив команды, + описанные в <a class="xref" href= + "../chapter07/kernfs.html#ch-tools-bindmount" title= + "7.3.1. Монтирование и заполнение /dev">Раздел 7.3.1, + «Монтирование и заполнение /dev»</a> и <a class="xref" href= + "../chapter07/kernfs.html#ch-tools-kernfsmount" title= + "7.3.2. Монтирование виртуальных файловых систем ядра">Раздел 7.3.2, + «Монтирование виртуальных файловых систем ядра»</a>. + </p> + </li> + </ul> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="hostreqs.html" title= + "Требования к хост-системе">Пред.</a> + <p> + Требования к хост-системе + </p> + </li> + <li class="next"> + <a accesskey="n" href="creatingpartition.html" title= + "Создание нового раздела">След.</a> + <p> + Создание нового раздела + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter02.html" title= + "Глава 2. Подготовка хост-системы">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.2">Начало</a> + </li> + </ul> + </div> + </body> +</html> |