mirror of
https://github.com/Poltern/lfs-ru.git
synced 2024-10-18 11:50:21 +03:00
Spelling
This commit is contained in:
parent
7730f2b8d7
commit
fb0f4bc0dc
3
ABOUT.md
3
ABOUT.md
@ -5,6 +5,9 @@
|
||||
### 01.07.2023
|
||||
- Сделан перевод книги LFS 11.3
|
||||
|
||||
### 15.06.2023
|
||||
- Сделан перевод книги LFS 11.2
|
||||
|
||||
### 25.05.2023
|
||||
- Сделаны первые сборки книги LFS 11.2 в форматах html и pdf
|
||||
|
||||
|
@ -463,7 +463,7 @@
|
||||
<segtitle>&before;</segtitle>
|
||||
<seglistitem>
|
||||
<seg>Bash, Diffutils, <phrase revision="sysv">Eudev, </phrase>
|
||||
Findutils, <phrase revision="sysv">и </phrase>Man-DB<phrase
|
||||
Findutils, <phrase revision="sysv">и </phrase>Man-DB <phrase
|
||||
revision="systemd">и Systemd</phrase></seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
@ -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>
|
||||
|
@ -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"/>
|
||||
|
@ -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.
|
||||
|
@ -57,8 +57,8 @@
|
||||
<filename>.bashrc</filename> для своего пользователя и
|
||||
<systemitem class="username">root</systemitem>. Кроме того, некоторые дистрибутивы
|
||||
используют тест "if" и не запускают оставшиеся инструкции <filename>.bashrc</filename>
|
||||
для неинтерактивного вызова bash. Обязательно разместите команду экспорта перед тестом
|
||||
для неинтерактивного использования.</para>
|
||||
для не интерактивного вызова bash. Обязательно разместите команду экспорта перед тестом
|
||||
для не интерактивного использования.</para>
|
||||
|
||||
</note>
|
||||
|
||||
|
@ -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>
|
||||
|
@ -44,7 +44,7 @@ mount -v -t ext4 /dev/<replaceable><yyy></replaceable> $LFS/home</userinpu
|
||||
Запустите команду <command>mount</command> без каких-либо параметров, чтобы
|
||||
увидеть, какие параметры установлены для смонтированного раздела LFS. Если
|
||||
установлены <option>nosuid</option> и/или <option>nodev</option>, раздел
|
||||
дожен быть размонтирован и смонтирован повторно.</para>
|
||||
должен быть размонтирован и смонтирован повторно.</para>
|
||||
|
||||
<warning><para>Приведенные выше инструкции предполагают, что вы не будете
|
||||
перезагружать компьютер в процессе сборки LFS. Если вы выключите свою
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
<para>При выходе новых версий, старые версии пакетов могут быть удалены,
|
||||
особенно, если они содержали уязвимости. Если одна или несколько ссылок
|
||||
ниже недоступны, сначала ознакомтесь с рекомендациями по безопасности,
|
||||
ниже недоступны, сначала ознакомьтесь с рекомендациями по безопасности,
|
||||
чтобы понять следует ли использовать более новую версию (с исправленной
|
||||
уязвимостью). Если нет, попробуйте скачать удаленный пакет с зеркала. Хотя
|
||||
старый релиз можно скачать с зеркала (даже если он был удален из-за
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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
|
||||
|
@ -154,7 +154,7 @@ cd build</userinput></screen>
|
||||
|
||||
<para>В качестве завершающего штриха создайте символическую ссылку на утилиту.
|
||||
Многие программы и скрипты используют <command>cc</command> вместо <command>gcc</command>,
|
||||
чтобы сделать программы более универсальными и, следовательно, для соместимости со всеми
|
||||
чтобы сделать программы более универсальными и, следовательно, для совместимости со всеми
|
||||
типами UNIX-систем, где компилятор GNU C не всегда установлен. Наличие <command>cc</command>
|
||||
оставляет системному администратору право самостоятельно решать, какой компилятор C устанавливать:</para>
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
||||
<para>В этой главе рассказывается, как выполнить кросс-компиляцию базовых
|
||||
утилит с использованием только что собранного кросс-тулчейна. Эти утилиты
|
||||
установлены в свое конечное местоположение, но пока не могут быть использованы.
|
||||
Выполненяемые инструкции по-прежнему зависят от инструментария хоста. Тем не менее,
|
||||
Выполняемые инструкции по-прежнему зависят от инструментария хоста. Тем не менее,
|
||||
установленные библиотеки используются при компоновке.</para>
|
||||
|
||||
<para>Использование утилит станет возможным в следующей главе после входа в
|
||||
|
@ -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 > /etc/group << "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>
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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>
|
||||
|
@ -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><locale
|
||||
безопаснее всего в большинстве случаев выбирать каноническое имя для конкретной локали. Чтобы
|
||||
определить каноническое имя, запустите следующую команду, где <replaceable><locale
|
||||
name></replaceable> - это вывод, выдаваемый командой <command>locale -a</command> для желаемой
|
||||
локали (в нашем примере <quote>en_GB.iso88591</quote>).</para>
|
||||
|
||||
@ -138,7 +139,7 @@ export LANG=<replaceable><ll>_<CC>.<charmap><@modifiers>
|
||||
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 приводит
|
||||
|
@ -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> - этот ключ гарантирует выполнение правила
|
||||
|
@ -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 > /etc/systemd/system/getty@tty1.service.d/noclear.conf << 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> для включения долгосрочных процессов
|
||||
глобально для всех пользователей. Преимуществом этого метода является то, что
|
||||
|
@ -124,7 +124,7 @@
|
||||
вызвать <command>/sbin/modprobe</command> с содержимым, которое находится в значении
|
||||
переменной окружения <envar>MODALIAS</envar> uevent (которое должно совпадать с
|
||||
содержимым файла <filename>modalias</filename> в sysfs), тем самым загружая все
|
||||
модули, чьи псевдонимы совпадают в строке после расширение подстановочных
|
||||
модули, чьи псевдонимы совпадают в строке после расширения подстановочных
|
||||
знаков</para>
|
||||
|
||||
<para>В указанном примере, это означает, что в дополнение к <emphasis>snd-fm801</emphasis>
|
||||
@ -183,7 +183,7 @@
|
||||
будет исправлена в более поздних версиях ядра.</para>
|
||||
|
||||
<para>Udev не предназначен для загрузки драйверов <quote>обёрток</quote>, таких как
|
||||
<emphasis>snd-pcm-oss</emphasis>и неаппаратных драйверов, например,
|
||||
<emphasis>snd-pcm-oss</emphasis>и не аппаратных драйверов, например,
|
||||
<emphasis>loop</emphasis>.</para>
|
||||
|
||||
</sect3>
|
||||
@ -199,7 +199,8 @@
|
||||
для OSS приложений), настройте <command>modprobe</command> для загрузки оболочки
|
||||
после того, как Udev загрузит обернутый модуль. Для этого добавьте строку
|
||||
<quote>softdep</quote> в файл, который находится в каталоге
|
||||
<filename>/etc/modprobe.d/<replaceable><filename></replaceable>.conf</filename>. Например:</para>
|
||||
<filename>/etc/modprobe.d/<replaceable><filename></replaceable>.conf</filename>.
|
||||
Например:</para>
|
||||
|
||||
<screen role="nodump"><literal>softdep snd-pcm post: snd-pcm-oss</literal></screen>
|
||||
|
||||
|
@ -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 поддерживает большое число
|
||||
|
@ -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 -> 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>
|
||||
|
@ -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><UUID раздела></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>
|
||||
|
||||
|
@ -40,9 +40,9 @@
|
||||
<sect2 role="installation">
|
||||
<title>Установка ядра</title>
|
||||
|
||||
<para>Сборка ядра состоит из нескольких этапов—настройка, компиляция и установка. Ознакомьтесь
|
||||
с файлом <filename>README</filename> в дереве исходных тектов, чтобы узнать об альтернативных
|
||||
способах настройки ядра.</para>
|
||||
<para>Сборка ядра состоит из нескольких этапов—настройка, компиляция и установка.
|
||||
Ознакомьтесь с файлом <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 --->
|
||||
[*] Build a relocatable kernel [CONFIG_RELOCATABLE]
|
||||
@ -199,7 +199,7 @@ Device Drivers --->
|
||||
<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 --->
|
||||
<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>
|
||||
|
@ -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>
|
||||
|
||||
|
@ -33,7 +33,7 @@
|
||||
<screen><userinput>echo &version; > /etc/lfs-release</userinput></screen>
|
||||
|
||||
<para>Следующие два файла, содержащие описание установленной системы, могут использоваться
|
||||
пакетами, установливаемыми позже, либо в бинарном виде, либо путем их сборки.</para>
|
||||
пакетами, устанавливаемыми позже, либо в бинарном виде, либо путем их сборки.</para>
|
||||
|
||||
<para>Первый показывает статус вашей новой системы по отношению к стандарту LSB. Чтобы создать
|
||||
этот файл, выполните:</para>
|
||||
|
@ -17,8 +17,8 @@
|
||||
|
||||
<listitem>
|
||||
<para>На некоторые пакеты необходимо наложить патчи перед компиляцией,
|
||||
метод использется тогда, когда исправление необходимо для решения проблем сборки.
|
||||
Патчи часто требются как в этой, так и в следующих главах, но иногда, когда один
|
||||
метод используется тогда, когда исправление необходимо для решения проблем сборки.
|
||||
Патчи часто требуются как в этой, так и в следующих главах, но иногда, когда один
|
||||
и тот же пакет собирается более одного раза, патч требуется не сразу. Поэтому не
|
||||
беспокойтесь, если инструкции для скачанного патча отсутствуют.
|
||||
Предупреждающие сообщения о <emphasis>смещении (offset)</emphasis> или
|
||||
|
@ -58,7 +58,7 @@
|
||||
<varlistentry><term>хост</term><listitem>
|
||||
<para>это машина/система, на которой будут выполняться встроенные программы.
|
||||
Обратите внимание, что используемое здесь значение слова <quote>хост</quote>
|
||||
отличается от того, которое прменяется в других разделах.</para></listitem>
|
||||
отличается от того, которое применяется в других разделах.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry><term>цель</term><listitem>
|
||||
@ -238,9 +238,9 @@
|
||||
стандартная библиотека для C++ (libstdc++) также должна быть связана с glibc.
|
||||
Решение этой проблемы курицы и яйца состоит в том, чтобы сначала собрать
|
||||
деградированную libgcc на основе cc1, в которой отсутствуют некоторые функциональные
|
||||
возможности, такие как потоки и обработка исключенийй, затем собрать glibc с использованием
|
||||
возможности, такие как потоки и обработка исключений, затем собрать glibc с использованием
|
||||
этого деградированного компилятора (сама glibc не деградирована), а затем собрать
|
||||
libstdc++. В этой последней библиотеке будет нехватать некоторых функциональных
|
||||
libstdc++. В этой последней библиотеке будет не хватать некоторых функциональных
|
||||
возможностей libgcc.</para>
|
||||
|
||||
<para>Выводом из предыдущего абзаца является то, что cc1
|
||||
@ -279,7 +279,7 @@
|
||||
пакеты, установленные в &ch-tmp-cross; или &ch-tmp-chroot; не могут удовлетворять
|
||||
этому требованию, потому что некоторые из них собраны без необязательных зависимостей и autoconf
|
||||
не может выполнить некоторые проверки функций в &ch-tmp-cross; из-за кросс-компиляции, в результате
|
||||
чего во временных пакетах отсутствуют дополнительные функции или используются неоптимальные
|
||||
чего во временных пакетах отсутствуют дополнительные функции или используются не оптимальные
|
||||
процедуры кода. Кроме того, второстепенной причиной для пересборки пакетов является выполнение
|
||||
тестов.</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>&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 с той же
|
||||
|
@ -44,7 +44,7 @@ LAMP-сервера или брандмауэра, 32-разрядной сбо
|
||||
Напрямую в книге данная опция не поддерживается, потому что это будет только
|
||||
мешать образовательной цели этой книги, предлагающей инструкции, необходимые
|
||||
для сборки базовой системы. Некоторые редакторы LFS/BLFS поддерживают
|
||||
ответвление LFS для мультибиблиотек, которое доступно по адресу <ulink
|
||||
ответвление LFS для multilib, которое доступно по адресу <ulink
|
||||
url="https://www.linuxfromscratch.org/~thomas/multilib/index.html"/>. Но это
|
||||
более продвинутая тема.</para>
|
||||
|
||||
|
@ -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. При установке
|
||||
обычных дистрибутивов вам часто приходится устанавливать очень много программ,
|
||||
|
@ -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> является зарегистрированным товарным знаком
|
||||
|
@ -34,7 +34,7 @@ Linux мы просто мирились с проблемами в других
|
||||
полностью соответствовала моим личным предпочтениям.</para>
|
||||
|
||||
<para>Чтобы создать свою собственную систему, я решил скомпилировать всё из
|
||||
исходного кода вместо использования предвартельно скомпилированных пакетов.
|
||||
исходного кода вместо использования предварительно скомпилированных пакетов.
|
||||
Эта <quote>идеальная</quote> Linux-система должна была иметь сильные стороны
|
||||
других систем без их недостатков. Сначала эта мысль казалась пугающей. Но я
|
||||
придерживался идеи, что такая система должна быть создана.</para>
|
||||
|
@ -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>
|
||||
|
@ -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><имя программы></replaceable></command>.</para>
|
||||
|
||||
</sect1>
|
||||
|
@ -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>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user