This commit is contained in:
Poltern 2023-08-03 01:14:31 +05:00
parent 7730f2b8d7
commit fb0f4bc0dc
35 changed files with 108 additions and 88 deletions

View File

@ -5,6 +5,9 @@
### 01.07.2023
- Сделан перевод книги LFS 11.3
### 15.06.2023
- Сделан перевод книги LFS 11.2
### 25.05.2023
- Сделаны первые сборки книги LFS 11.2 в форматах html и pdf

View File

@ -3122,7 +3122,7 @@
<segtitle>&before;</segtitle>
<seglistitem>
<seg>
<phrase revision='sysv'>None</phrase>
<phrase revision='sysv'>Нет</phrase>
<phrase revision='systemd'>Jinja2</phrase>
</seg>
</seglistitem>

View File

@ -11,11 +11,11 @@
<title>Лицензии LFS</title>
<para>Настоящая книга распространяется по лицензии Creative Commons
<para>Настоящая книга распространяется на условиях лицензии Creative Commons
Attribution-NonCommercial-ShareAlike 2.0 License.</para>
<para>Инструкции, предназначенные для использования на компьютере, могут
использоваться отдельно от книги под лицензией MIT.</para>
использоваться отдельно от книги на условиях лицензии MIT.</para>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="creat-comm.xml"/>

View File

@ -12,14 +12,14 @@
<title>Что нового с момента последнего релиза</title>
<para>В версии 11.3, были включены параметры <parameter>--enable-default-pie</parameter>
и <parameter>--enable-default-ssp</parameter> для GCC. Эти методы могут смягчить
некоторые вредоносные атаки, но они не обеспечивают полную безопасность. Обратите
и <parameter>--enable-default-ssp</parameter> для GCC. Эти методы могут смягчить действие
некоторых вредоносных атак, но они не обеспечивают полную безопасность. Обратите
внимание, что некоторые учебники предполагают, что эти параметры отключены, так что
если вы запускаете примеры из такого учебника в системе LFS, вам может потребоваться
отключить PIE и SSP с помощью параметров GCC:
<parameter>-fno-pie -no-pie -fno-stack-protection</parameter>.</para>
<para>Ниже приведен список пакетов, обновленых после предыдущего выпуска книги.</para>
<para>Ниже приведен список пакетов, обновленных после предыдущего выпуска книги.</para>
<!--
Every package in the book is listed in the "Upgraded to:" section.

View File

@ -15,7 +15,7 @@
том, чтобы использовать доступный пустой раздел или, если у вас достаточно
неразмеченного пространства, использовать его</para>
<para>Минимальная система требует раздела размером около 10 гигабайт (ГБ).
<para>Минимальная система требует раздел размером около 10 гигабайт (ГБ).
Этого достаточно для хранения всех архивов с исходным кодом и компиляции
пакетов. Однако, если система LFS предназначена для использования в качестве
основной системы Linux, вероятно, будет установлено дополнительное программное
@ -92,7 +92,7 @@
пространство ограничено, установите размер раздела подкачки в два гигабайта
и контролируйте его объемом.</para>
<para>Если вы хотите использовать функцию гибернации (suspend-to-disk)
<para>Если вы хотите использовать режим гибернации (suspend-to-disk)
Linux, которая записывает содержимое ОЗУ в раздел подкачки перед выключением
машины. Установите размер раздела подкачки не меньше объема установленной
оперативной памяти.</para>
@ -104,10 +104,11 @@
но сможете оценить, сколько места на разделе подкачки занято, используя команды
<command>top</command> или <command>free</command>. По возможности следует
избегать использования SSD-накопителя для раздела подкачки. Первой реакцией на
активность раздела подкачки должна быть проверка на необоснованное прменение
активность раздела подкачки должна быть проверка на необоснованное применение
какой-либо команды, например, попытка редактирования пятигигабайтного файла.
Если использхование раздела подкачки становится обычным явлением, лучшее
решение — приобретение большего объема оперативной памяти для вашей системы.</para> </sect3>
Если использование раздела подкачки становится обычным явлением, лучшее
решение — приобретение большего объема оперативной памяти для вашей системы.</para>
</sect3>
<sect3>
<title>Раздел GRUB</title>

View File

@ -44,7 +44,7 @@ mount -v -t ext4 /dev/<replaceable>&lt;yyy&gt;</replaceable> $LFS/home</userinpu
Запустите команду <command>mount</command> без каких-либо параметров, чтобы
увидеть, какие параметры установлены для смонтированного раздела LFS. Если
установлены <option>nosuid</option> и/или <option>nodev</option>, раздел
дожен быть размонтирован и смонтирован повторно.</para>
должен быть размонтирован и смонтирован повторно.</para>
<warning><para>Приведенные выше инструкции предполагают, что вы не будете
перезагружать компьютер в процессе сборки LFS. Если вы выключите свою

