Translated page usage

This commit is contained in:
Poltern 2023-07-23 23:49:49 +05:00
parent 1d782bcece
commit 8f7f6f256f

View File

@ -19,17 +19,23 @@
<sect2>
<title>Как работают загрузочные скрипты System V?</title>
<para>В Linux используется специальное средство загрузки под названием SysVinit, основанное на
концепции уровней выполнения (<emphasis>run-levels</emphasis>). Его настройка может сильно отличаться
от одной системы к другой, и корректная работа в одном дистрибутиве Linux, не гарантирует
работоспособность в LFS. LFS работает по-своему, но соблюдает общепринятые стандарты.</para>
<para>В этой версии LFS используется специальное средство загрузки под названием SysVinit,
основанное на наборе уровней выполнения (<emphasis>run-levels</emphasis>). Процедура
загрузки может сильно отличаться от одной системы к другой; и тот факт, что в конкретном
дистрибутиве Linux все работало должным образом, не гарантирует, что оно будут работать
так же в LFS. LFS работает по-своему, но соблюдает общепринятые стандарты.</para>
<para>Существует альтернативная система загрузки, которая называется
<command>systemd</command>. Мы не будем обсуждать этот вариант загрузки здесь. Для получения
подробного описания, посетите
<ulink url="https://www.linux.com/training-tutorials/understanding-and-using-systemd/"/>.</para>
<para>SysVinit (в дальнейшем именуемый <quote>init</quote>) работает по схеме уровней выполнения.
Существует семь (пронумерованных от 0 до 6) уровней выполнения (на самом деле уровней
<para>SysVinit (в дальнейшем именуемый <quote>init</quote>) использует схему уровней выполнения.
Существует семь уровней выполнения, пронумерованных от 0 до 6. (На самом деле уровней
больше, но они предназначены для особых случаев и обычно не используются. Подробности смотрите в
руководстве <filename>init(8)</filename>), и каждый из них соответствует действиям, которые компьютер
должен выполнить при запуске. Уровень выполнения по умолчанию — 3. Ниже приведены описания различных
уровней в том виде, в каком они реализованы в LFS:</para>
руководстве <filename>init(8)</filename>). Каждый из них соответствует действиям, которые компьютер
должен выполнить при запуске и выключении. Уровень выполнения по умолчанию — 3. Ниже приведено
описание различных уровней в том виде, в каком они реализованы в LFS:</para>
<literallayout>0: выключение компьютера
1: однопользовательский режим
@ -43,9 +49,9 @@
<note>
<para>
Раньше, много лет назад, уровень выполнения 2 обозначался как "многопользовательский
режим без поддержки сети", тогда несколько пользователей могли войти в систему, подключившись
через последовательные порты. В сегодняшних условиях это не имеет смысла, и мы обозначаем этот
уровень как "зарезервировано".
режим без поддержки сети", тогда, несколько пользователей могли подключаться к системе
через последовательные порты. В сегодняшних условиях это не имеет смысла, и мы обозначаем
этот уровень как "зарезервировано".
</para>
</note>
@ -63,9 +69,9 @@
<primary sortas="e-/etc/inittab">/etc/inittab</primary>
</indexterm>
<para>Во время инициализации ядра первая запущенная программа указывается либо в
командной строке, либо по умолчанию в <command>init</command>. Эта программа читает файл
инициализации <filename>/etc/inittab</filename>. Создайте этот файл:</para>
<para>Во время инициализации ядра первой запускаемой программой (если она не переопределена
в командной строке) является <command>init</command>. Эта программа считывает файл инициализации
<filename>/etc/inittab</filename>. Создайте этот файл:</para>
<screen><userinput>cat &gt; /etc/inittab &lt;&lt; "EOF"
<literal># Begin /etc/inittab
@ -98,22 +104,22 @@ s1:1:respawn:/sbin/sulogin
EOF</userinput></screen>
<para>Пояснения по содержимому этого файла инициализации находится на справочной
странице <emphasis>inittab</emphasis>. Для LFS ключевой командой является <command>rc</command>.
странице <emphasis>inittab</emphasis>. Для LFS основной командой является <command>rc</command>.
В приведенном выше файле инициализации, <command>rc</command> будет выполнять все сценарии,
начинающиеся с символа S в каталоге <filename class="directory">/etc/rc.d/rcS.d</filename>, за
которыми следуют все скрипты, начинающиеся с S в каталоге <filename
class="directory">/etc/rc.d/rc?.d</filename>, где знак вопроса задается значением initdefault.</para>
<para>Для удобства, скрипт <command>rc</command> читает функции из библиотеки
<para>Для удобства, скрипт <command>rc</command> считывает библиотеку функций из
<filename class="directory">/lib/lsb/init-functions</filename>. Эта библиотека также читает
необязательный файл конфигурации <filename>/etc/sysconfig/rc.site</filename>. Любой из
параметров файла конфигурации системы, описанный в последующих разделах, можно поместить
в этот файл, что позволит объединить все системные параметры в одном файле.</para>
необязательный файл конфигурации <filename>/etc/sysconfig/rc.site</filename>. В этот файл
можно поместить любой из параметров конфигурации системы, описанных в последующих разделах,
что позволяет объединить все параметры системы в одном файле.</para>
<para>Для удобства отладки скрипт functions также записывает весь вывод в
<filename>/run/var/bootlog</filename>. Поскольку каталог <filename class="directory">/run</filename>
является tmpfs, этого файла может не быть при загрузке, однако его содержимое добавляется к
файлу <filename>/var/log/boot.log</filename> по окончании процесса загрузки.</para>
является tmpfs, этот файл не сохраняется при загрузке; однако его содержимое добавляется в
файл <filename>/var/log/boot.log</filename> по окончании процесса загрузки.</para>
<sect3 id="init-levels" >
<title>Изменение уровней выполнения</title>
@ -129,13 +135,13 @@ EOF</userinput></screen>
<para>В каталоге <filename
class="directory">/etc/rc.d</filename> есть ещё несколько каталогов, которые выглядят
как <filename class="directory">rc?.d</filename> (где ? - номер уровня выполнения),
все они содержат ряд символических ссылок. Некоторые начинаются с <emphasis>K</emphasis>,
все они содержат ряд символических ссылок. Некоторые ссылки начинаются с <emphasis>K</emphasis>,
другие начинаются с <emphasis>S</emphasis>, и все они содержат две цифры после начальной буквы.
K означает остановить (убить) службу, а S означает запустить службу. Числа определяют порядок
выполнения сценариев от 00 до 99&mdash;чем меньше число, тем раньше он запустится.
выполнения сценариев от 00 до 99&mdash;чем меньше число, тем раньше запускается скрипт.
Когда <command>init</command> переключается на другой уровень выполнения,
соответствующие службы запускаются или останавливаются в зависимости от выбранного
уровня.</para>
соответствующие службы либо запускаются, либо останавливаются, в зависимости от выбранного
уровня выполнения.</para>
<para>Реальные скрипты находятся в каталоге <filename
class="directory">/etc/rc.d/init.d</filename>. Они выполняют фактическую работу,
@ -218,15 +224,15 @@ EOF</userinput></screen>
ожидает выполнения всех правил. Скрипт также отключает обработчик uevent по умолчанию
<filename>/sbin/hotplug</filename>. Это сделано потому, что ядру больше не нужно обращаться к
внешнему бинарному файлу. Вместо этого <command>udevd</command> будет прослушивать сокет netlink
для событий uevents, которые вызывает ядро.</para>
на предмет событий, которые вызывает ядро.</para>
<para>Инит-скрипт <command>/etc/rc.d/init.d/udev_retry</command> решает задачу повторного запуска
событий для подсистем, правила которых могут зависеть от файловых систем, которые не монтируются до
запуска скрипта <command>mountfs</command> (в частности, его вызывают <filename class="directory">/usr</filename>
и <filename class="directory">/var</filename>). Этот скрипт запускается после скрипта
<command>mountfs</command>, поэтому правила (при повторном запуске) должны выполняться успешно. Он
настраивается из файла <filename>/etc/sysconfig/udev_retry</filename>; любые слова в этом файле,
кроме комментариев, являются именами подсистем, которые могут выполняться повторно. Чтобы найти
<command>mountfs</command>, поэтому эти правила (при повторном запуске) должны сработать во второй раз.
Он настраивается в файле <filename>/etc/sysconfig/udev_retry</filename>; любые слова в этом файле,
кроме комментариев, являются именами подсистем, которые запускаются при повторной попытке. Чтобы найти
подсистему устройства, используйте <command>udevadm info --attribute-walk &lt;device&gt;</command>,
где &lt;device&gt; - это абсолютный путь в /dev или /sys, такой как /dev/sr0 или /sys/class/rtc.</para>
@ -246,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> при
загрузке, когда ядро определяет возможности аппаратного обеспечения. Также его можно запустить
@ -257,9 +263,9 @@ EOF</userinput></screen>
время в соответствии с аппаратными часами. Если оно совпадает с тем, что показывают ваши
настенные/наручные часы, значит на часах CMOS установлено локальное время. Если вывод
<command>hwclock</command> не совпадает с локальным временем, скорее всего, это UTC. Проверьте
это, добавляя или вычитая правильное смещение к времени, выводимому <command>hwclock</command>.
Например, если ваш часовй пояс это MSK, так же известный как GMT +0300, то нужно вычесть
три часа из локального времени.</para>
это, добавив или вычитая нужное количество часов для вашего часового пояса ко времени,
отображаемому <command>hwclock</command>. Например, если ваш часовй пояс это MSK, так же
известный как GMT +0300, то нужно вычесть три часа из локального времени.</para>
<para>Измените значение переменной <envar>UTC</envar> ниже на <parameter>0</parameter> (ноль),
если на аппаратных часах установлено <emphasis>НЕ</emphasis> UTC.</para>
@ -306,7 +312,7 @@ EOF</userinput></screen>
<para>Скрипт <command>console</command> считывает конфигурацию из файла
<filename>/etc/sysconfig/console</filename>. Решите для себя, какую раскладку клавиатуры и
какой шрифт намерены использовать. В этом также могут помочь различные HOWTO для конкретных языков,
какой шрифт намерены использовать. В этом также могут помочь различные HOWTO для конкретных языков;
смотрите <ulink url="https://tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>. Если вы все еще
сомневаетесь, посмотрите в каталогах <filename class="directory">/usr/share/keymaps</filename>
и <filename class="directory">/usr/share/consolefonts</filename> допустимые раскладки и экранные
@ -357,9 +363,10 @@ EOF</userinput></screen>
<para>Эта переменная определяет аргументы для программы <command>setfont</command>. Обычно
она включает в себя имя шрифта <quote>-m</quote> и имя загружаемой таблицы символов. Например,
чтобы загрузить шрифт <quote>lat1-16</quote> вместе с таблицей символов <quote>8859-1</quote>
(подходящий для США), установите эту переменную в <quote>lat1-16 -m 8859-1</quote>. В режиме
UTF-8 ядро использует таблицу символов для преобразования 8-битных кодов клавиш в раскладку UTF-8,
поэтому аргумент параметра "-m" должен быть указывать кодировку таблицы символов в раскладке.</para>
(подходит для США), установите эту переменную в <quote>lat1-16 -m 8859-1</quote>. В режиме
UTF-8 ядро использует таблицу символов для преобразования 8-битных кодов клавиш в UTF-8,
поэтому аргумент параметра "-m" должен быть установлен на кодировку соответствующих кодов
клавиш в раскладке.</para>
</listitem>
</varlistentry>
@ -486,7 +493,7 @@ EOF</userinput></screen>
<para>Для китайского, японского, корейского и некоторых других языков невозможно насторить
консоль Linux так, чтобы она отображала все необходимые символы. Пользователи, которым
требуются эти языки, должны установить систему X Window, шрифты, покрывающие необходимый
диапазон символов, и правильный метод ввода (например, SCIM, он поддерживает большое число
диапазон символов, и правильный метод ввода (например, SCIM поддерживает большое число
разнообразных языков).</para>
</listitem>
@ -518,7 +525,7 @@ EOF</userinput></screen>
</sect2>
<sect2 id="ch-config-sysklogd">
<title>Настройка скрипта sysklogd</title>
<title>Настройка скрипта Sysklogd</title>
<indexterm zone="ch-config-sysklogd">
<primary sortas="d-sysklogd">sysklogd</primary>
@ -550,7 +557,7 @@ EOF</userinput></screen>
автоматически применяемые всеми загрузочными скриптами. Этот файл может содержать парамеры,
обычно указываемые в файлах <filename>hostname</filename>, <filename>console</filename> и
<filename>clock</filename> из каталога <filename class='directory'>/etc/sysconfig/</filename>.
Если значение одной и той же переменной присваивается и в одном из этих файлов, и в
Если значение одной и той же переменной присваивается, как в одном из этих файлов, так и в
<filename>rc.site</filename>, приоритет имеет значение из специализированного файла.</para>
<para><filename>rc.site</filename> также содержит параметры, которые могут настраивать
@ -580,10 +587,11 @@ EOF</userinput></screen>
OMIT_UDEV_SETTLE=y.</para></listitem>
<listitem><para>Скрипт загрузки <filename>udev_retry</filename> также по умолчанию
запускает <command>udev settle</command>. Команда требуется только тогда, когда
запускает <command>udev settle</command>. Команда необходима только тогда, когда
каталог <filename class='directory'>/var</filename> смонтирован в отдельный раздел.
Это связано с тем, что часам нужен доступ к файлу <filename>/var/lib/hwclock/adjtime</filename>.
Пропустите команду, установив переменную OMIT_UDEV_RETRY_SETTLE=y.
Для других настроек также может потребоваться дождаться завершения udev, но в большинстве
случаев в этом нет необходимости. Пропустите команду, установив переменную OMIT_UDEV_RETRY_SETTLE=y.
</para></listitem>
<listitem><para>По умолчанию проверка файловой системы выполняется в "тихом" режиме.
@ -609,7 +617,7 @@ EOF</userinput></screen>
<listitem><para>Во время завершения работы, <command>init</command> отправляет сигнал TERM
каждой запущенной программе (например, agetty), ожидает установленное время (по умолчанию 3
секунды), посылает каждому процессу сигнал завершения(KILL) и снова ждёт. Этот процесс
секунды), затем посылает каждому процессу сигнал завершения(KILL) и снова ждёт. Этот процесс
повторяется в сценарии <command>sendsignals</command> для любых процессов, которые не завершаются
их собственными скриптами. Задержка для <command>init</command> может быть установлена путем
передачи параметра. Например, чтобы устранить задержку в <command>init</command>, передайте