mirror of
https://github.com/Poltern/lfs-ru.git
synced 2024-10-18 11:50:21 +03:00
Translated page usage
This commit is contained in:
parent
1d782bcece
commit
8f7f6f256f
@ -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 > /etc/inittab << "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—чем меньше число, тем раньше он запустится.
|
||||
выполнения сценариев от 00 до 99—чем меньше число, тем раньше запускается скрипт.
|
||||
Когда <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 <device></command>,
|
||||
где <device> - это абсолютный путь в /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>, передайте
|
||||
|
Loading…
Reference in New Issue
Block a user