View File

@ -17,7 +17,7 @@
<para>При выходе новых версий, старые версии пакетов могут быть удалены,
особенно, если они содержали уязвимости. Если одна или несколько ссылок
ниже недоступны, сначала ознакомтесь с рекомендациями по безопасности,
ниже недоступны, сначала ознакомьтесь с рекомендациями по безопасности,
чтобы понять следует ли использовать более новую версию (с исправленной
уязвимостью). Если нет, попробуйте скачать удаленный пакет с зеркала. Хотя
старый релиз можно скачать с зеркала (даже если он был удален из-за

View File

@ -95,7 +95,7 @@ EOF</userinput></screen>
<term><parameter>LC_ALL=POSIX</parameter></term>
<listitem>
<para>Переменная <envar>LC_ALL</envar> управляет локализацией определенных
программ, и формирует сообщения в соответствии с локализаций указанной страны.
программ, и формирует сообщения в соответствии с локализацией указанной страны.
Установка в <envar>LC_ALL</envar> значения <quote>POSIX</quote> или <quote>C</quote>
(они эквивалентны) гарантирует, что все будет работать должным образом в среде
кросс-компиляции.</para>

View File

@ -81,7 +81,7 @@ cd build</userinput></screen>
<varlistentry>
<term><parameter>--prefix=$LFS/tools</parameter></term>
<listitem>
<para>Указывает сценарию configure подготовить к установке пакет binutils в каталог <filename
<para>Указывает сценарию configure подготовить к установке пакет Binutils в каталог <filename
class="directory">$LFS/tools</filename>.</para>
</listitem>
</varlistentry>

View File

@ -49,9 +49,9 @@
каталоги, чтобы процедуры сборки GCC использовали их автоматически:</para>
<note><para>В этой главе часто возникают недоразумения, хотя применяются те же
процедуры, что и в любой другой главе, следуйте инструкции которую получили ранее
(<xref linkend='buildinstr'/>). Сначала распакуйте пакет gcc из архива,
а затем перейдите в созданный каталог. Только после этого следует
процедуры, что и в любой другой главе, следуйте инструкции которую получили
ранее (<xref linkend='buildinstr'/>). Сначала распакуйте пакет gcc-&gcc-version;
из архива, а затем перейдите в созданный каталог. Только после этого следует
приступить к приведенным ниже инструкциям.</para></note>
<screen><userinput remap="pre">tar -xf ../mpfr-&mpfr-version;.tar.xz

View File

@ -154,7 +154,7 @@ cd build</userinput></screen>
<para>В качестве завершающего штриха создайте символическую ссылку на утилиту.
Многие программы и скрипты используют <command>cc</command> вместо <command>gcc</command>,
чтобы сделать программы более универсальными и, следовательно, для соместимости со всеми
чтобы сделать программы более универсальными и, следовательно, для совместимости со всеми
типами UNIX-систем, где компилятор GNU C не всегда установлен. Наличие <command>cc</command>
оставляет системному администратору право самостоятельно решать, какой компилятор C устанавливать:</para>

View File

@ -13,7 +13,7 @@
<para>В этой главе рассказывается, как выполнить кросс-компиляцию базовых
утилит с использованием только что собранного кросс-тулчейна. Эти утилиты
установлены в свое конечное местоположение, но пока не могут быть использованы.
Выполненяемые инструкции по-прежнему зависят от инструментария хоста. Тем не менее,
Выполняемые инструкции по-прежнему зависят от инструментария хоста. Тем не менее,
установленные библиотеки используются при компоновке.</para>
<para>Использование утилит станет возможным в следующей главе после входа в

View File

@ -86,7 +86,7 @@ EOF</userinput></screen>
<para>Пароль пользователя <systemitem class="username">root</systemitem>
будет задан позднее.</para>
<para>Создайте файл <filename>/etc/group</filename> выполнив следующую команду:</para>
<para>Создайте файл <filename>/etc/group</filename>, выполнив следующую команду:</para>
<screen revision="sysv"><userinput>cat &gt; /etc/group &lt;&lt; "EOF"
<literal>root:x:0:
@ -157,7 +157,7 @@ EOF</userinput></screen>
определяемые частично требованиями конфигурации Udev в главе 9, а частично
общими соглашениями, используемыми в ряде существующих дистрибутивов Linux.
Кроме того, некоторые наборы тестов зависят от конкретных пользователей или
групп. Специфкация LSB (доступна по адресу <ulink
групп. Спецификация LSB (доступна по адресу <ulink
url="https://refspecs.linuxfoundation.org/lsb.shtml"/>) рекомендует, чтобы,
помимо группы <systemitem class="groupname">root</systemitem> с
идентификатор (GID) 0 присутствовала группа <systemitem class="groupname">bin</systemitem>

View File

@ -91,7 +91,7 @@ EOF</userinput></screen>
список серверов NTP, используемых <command>systemd-timesyncd</command> для синхронизации.</para>
<para>Обратите внимание, что если системные часы установлены на местное время,
<command>systemd-timesyncd</command> не будет обновлять аппартные часы.</para>
<command>systemd-timesyncd</command> не будет обновлять аппаратные часы.</para>
</sect2>

View File

@ -14,7 +14,7 @@
<primary sortas="e-/etc/inputrc">/etc/inputrc</primary>
</indexterm>
<para>Файл <filename>inputrc</filename> это файл конфигурации библиотеки readline, который
<para>Файл <filename>inputrc</filename> это конфигурационный файл библиотеки readline, который
предоставляет возможности редактирования, когда пользователь вводит строку с терминала. Он
работает путем преобразования ввода с клавиатуры в определенные действия. Readline используется
bash и большинством других оболочек, а также многими другими приложениями.</para>

View File

@ -66,16 +66,17 @@
на таблицу символов для выбранной вами локали. Также могут присутствовать необязательные модификаторы,
такие как <quote>@euro</quote>.</para>
<para>Список всех языковых стандартов, поддерживаемых Glibc, можно получить, выполнив следующую команду:</para>
<para>Список всех языковых стандартов, поддерживаемых Glibc, можно получить, выполнив следующую
команду:</para>
<screen role="nodump"><userinput>locale -a</userinput></screen>
<para>Таблицы символов могут иметь несколько синонимов, например, <quote>ISO-8859-1</quote> также упоминается
как <quote>iso8859-1</quote> и <quote>iso88591</quote>.
<para>Таблицы символов могут иметь несколько синонимов, например, <quote>ISO-8859-1</quote>
также упоминается как <quote>iso8859-1</quote> и <quote>iso88591</quote>.
Некоторые приложения не могут корректно обрабатывать различные синонимы (например, требуют чтобы
<quote>UTF-8</quote> записывалось как <quote>UTF-8</quote>, а не <quote>utf8</quote>), поэтому
безопаснее всего в большинстве случаев выбирать каноническое имя для конкретной локали. Чтобы определить
каноническое имя, запустите следующую команду, где <replaceable>&lt;locale
безопаснее всего в большинстве случаев выбирать каноническое имя для конкретной локали. Чтобы
определить каноническое имя, запустите следующую команду, где <replaceable>&lt;locale
name&gt;</replaceable> - это вывод, выдаваемый командой <command>locale -a</command> для желаемой
локали (в нашем примере <quote>en_GB.iso88591</quote>).</para>
@ -138,7 +139,7 @@ export LANG=<replaceable>&lt;ll&gt;_&lt;CC&gt;.&lt;charmap&gt;&lt;@modifiers&gt;
EOF</userinput></screen>
<para>Локаль <quote>C</quote> (используемая по умолчанию) и <quote>en_US.utf8</quote> (рекомендуемая для
англоязычных пользователей в Соединенных Штатах) это раные локали. <quote>C</quote>
англоязычных пользователей в Соединенных Штатах) это разные локали. <quote>C</quote>
использует 7-битный набор символов US-ASCII и обрабатывает байты с установленным старшим битом как
недопустимые символы. Вот почему, например, команда <command>ls</command> заменяет их вопросительными
знаками в этой локали. Кроме того, попытка отправить письмо с такими символами из Mutt или Pine приводит

View File

@ -78,10 +78,12 @@
<listitem>
<para><literal>DRIVERS=="?*"</literal> - существует для того, чтобы Udev проигнорировал
подинтерфейсы VLAN или моста (потому что эти подинтерфейсы не имеют драйверов). Эти подинтерфейсы
пропускаются, потому что назначенные имена будут конфликтовать с именами их родительских устройств.</para>
пропускаются, потому что назначенные им имена будут конфликтовать с именами их родительских
устройств.</para>
</listitem>
<listitem>
<para><literal>ATTR{address}</literal> - значением этого ключевого слова является MAC-адрес сетевой карты.</para>
<para><literal>ATTR{address}</literal> - значением этого ключевого слова является MAC-адрес
сетевой карты.</para>
</listitem>
<listitem>
<para><literal>ATTR{type}=="1"</literal> - этот ключ гарантирует выполнение правила

View File

@ -21,7 +21,8 @@
основными операциями systemd. Изначально все записи в этом файле закомментированы с
указанием настроек по умолчанию. В этом файле может быть изменен уровень логирования, а также
некоторые базовые настройки ведения файлов логов. Смотрите страницу руководства
<filename>systemd-system.conf(5)</filename> для получения подробной информации по каждому параметру.</para>
<filename>systemd-system.conf(5)</filename> для получения подробной информации по каждому
параметру.</para>
</sect2>
@ -38,9 +39,9 @@ cat &gt; /etc/systemd/system/getty@tty1.service.d/noclear.conf &lt;&lt; EOF
TTYVTDisallocate=no</literal>
EOF</userinput></screen>
<para>Сообщения, отображаемые при загрузке всегда можно просмотреть, используя команду
<para>Сообщения, отображаемые при загрузке всегда можно просмотреть, выполнив команду
<userinput>journalctl -b</userinput> от имени пользователя
<systemitem class="username">root</systemitem> user.</para>
<systemitem class="username">root</systemitem>.</para>
</sect2>
@ -182,7 +183,7 @@ EOF</userinput></screen>
</listitem>
<listitem>
<para><command>journalctl -b[=ID] -r</command>: показывает записи журнала с момента последней
успешной загрузки (или для идентификатора загрузки) в обратном порядке хронологический порядоке.</para>
успешной загрузки (или для идентификатора загрузки) в обратном порядке хронологический порядке.</para>
</listitem>
<listitem>
<para><command>journalctl -f</command>: предоставляет функциональность, аналогичную tail -f
@ -267,7 +268,7 @@ EOF</userinput></screen>
</listitem>
<listitem>
<para>
<emphasis>Включенить долгосрочные процессы в системе(глобально)</emphasis>:
<emphasis>Включить долгосрочные процессы в системе(глобально)</emphasis>:
Вы можете установить <parameter>KillUserProcesses=no</parameter> в
<filename>/etc/systemd/logind.conf</filename> для включения долгосрочных процессов
глобально для всех пользователей. Преимуществом этого метода является то, что

View File

@ -124,7 +124,7 @@
вызвать <command>/sbin/modprobe</command> с содержимым, которое находится в значении
переменной окружения <envar>MODALIAS</envar> uevent (которое должно совпадать с
содержимым файла <filename>modalias</filename> в sysfs), тем самым загружая все
модули, чьи псевдонимы совпадают в строке после расширение подстановочных
модули, чьи псевдонимы совпадают в строке после расширения подстановочных
знаков</para>
<para>В указанном примере, это означает, что в дополнение к <emphasis>snd-fm801</emphasis>
@ -199,7 +199,8 @@
для OSS приложений), настройте <command>modprobe</command> для загрузки оболочки
после того, как Udev загрузит обернутый модуль. Для этого добавьте строку
<quote>softdep</quote> в файл, который находится в каталоге
<filename>/etc/modprobe.d/<replaceable>&lt;filename&gt;</replaceable>.conf</filename>. Например:</para>
<filename>/etc/modprobe.d/<replaceable>&lt;filename&gt;</replaceable>.conf</filename>.
Например:</para>
<screen role="nodump"><literal>softdep snd-pcm post: snd-pcm-oss</literal></screen>

View File

@ -252,7 +252,7 @@ EOF</userinput></screen>
время UTC (всемирное скоординированное время), этот скрипт преобразует полученное значение в
локальное время, используя файл <filename>/etc/localtime</filename> (который сообщает программе
<command>hwclock</command>, в какой временной зоне находится пользователь). Невозможно определить,
установленое на аппаратных часах время UTC или же локальное, поэтому необходимо указать его вручную.</para>
установленное на аппаратных часах время UTC или же локальное, поэтому необходимо указать его вручную.</para>
<para>Скрипт <command>setclock</command> запускается системой <application>udev</application> при
загрузке, когда ядро определяет возможности аппаратного обеспечения. Также его можно запустить
@ -264,7 +264,7 @@ EOF</userinput></screen>
настенные/наручные часы, значит на часах CMOS установлено локальное время. Если вывод
<command>hwclock</command> не совпадает с локальным временем, скорее всего, это UTC. Проверьте
это, добавив или вычитая нужное количество часов для вашего часового пояса ко времени,
отображаемому <command>hwclock</command>. Например, если ваш часовй пояс это MSK, так же
отображаемому <command>hwclock</command>. Например, если ваш часовой пояс это MSK, также
известный как GMT +0300, то нужно вычесть три часа из локального времени.</para>
<para>Измените значение переменной <envar>UTC</envar> ниже на <parameter>0</parameter> (ноль),
@ -490,7 +490,7 @@ EOF</userinput></screen>
</listitem>
<listitem>
<para>Для китайского, японского, корейского и некоторых других языков невозможно насторить
<para>Для китайского, японского, корейского и некоторых других языков невозможно настроить
консоль Linux так, чтобы она отображала все необходимые символы. Пользователи, которым
требуются эти языки, должны установить систему X Window, шрифты, покрывающие необходимый
диапазон символов, и правильный метод ввода (например, SCIM поддерживает большое число

View File

@ -60,7 +60,7 @@ EOF</userinput></screen>
<para>Файловым системам операционных систем MS DOS и Windows (таким как vfat, ntfs, smbfs,
cifs, iso9660, udf) требуется специальная опция utf8, чтобы не-ASCII символы в именах файлов
интерпретировались правильно. Для локалей, отличных от UTF-8, значение <option>iocharset</option>
должно быть таким же, как набор символов локали и настроенно так, чтобы ядро понимало его.
должно быть таким же, как набор символов локали и настроено так, чтобы ядро понимало его.
Это будет работать, если соответствующее определение набора символов (находится
в разделе File systems -&gt; Native Language Support при настройке ядра) было скомпилировано в ядро
или собрано как модуль. Однако, если набор символов локали — UTF-8, параметр
@ -69,7 +69,7 @@ EOF</userinput></screen>
<option>iocharset=utf8</option> для локалей UTF-8. Параметр
<quote>codepage</quote> также необходим для файловых систем vfat и smbfs. Он должен быть установлен
на номер кодовой страницы, используемый в MS-DOS в вашей стране. Например, для монтирования флешек
пользователь локали ru_RU.KOI8-R должен установить следующие значения в группе параметров его строки монтирования в
пользователь локали ru_RU.KOI8-R должен установить следующие значения в группе параметров строки монтирования в
<filename>/etc/fstab</filename>:</para>
<screen><literal>noauto,user,quiet,showexec,codepage=866,iocharset=koi8r</literal></screen>

View File

@ -164,7 +164,7 @@ EOF</userinput></screen>
но для этого требуется initramfs, которая не рассматривается в LFS.</para>
<para>Имя узла устройства для раздела в <filename class='directory'>/dev</filename> также
может измениться (хотя это менее вероятно, чем измение указателя GRUB). Вы можете заменить
может измениться (хотя это менее вероятно, чем изменение указателя GRUB). Вы можете заменить
пути к узлам устройств, таким как <literal>/dev/sda1</literal> на
<literal>PARTUUID=<replaceable>&lt;UUID раздела&gt;</replaceable></literal>,
в <filename>/etc/fstab</filename>, чтобы избежать потенциального сбоя загрузки в случае,
@ -180,7 +180,8 @@ EOF</userinput></screen>
автоматически записывать файл конфигурации. Она использует набор скриптов из каталога /etc/grub.d/
и уничтожит любые сделанные вами настройки. Эти скрипты предназначены в первую очередь для обычных
дистрибутивов и не рекомендуются для LFS. Если вы устанавливаете коммерческий дистрибутив Linux,
есть вероятность, что эта программа будет запущена. Обязательно создайте резервную копию файла grub.cfg.</para></caution>
есть вероятность, что эта программа будет запущена. Обязательно создайте резервную копию файла
grub.cfg.</para></caution>
</sect2>

View File

@ -40,9 +40,9 @@
<sect2 role="installation">
<title>Установка ядра</title>
<para>Сборка ядра состоит из нескольких этапов&mdash;настройка, компиляция и установка. Ознакомьтесь
с файлом <filename>README</filename> в дереве исходных тектов, чтобы узнать об альтернативных
способах настройки ядра.</para>
<para>Сборка ядра состоит из нескольких этапов&mdash;настройка, компиляция и установка.
Ознакомьтесь с файлом <filename>README</filename> в дереве исходных текстов, чтобы
узнать об альтернативных способах настройки ядра.</para>
<para>Подготовьте пакет к компиляции, выполнив следующую команду:</para>
@ -77,7 +77,7 @@
<varlistentry>
<term><command>make menuconfig</command></term>
<listitem>
<para>Эта команда запускаеи интерфейс на основе ncurses. Для использования других
<para>Эта команда запускает интерфейс на основе ncurses. Для использования других
(графических) интерфейсов, выполните <command>make help</command>.</para>
</listitem>
</varlistentry>
@ -98,7 +98,7 @@
конфигурация с учётом архитектуры системы.</para>
<para>Обязательно включите/отключите/настройте следующие параметры, иначе система может
работаеть некорректно или вообще не загружаться:</para>
работать некорректно или вообще не загружаться:</para>
<screen role="nodump" revision="sysv">Processor type and features ---&gt;
[*] Build a relocatable kernel [CONFIG_RELOCATABLE]
@ -199,7 +199,7 @@ Device Drivers ---&gt;
<varlistentry>
<term><parameter>Randomize the address of the kernel image (KASLR)</parameter></term>
<listitem>
<para>Включите ASLR для образа ядра, чтобы уменшить вероятность некоторых атак,
<para>Включите ASLR для образа ядра, чтобы уменьшить вероятность некоторых атак,
основанных на фиксированных адресах конфиденциальных данных или кода в ядре.</para>
</listitem>
</varlistentry>
@ -249,7 +249,8 @@ Device Drivers ---&gt;
<listitem>
<para>С помощью этого параметра узлы устройств создаются автоматически и заполняются самим
ядром, даже без запуска Udev. Udev будет работать поверх, управляя разрешениями и добавляя
необходимые символические ссылки. Этот элемент конфигурации необходим всем пользователям Udev/Eudev.</para>
необходимые символические ссылки. Этот элемент конфигурации необходим всем пользователям
Udev/Eudev.</para>
</listitem>
</varlistentry>
@ -454,7 +455,7 @@ EOF</userinput></screen>
<para>Ядро системы Linux. При включении компьютера ядро — это первая загружаемая часть
операционной системы. Оно обнаруживает и инициализирует все компоненты аппаратного
обеспечения компьютера, делает их доступными в виде дерева каталогов с файлами для доступа
к ним программам и превращает один процессор в мультизадачную машину, способную выполнять
к ним программ и превращает один процессор в мультизадачную машину, способную выполнять
множество программ как будто одновременно.</para>
<indexterm zone="ch-bootable-kernel lfskernel">
<primary sortas="b-lfskernel">lfskernel-&linux-version;</primary>

View File

@ -51,7 +51,7 @@
приложения есть в справочнике BLFS, но не все пакеты необходимы в каждом конкретном окружении.
Например <ulink url="&blfs-book;basicnet/dhcpcd.html ">клиент dhcpcd</ulink>, обычно
не требуется на серверах или <ulink url="&blfs-book;basicnet/wireless_tools.html "> управление
параметрами беспроводны[ сетей</ulink> - полезно только для ноутбуков и других портативных
параметрами беспроводных сетей</ulink> - полезно только для ноутбуков и других портативных
систем.
</para>

View File

@ -33,7 +33,7 @@
<screen><userinput>echo &version; &gt; /etc/lfs-release</userinput></screen>
<para>Следующие два файла, содержащие описание установленной системы, могут использоваться
пакетами, установливаемыми позже, либо в бинарном виде, либо путем их сборки.</para>
пакетами, устанавливаемыми позже, либо в бинарном виде, либо путем их сборки.</para>
<para>Первый показывает статус вашей новой системы по отношению к стандарту LSB. Чтобы создать
этот файл, выполните:</para>

View File

@ -17,8 +17,8 @@
<listitem>
<para>На некоторые пакеты необходимо наложить патчи перед компиляцией,
метод использется тогда, когда исправление необходимо для решения проблем сборки.
Патчи часто требются как в этой, так и в следующих главах, но иногда, когда один
метод используется тогда, когда исправление необходимо для решения проблем сборки.
Патчи часто требуются как в этой, так и в следующих главах, но иногда, когда один
и тот же пакет собирается более одного раза, патч требуется не сразу. Поэтому не
беспокойтесь, если инструкции для скачанного патча отсутствуют.
Предупреждающие сообщения о <emphasis>смещении (offset)</emphasis> или

View File

@ -58,7 +58,7 @@
<varlistentry><term>хост</term><listitem>
<para>это машина/система, на которой будут выполняться встроенные программы.
Обратите внимание, что используемое здесь значение слова <quote>хост</quote>
отличается от того, которое прменяется в других разделах.</para></listitem>
отличается от того, которое применяется в других разделах.</para></listitem>
</varlistentry>
<varlistentry><term>цель</term><listitem>
@ -238,7 +238,7 @@
стандартная библиотека для C++ (libstdc++) также должна быть связана с glibc.
Решение этой проблемы курицы и яйца состоит в том, чтобы сначала собрать
деградированную libgcc на основе cc1, в которой отсутствуют некоторые функциональные
возможности, такие как потоки и обработка исключенийй, затем собрать glibc с использованием
возможности, такие как потоки и обработка исключений, затем собрать glibc с использованием
этого деградированного компилятора (сама glibc не деградирована), а затем собрать
libstdc++. В этой последней библиотеке будет не хватать некоторых функциональных
возможностей libgcc.</para>
@ -310,7 +310,7 @@
передав ей флаг <parameter>--verbose</parameter>. Например,
<command>$LFS_TGT-ld --verbose | grep SEARCH</command> покажет текущие пути
поиска и их порядок. Он показывает, какие файлы связаны с помощью
<command>ld</command>, путем компляции фиктивной программы и передачи
<command>ld</command>, путем компиляции фиктивной программы и передачи
параметра <parameter>--verbose</parameter> компоновщику. Например,
<command>$LFS_TGT-gcc dummy.c -Wl,--verbose 2&gt;&amp;1 | grep succeeded</command>
покажет все файлы, успешно открытые во время компоновки.</para>
@ -322,7 +322,7 @@
checking what linker to use... /mnt/lfs/tools/i686-lfs-linux-gnu/bin/ld</computeroutput></screen>
<para>Это важно по причинам, упомянутым выше. Также здесь демонстрируется, что
сценарий настройки gcc не просматривает значеня переменной PATH, чтобы найти,
сценарий настройки gcc не просматривает значения переменной PATH, чтобы найти,
какие инструменты использовать. Однако во время фактической работы самого
<command>gcc</command> не обязательно используются одни и те же пути поиска.
Чтобы узнать, какой стандартный компоновщик будет использовать <command>gcc</command>,
@ -357,9 +357,10 @@ checking what linker to use... /mnt/lfs/tools/i686-lfs-linux-gnu/bin/ld</compute
умолчанию.</para>
<para>Как было сказано выше, затем компилируется стандартная библиотека C++, а
затем в <xref linkend="chapter-temporary-tools"/> все остальные программы, которым необходимо
разрешить проблему циклических зависимостей во время сборки. На этапе установки всех этих пакетов используется переменная DESTDIR,
для принудительной установки в файловую систему LFS.</para>
затем в <xref linkend="chapter-temporary-tools"/> все остальные программы, которым
необходимо разрешить проблему циклических зависимостей во время сборки. На этапе
установки всех этих пакетов используется переменная DESTDIR, для принудительной
установки в файловую систему LFS.</para>
<para>В конце <xref linkend="chapter-temporary-tools"/> устанавливается
собственный компилятор lfs. Сначала собирается binutils с той же

View File

@ -44,7 +44,7 @@ LAMP-сервера или брандмауэра, 32-разрядной сбо
Напрямую в книге данная опция не поддерживается, потому что это будет только
мешать образовательной цели этой книги, предлагающей инструкции, необходимые
для сборки базовой системы. Некоторые редакторы LFS/BLFS поддерживают
ответвление LFS для мультибиблиотек, которое доступно по адресу <ulink
ответвление LFS для multilib, которое доступно по адресу <ulink
url="https://www.linuxfromscratch.org/~thomas/multilib/index.html"/>. Но это
более продвинутая тема.</para>

View File

@ -12,7 +12,8 @@
<para>Есть много причин, по которым вы хотели бы прочитать эту книгу. Один из
вопросов, который задают многие люди, звучит так: <quote>Зачем тратить время на
сборку Linux-системы вручную с нуля, если можно просто загрузить и установить существующую?</quote></para>
сборку Linux-системы вручную с нуля, если можно просто загрузить и установить
существующую?</quote></para>
<para>Одной из важных целей существования этого проекта является помощь в
изучении того, как работает система Linux изнутри. Создание системы LFS
@ -23,7 +24,7 @@
<para>Другое ключевое преимущество - LFS предоставляет более глубокий
контроль, не полагаясь на чью-либо реализацию Linux. С LFS вы находитесь в
кресле водителя и <emphasis>Вы</emphasis> управляете каждым аспектом системы.</para>
кресле водителя, и <emphasis>Вы</emphasis> управляете каждым аспектом системы.</para>
<para>LFS позволяет создавать очень компактные системы Linux. При установке
обычных дистрибутивов вам часто приходится устанавливать очень много программ,

View File

@ -45,8 +45,8 @@
<para>Все права защищены.</para>
<para>Эта книга распространяется под лицензией <xref linkend="CC"/>.</para>
<para>Инструкции для компьютера могут быть извлечены из книги под лицензией
<para>Эта книга распространяется на условиях лицензии <xref linkend="CC"/>.</para>
<para>Инструкции для компьютера могут быть извлечены из книги на условиях лицензии
<xref linkend="MIT"/>.</para>
<para><trademark class='registered'>Linux</trademark> является зарегистрированным товарным знаком

View File

@ -34,7 +34,7 @@ Linux мы просто мирились с проблемами в других
полностью соответствовала моим личным предпочтениям.</para>
<para>Чтобы создать свою собственную систему, я решил скомпилировать всё из
исходного кода вместо использования предвартельно скомпилированных пакетов.
исходного кода вместо использования предварительно скомпилированных пакетов.
Эта <quote>идеальная</quote> Linux-система должна была иметь сильные стороны
других систем без их недостатков. Сначала эта мысль казалась пугающей. Но я
придерживался идеи, что такая система должна быть создана.</para>

View File

@ -25,7 +25,8 @@
ответа (или вас просто направят к списку основных материалов для
предварительного ознакомления).</para>
<para>Перед созданием системы LFS мы настоятельно рекомендуем прочитать следующие статьи:</para>
<para>Перед созданием системы LFS мы настоятельно рекомендуем прочитать следующие
статьи:</para>
<itemizedlist>
<listitem>
@ -35,7 +36,8 @@
<para>Это исчерпывающее руководство по сборке и установке
<quote>универсальных</quote> программ Unix под Linux.
Несмотря на то что руководство написано достаточно давно, оно по-прежнему дает
хороший обзор основных методов, применяемых для сборки и установки программного обеспечения.</para>
хороший обзор основных методов, применяемых для сборки и установки программного
обеспечения.</para>
</listitem>
<listitem>

View File

@ -11,7 +11,8 @@
<title>Оформление</title>
<para>Чтобы облегчить понимание, в этой книге используются условные
обозначения. Этот раздел содержит примеры оформления, используемые в Linux From Scratch.</para>
обозначения. Этот раздел содержит примеры оформления, используемые в Linux From
Scratch.</para>
<screen role="nodump"><userinput>./configure --prefix=/usr</userinput></screen>
@ -31,7 +32,8 @@
<screen><computeroutput>install-info: unknown option '--dir-file=/mnt/lfs/usr/info/dir'</computeroutput></screen>
<para>Такое оформление (текст фиксированной ширины) показывает вывод на экран, как правило, в
результате выполнения команд. Этот формат также используется для отображения имен файлов, таких как <filename>/etc/ld.so.conf</filename>.</para>
результате выполнения команд. Этот формат также используется для отображения имен файлов,
таких как <filename>/etc/ld.so.conf</filename>.</para>
<note>
<para>Пожалуйста, настройте свой браузер для отображения текста фиксированной ширины
@ -82,7 +84,7 @@ EOF</userinput></screen>
которая будет <filename>/usr/share/man/man1/passwd.1</filename>. В этом примере вам
нужно будет запустить <command>man 5 passwd</command>, чтобы прочитать указанную
страницу. Обратите внимание, что большинство справочных страниц не имеют
повторяющихся имен страниц в разных разделах. Поэтому обычно достаточно
повторяющихся страниц в разных разделах. Поэтому обычно достаточно
<command>man <replaceable>&lt;имя программы&gt;</replaceable></command>.</para>
</sect1>

View File

@ -27,9 +27,9 @@
определяет, кто или что может получать доступ к объекту (программе,
процессу или файлу), и какие именно операции разрешено или запрещено
выполнять субъекту (пользователю, группе пользователей).Данный пакет
содержит утилиты для администрирования спискаов управления доступом,
которые используются для определения дискреционных прав доступа к файлам и каталогам.
</para>
содержит утилиты для администрирования списков управления доступом,
которые используются для определения дискреционных прав доступа к файлам
и каталогам.</para>
</listitem>
<listitem>
@ -291,7 +291,8 @@
<para>IProute2</para>
<para>Этот пакет содержит программы для базовой и расширенной работы в сетях
IPv4 и IPv6. Он был выбран среди других распространенных пакетов сетевых инструментов (net-tools) из-за его поддержки IPv6.</para>
IPv4 и IPv6. Он был выбран среди других распространенных пакетов сетевых инструментов
(net-tools) из-за его поддержки IPv6.</para>
</listitem>
<listitem revision="systemd">
@ -305,7 +306,8 @@
<para>Kbd</para>
<para>Этот пакет содержит таблицы раскладок, утилиты управления клавиатурой
для неамериканских клавиатур, кроме этого, с ним поставляется большой набор консольных шрифтов.</para>
для неамериканских клавиатур, кроме этого, с ним поставляется большой набор
консольных шрифтов.</para>
</listitem>
<listitem>
@ -347,7 +349,8 @@
различных соглашений о вызовах. Некоторые программы могут не знать во время компиляции,
какие аргументы должны быть переданы в функцию. Например, интерпретатору во время
выполнения может быть сообщено о количестве и типах аргументов, используемых для
вызова данной функции. Libffi можно использовать как мост от интерпретатора к скомпилированному коду.</para>
вызова данной функции. Libffi можно использовать как мост от интерпретатора к
скомпилированному коду.</para>
</listitem>