Merge from English version 1.158 -> 1.181
Submited by: Valeriy Kravchuk <openxs@ipnet.kiev.ua> With fixes from: maxim, den Obtained from: The FreeBSD Russian Documentation Project
This commit is contained in:
parent
15eda87cb7
commit
04c0952551
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=22646
1 changed files with 240 additions and 121 deletions
|
@ -2,9 +2,9 @@
|
|||
The FreeBSD Documentation Project
|
||||
|
||||
$FreeBSD$
|
||||
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/config/chapter.sgml,v 1.23 2004/08/31 11:05:59 den Exp $
|
||||
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/config/chapter.sgml,v 1.27 2004/10/22 10:33:59 den Exp $
|
||||
|
||||
Original revision: 1.158
|
||||
Original revision: 1.181
|
||||
-->
|
||||
|
||||
<chapter id="config-tuning">
|
||||
|
@ -40,6 +40,10 @@
|
|||
<firstname>Денис</firstname>
|
||||
<surname>Пеплин</surname>
|
||||
</author>
|
||||
<author>
|
||||
<firstname>Валерий</firstname>
|
||||
<surname>Кравчук</surname>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</chapterinfo>
|
||||
|
||||
|
@ -94,9 +98,7 @@
|
|||
linkend="basics">).</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Ознакомиться с модернизированием исходных текстов &os;
|
||||
(<xref linkend="cutting-edge">), и
|
||||
основами конфигурации/компиляции ядра
|
||||
<para>Ознакомиться с основами конфигурации/компиляции ядра
|
||||
(<xref linkend="kernelconfig">).</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
@ -325,39 +327,76 @@
|
|||
</sect1>
|
||||
|
||||
<sect1 id="configtuning-starting-services">
|
||||
<sect1info>
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Tom</firstname>
|
||||
<surname>Rhodes</surname>
|
||||
<contrib>Предоставил </contrib>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</sect1info>
|
||||
<title>Запуск сервисов</title>
|
||||
|
||||
<indexterm><primary>сервисы</primary></indexterm>
|
||||
|
||||
<para>Обычно в системе работает множество сервисов. Их можно
|
||||
запустить различными способами, каждый из которых имеет свои
|
||||
преимущества.</para>
|
||||
<para>Многие пользователи предпочитают устанавливать программы сторонних
|
||||
производителей в &os; из набора портов. В подобных случаях
|
||||
может потребоваться сконфигурировать программы так, чтобы они
|
||||
запускались при инициализации системы. Сервисы, такие как
|
||||
<filename role="package">mail/postfix</filename> или
|
||||
<filename role="package">www/apache13</filename>, —
|
||||
это лишь два примера множества программных пакетов, которые
|
||||
можно запускать при инициализации системы. Поэтому остается только
|
||||
надеяться, что для процедур, способных работать с программами
|
||||
сторонних производителей, будут выдаваться объяснения в тех редких
|
||||
случаях, когда что-то идет не так и приложение не запускается как
|
||||
следует.</para>
|
||||
|
||||
<indexterm><primary>/usr/local/etc/rc.d</primary></indexterm>
|
||||
<para>Большинство входящих в &os; сервисов, таких как &man.cron.8;,
|
||||
запускается с помощью стартовых скриптов системы. Эти скрипты
|
||||
могут отличаться в зависимости от версии &os; или ее производителя;
|
||||
однако важнее всего учитывать, что их начальную конфигурацию
|
||||
можно задать с помощью простых стартовых скриптов.</para>
|
||||
|
||||
<para>Программное обеспечение, установленное из коллекции портов или
|
||||
пакетов обычно записывает свои скрипты в
|
||||
<filename>/usr/local/etc/rc.d</filename>
|
||||
который выполняется с аргументом <option>start</option> при запуске
|
||||
и с аргументом <option>stop</option> при завершении работы системы.
|
||||
Этот метод запуска рекомендуется, если вы запускаете сервисы как
|
||||
<username>root</username>, или же они должны быть запущены с
|
||||
привилегиями <username>root</username>. Эти скрипты устанавливаются
|
||||
вместе с пакетами, и соответственно, при удалении пакетов скрипты будут
|
||||
также удалены.</para>
|
||||
<para>С момента появления rcNG стало ясно, что инициализацию системы
|
||||
для утилит сторонних производителей можно упростить. Многие
|
||||
годы приложения должны были помещать простой стартовый скрипт в
|
||||
каталог <filename role="directory">/usr/local/etc/rc.d</filename>,
|
||||
который затем читался скриптами инициализации системы. Эти скрипты
|
||||
затем выполнялись в ходе последующих стадий запуска системы.</para>
|
||||
|
||||
<para>Типичный скрипт из <filename>/usr/local/etc/rc.d</filename>,
|
||||
выполняющийся при запуске выглядит следующим образом:</para>
|
||||
<para>Хотя много разработчиков потратили часы на попытки внедрить
|
||||
старый стиль конфигурирования в новую систему, остаётся фактом,
|
||||
что для некоторых утилит сторонних производителей по-прежнему
|
||||
необходим скрипт, помещённый в указанный выше каталог. Незначительные
|
||||
различия в скриптах зависят от того, используется ли rcNG. Для
|
||||
любой версии &os; до 5.1 дополнительное конфигурирование не
|
||||
потребуется; в действительности, почти во всех случаях прекрасно
|
||||
подойдет скрипт, который вскоре будет представлен.</para>
|
||||
|
||||
<para>Хотя каждый скрипт должен соответствовать некоторым минимальным
|
||||
требованиям, в большинстве случаев эти требования не зависят от версии
|
||||
&os;. Каждый скрипт должен иметь в конце расширение
|
||||
<filename>.sh</filename> и каждый скрипт должен быть выполняемым.
|
||||
Последнее требование может быть выполнено путем установки командой
|
||||
<command>chmod</command> уникальных прав доступа
|
||||
<literal>755</literal>. Также, как минимум, должна быть опция
|
||||
<literal>start</literal> для запуска приложения и опция
|
||||
<literal>stop</literal> для его остановки.</para>
|
||||
|
||||
<para>Простейший стартовый скрипт, пожалуй, будет похож на
|
||||
следующий:</para>
|
||||
|
||||
<programlisting>#!/bin/sh
|
||||
echo -n ' FooBar'
|
||||
echo -n ' utility'
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
/usr/local/bin/foobar
|
||||
/usr/local/bin/utility
|
||||
;;
|
||||
stop)
|
||||
kill -9 `cat /var/run/foobar.pid`
|
||||
kill -9 `cat /var/run/utility.pid`
|
||||
;;
|
||||
*)
|
||||
echo "Usage: `basename $0` {start|stop}" >&2
|
||||
|
@ -365,57 +404,118 @@ stop)
|
|||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
</programlisting>
|
||||
exit 0</programlisting>
|
||||
|
||||
<para>Стартовые скрипты &os; ищут в каталоге
|
||||
<filename>/usr/local/etc/rc.d</filename> скрипты с расширением
|
||||
<literal>.sh</literal>, исполняемые пользователем
|
||||
<username>root</username>. Обнаруженные скрипты выполняются с
|
||||
с параметром <option>start</option> при старте системы и с параметром
|
||||
<option>stop</option> при завершении работы системы.
|
||||
Поэтому если вы хотите использовать пример скрипта выше и запускать
|
||||
его во время старта системы, сохраните его в каталоге
|
||||
<filename>/usr/local/etc/rc.d</filename> с именем
|
||||
<filename>FooBar.sh</filename> и убедитесь, что он исполняемый.
|
||||
Вы можете сделать скрипт исполняемым с помощью &man.chmod.1;,
|
||||
как показано ниже:</para>
|
||||
<para>Этот скрипт поддерживает опции <literal>stop</literal> и
|
||||
<literal>start</literal> для приложения, которое мы здесь называем
|
||||
просто — <literal>utility</literal>. Для этого приложения
|
||||
затем можно поместить следующую строку в файл <filename>/etc/rc.conf</filename>:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>chmod 755 <replaceable>FooBar.sh</replaceable></userinput></screen>
|
||||
<programlisting>utility_enable="YES"</programlisting>
|
||||
|
||||
<para>Некоторые сервисы должны быть запущены &man.inetd.8; при установке
|
||||
соединения с определённым портом. Это может понадобиться, например,
|
||||
для почтовых серверов (POP, IMAP, и т.д.). Для этого нужно
|
||||
отредактировать файл <filename>/etc/inetd.conf</filename>.
|
||||
Подробнее о работе с этим файлом вы можете прочитать в
|
||||
&man.inetd.8;.</para>
|
||||
<para>А можно запускать его и вручную, с помощью команды:</para>
|
||||
|
||||
<para>Некоторые дополнительные системные сервисы могут быть не учтены
|
||||
в файле <filename>/etc/rc.conf</filename>. Тогда для их запуска нужно
|
||||
прописать соответствующую команду в <filename>/etc/rc.local</filename>.
|
||||
Во &os; 3.1 не предусмотрен <filename>/etc/rc.local</filename>;
|
||||
но считается признаком хорошего тона создание этого файла
|
||||
администратором. Заметьте, что <filename>rc.local</filename>
|
||||
используется для запуска сервисов только в крайнем случае.
|
||||
Если есть лучший способ запустить сервис, используйте его.</para>
|
||||
<screen>&prompt.root; <userinput><filename>/usr/local/etc/rc.d/utility.sh</filename> start</userinput></screen>
|
||||
|
||||
<note><para><emphasis>Не</emphasis> записывайте свои команды в
|
||||
<filename>/etc/rc.conf</filename>. Для запуска демонов, или для
|
||||
выполнения вашей команды во время запуска - запишите ваш скрипт
|
||||
в <filename>/usr/local/etc/rc.d</filename>.</para>
|
||||
</note>
|
||||
<para>Хотя и не все программы сторонних производителей требуют
|
||||
добавления строки в файл <filename>rc.conf</filename>, практически
|
||||
каждый день очередной новый порт меняется так, чтобы поддерживать
|
||||
подобную конфигурацию. Поищите в результатах, выдаваемых после
|
||||
установки более детальную информацию по конкретному приложению.
|
||||
Некоторые программы сторонних производителей будут включать стартовые
|
||||
скрипты, позволяющие использовать приложение с rcNG; но это мы еще
|
||||
обсудим в следующем разделе.</para>
|
||||
|
||||
<para>Также допускается использование &man.cron.8; для запуска системных
|
||||
сервисов. Этот метод обладает рядом преимуществ, которые заключаются не
|
||||
только в том, что &man.cron.8; запускает эти процессы, как владелец
|
||||
<command>crontab</command>, но и в том, что сервисы могут быть
|
||||
запущены и не привилегированными пользователями.</para>
|
||||
<sect2>
|
||||
<title>Расширенное конфигурирование приложения</title>
|
||||
|
||||
<para>Очень удобно пользоваться возможностью
|
||||
&man.cron.8;, которая заключается в том, что если вместо времени
|
||||
указать <literal>@reboot</literal>, запланированная программа будет
|
||||
запущена сразу после запуска &man.cron.8; после перезагрузки
|
||||
системы.</para>
|
||||
<para>Теперь, когда &os; включает rcNG, конфигурирование запуска
|
||||
приложений стало более оптимальным; фактически, оно стало более
|
||||
тщательным. С помощью ключевых слов, рассмотренных в разделе
|
||||
<link linkend="configtuning-rcNG">rcNG</link>, приложения теперь
|
||||
можно настроить для запуска после других заданных сервисов,
|
||||
например, <acronym>DNS</acronym>; можно разрешить передачу
|
||||
дополнительных флагов через <filename>rc.conf</filename> вместо
|
||||
жесткого задания флагов в стартовых скриптах, и т.д. Простой
|
||||
скрипт может иметь следующий вид:</para>
|
||||
|
||||
<programlisting>#!/bin/sh
|
||||
#
|
||||
# PROVIDE: utility
|
||||
# REQUIRE: DAEMON
|
||||
# BEFORE: LOGIN
|
||||
# KEYWORD: FreeBSD shutdown
|
||||
|
||||
#
|
||||
# НЕ МЕНЯЙТЕ ЗДЕСЬ ЭТИ СТАНДАРТНЫЕ ЗНАЧЕНИЯ
|
||||
# ЗАДАВАЙТЕ ИХ В ФАЙЛЕ /etc/rc.conf
|
||||
|
||||
#
|
||||
|
||||
utility_enable=${utility_enable-"NO"}
|
||||
utility_flags=${utility_flags-""}
|
||||
utility_pidfile=${utility_pidfile-"/var/run/utility.pid"}
|
||||
|
||||
. /etc/rc.subr
|
||||
|
||||
name="utility"
|
||||
rcvar=`set_rcvar`
|
||||
command="/usr/local/sbin/utility"
|
||||
|
||||
load_rc_config $name
|
||||
|
||||
pidfile="${utility_pidfile}"
|
||||
|
||||
start_cmd="echo \"Starting ${name}.\"; /usr/bin/nice -5 ${command} ${utility_flags} ${command_args}"
|
||||
|
||||
run_rc_command "$1"</programlisting>
|
||||
|
||||
<para>Этот скрипт будет гарантировать, что указанное приложение
|
||||
<application>utility</application> будет запущено перед сервисом
|
||||
<literal>login</literal>, но после сервиса
|
||||
<literal>daemon</literal>. Он также предоставляет метод
|
||||
для создания и отслеживания файла идентификатора процесса,
|
||||
<acronym>PID</acronym>.</para>
|
||||
|
||||
<para>Этот новый метод также позволяет легко работать с аргументами
|
||||
командной строки, включать стандартные функции из файла
|
||||
<filename>/etc/rc.subr</filename>, обеспечивает совместимость
|
||||
с утилитой &man.rcorder.8; и упрощает конфигурирование с помощью
|
||||
файла <filename>rc.conf</filename>. По сути, этот сценарий
|
||||
можно даже поместить в каталог
|
||||
<filename role="directory">/etc/rc.d</filename>. Это, однако,
|
||||
потенциально может сбить с толку утилиту &man.mergemaster.8;
|
||||
при обновлениях программного обеспечения.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Использование сервисов для запуска сервисов</title>
|
||||
|
||||
<para>Другие сервисы, такие как даемоны сервера
|
||||
<acronym>POP</acronym>3, <acronym>IMAP</acronym>, и т.п. могут
|
||||
быть запущены с помощью &man.inetd.8;. Для этого необходимо
|
||||
установить сервисную утилиту из набора портов и добавить
|
||||
соответствующую строчку конфигурации в файл
|
||||
<filename>/etc/inetd.conf</filename> или раскомментировать
|
||||
подходящую строку конфигурации из уже имеющихся. Работа с даемоном
|
||||
<command>inetd</command> и его конфигурирование подробно описано
|
||||
в разделе <link linkend="network-inetd">inetd</link>.</para>
|
||||
|
||||
<para>В некоторых случаях использование для запуска системных
|
||||
служб даемона &man.cron.8; может оказаться более приемлемым. Этот
|
||||
подход имеет несколько преимуществ, поскольку даемон
|
||||
<command>cron</command> запускает эти процессы от имени
|
||||
владельца файла <command>crontab</command>. Это позволяет
|
||||
обычным пользователям запускать и поддерживать некоторые
|
||||
приложения.</para>
|
||||
|
||||
<para>Утилита <command>cron</command> поддерживает уникальную
|
||||
возможность, <literal>@reboot</literal>, — это значение
|
||||
можно использовать вместо спецификации времени. В результате,
|
||||
задание будет выполнено при запуске &man.cron.8;, обычно —
|
||||
в ходе инициализации системы.</para>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="configtuning-cron">
|
||||
|
@ -564,7 +664,7 @@ HOME=/var/log
|
|||
любимый текстовый редактор: утилита <command>cron</command>
|
||||
узнает о том, что файл изменился и сразу начнет использовать
|
||||
обновленную версию. Обратитесь к <ulink
|
||||
url="../faq/admin.html#ROOT-NOT-FOUND-CRON-ERRORS">этой
|
||||
url="&url.books.faq;/admin.html#ROOT-NOT-FOUND-CRON-ERRORS">этой
|
||||
части FAQ</ulink> за дальнейшей информацией.</para>
|
||||
</important>
|
||||
|
||||
|
@ -938,7 +1038,7 @@ tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500</screen>
|
|||
<literal>active</literal>, т.е. несущая обнаружена.
|
||||
Для <devicename>dc1</devicename>, мы видим
|
||||
<literal>status: no carrier</literal>. Это нормально, когда
|
||||
ethernet кабель не подключен к карте.</para>
|
||||
Ethernet кабель не подключен к карте.</para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
|
||||
|
@ -1063,8 +1163,8 @@ round-trip min/avg/max/stddev = 0.700/0.729/0.766/0.025 ms</screen>
|
|||
низкой скорости соединения.</para>
|
||||
|
||||
<para>Некоторые пользователи встречаются с несколькими
|
||||
<quote>device timeouts</quote>, что нормально для некоторых сетевых
|
||||
карт. Если это продолжается и надоедает, убедитесь, что
|
||||
<errorname>device timeouts</errorname>, что нормально для некоторых
|
||||
сетевых карт. Если это продолжается и надоедает, убедитесь, что
|
||||
устройство не конфликтует с другим устройством. Внимательно
|
||||
проверьте подключение кабеля. Возможно также, что вам просто надо
|
||||
установить другую карту.</para>
|
||||
|
@ -1112,25 +1212,28 @@ round-trip min/avg/max/stddev = 0.700/0.729/0.766/0.025 ms</screen>
|
|||
один сервер работает в сети как несколько серверов. Это достигается
|
||||
присвоением нескольких сетевых адресов одному интерфейсу.</para>
|
||||
|
||||
<para>У сетевого интерфейса всегда есть один <quote>настоящий</quote> адрес, хотя он
|
||||
может иметь любое количество <quote>синонимов</quote> (alias). Эти алиасы обычно
|
||||
добавляются путём помещения синонимов в
|
||||
<filename>/etc/rc.conf</filename>.</para>
|
||||
<para>У сетевого интерфейса всегда есть один <quote>настоящий</quote>
|
||||
адрес, хотя он может иметь любое количество <quote>синонимов</quote>
|
||||
(alias). Эти синонимы обычно добавляются путём помещения
|
||||
соответствующих записей в <filename>/etc/rc.conf</filename>.</para>
|
||||
|
||||
<para>Синоним для интерфейса <devicename>fxp0</devicename> выглядит
|
||||
следующим образом:</para>
|
||||
|
||||
<programlisting>ifconfig_fxp0_alias0="inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx"</programlisting>
|
||||
|
||||
<para>Заметьте, что алиас записи должны начинаться с alias0 и идти далее
|
||||
в определенном порядке, (например, _alias1, _alias2, и т.д.).
|
||||
Конфигурационный процесс остановится на первом отсутствующем по порядку
|
||||
числе.</para>
|
||||
<para>Заметьте, что записи синонимов должны начинаться с
|
||||
<literal>alias0</literal> и идти далее в определенном порядке
|
||||
(например, <literal>_alias1</literal>, <literal>_alias2</literal>,
|
||||
и т.д.). Конфигурационный процесс остановится на первом по порядку
|
||||
отсутствующем числе.</para>
|
||||
|
||||
<para>Определение маски подсети для синонима очень важно, но к счастью, так же
|
||||
просто. Для каждого интерфейса должен быть один адрес с истинной маской
|
||||
подсети. Любой другой адрес в сети должен иметь маску подсети, состоящую
|
||||
из всех единичек.</para>
|
||||
<para>Определение маски подсети для синонима очень важно, но к счастью,
|
||||
так же просто. Для каждого интерфейса должен быть один адрес с
|
||||
истинной маской подсети. Любой другой адрес в сети должен иметь
|
||||
маску подсети, состоящую из всех единичек (что выражается как
|
||||
<hostid role="netmask">255.255.255.255</hostid> или как
|
||||
<hostid role="netmask">0xffffffff</hostid>).</para>
|
||||
|
||||
<para>Например, рассмотрим случай, когда интерфейс
|
||||
<devicename>fxp0</devicename> подключён к двум сетям, к сети
|
||||
|
@ -1142,7 +1245,16 @@ round-trip min/avg/max/stddev = 0.700/0.729/0.766/0.025 ms</screen>
|
|||
<hostid role="ipaddr">10.1.1.1</hostid> по
|
||||
<hostid role="ipaddr">10.1.1.5</hostid> и с
|
||||
<hostid role="ipaddr">202.0.75.17</hostid> по
|
||||
<hostid role="ipaddr">202.0.75.20</hostid>.</para>
|
||||
<hostid role="ipaddr">202.0.75.20</hostid>. Как было сказано выше,
|
||||
только первый адрес в заданном диапазоне (в данном случае,
|
||||
<hostid role="ipaddr">10.0.1.1</hostid> и
|
||||
<hostid role="ipaddr">202.0.75.17</hostid>) должен иметь реальную
|
||||
маску сети; все остальные (с <hostid role="ipaddr">10.1.1.2</hostid>
|
||||
по <hostid role="ipaddr">10.1.1.5</hostid> и с
|
||||
<hostid role="ipaddr">202.0.75.18</hostid> по
|
||||
<hostid role="ipaddr">202.0.75.20</hostid>) должны быть
|
||||
сконфигурированы с маской сети
|
||||
<hostid role="netmask">255.255.255.255</hostid>.</para>
|
||||
|
||||
<para>Для этого должны быть внесены следующие записи:</para>
|
||||
|
||||
|
@ -1168,6 +1280,9 @@ round-trip min/avg/max/stddev = 0.700/0.729/0.766/0.025 ms</screen>
|
|||
|
||||
<informaltable frame="none">
|
||||
<tgroup cols="2">
|
||||
<colspec colwidth="1*">
|
||||
<colspec colwidth="2*">
|
||||
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><filename>/etc</filename></entry>
|
||||
|
@ -1238,6 +1353,9 @@ round-trip min/avg/max/stddev = 0.700/0.729/0.766/0.025 ms</screen>
|
|||
|
||||
<informaltable frame="none">
|
||||
<tgroup cols="2">
|
||||
<colspec colwidth="1*">
|
||||
<colspec colwidth="2*">
|
||||
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><literal>nameserver</literal></entry>
|
||||
|
@ -1277,7 +1395,7 @@ nameserver 147.11.100.30</programlisting>
|
|||
<title><filename>/etc/hosts</filename></title>
|
||||
|
||||
<indexterm><primary>hosts</primary></indexterm>
|
||||
|
||||
|
||||
<para><filename>/etc/hosts</filename> - простая текстовая база
|
||||
данных, напоминающая старый Интернет. Она работает совместно с
|
||||
DNS и NIS, сопоставляя доменные имена IP адресу.
|
||||
|
@ -1319,7 +1437,7 @@ nameserver 147.11.100.30</programlisting>
|
|||
#</programlisting>
|
||||
|
||||
<para>Формат <filename>/etc/hosts</filename>:</para>
|
||||
|
||||
|
||||
<programlisting>[IP адрес в Интернете] [имя компьютера] [alias1] [alias2] ...</programlisting>
|
||||
|
||||
<para>Например:</para>
|
||||
|
@ -1337,9 +1455,9 @@ nameserver 147.11.100.30</programlisting>
|
|||
|
||||
<sect3>
|
||||
<title><filename>syslog.conf</filename></title>
|
||||
|
||||
|
||||
<indexterm><primary>syslog.conf</primary></indexterm>
|
||||
|
||||
|
||||
<para><filename>syslog.conf</filename> is является файлом конфигурации
|
||||
для &man.syslogd.8;. В нём указываются, типы сообщений
|
||||
генерируемые <command>syslog</command>, и лог файлы, в которые они
|
||||
|
@ -1385,7 +1503,7 @@ cron.* /var/log/cron
|
|||
<title><filename>newsyslog.conf</filename></title>
|
||||
|
||||
<indexterm><primary>newsyslog.conf</primary></indexterm>
|
||||
|
||||
|
||||
<para><filename>newsyslog.conf</filename> - конфигурационный файл
|
||||
&man.newsyslog.8;, программы, обычно контролируемой &man.cron.8;.
|
||||
&man.newsyslog.8; определяет, когда лог-файлы нуждаются в
|
||||
|
@ -1402,7 +1520,7 @@ cron.* /var/log/cron
|
|||
они должны быть пересмотрены. Лог файлы могут быть перегруппированы
|
||||
и/или заархивированы, когда они либо достигнут определённого
|
||||
размера, либо при достижении определённых даты/времени.</para>
|
||||
|
||||
|
||||
<programlisting># configuration file for newsyslog
|
||||
# $&os;$
|
||||
#
|
||||
|
@ -1489,7 +1607,7 @@ kern.maxfiles: 2088 -> 5000</screen>
|
|||
либо строкового, либо целого, либо булевого типа. Переменные булевого
|
||||
типа могут принимать два значения (<literal>1</literal> (истина) и
|
||||
<literal>0</literal> (ложь)).</para>
|
||||
|
||||
|
||||
<para>Если вы хотите устанавливать некоторые переменные автоматически
|
||||
при каждой загрузке компьютера, добавьте их в файл
|
||||
<filename>/etc/sysctl.conf</filename>. За дополнительной
|
||||
|
@ -1546,22 +1664,24 @@ device_probe_and_attach: cbb0 attach returned 12</screen>
|
|||
<indexterm>
|
||||
<primary><varname>vfs.vmiodirenable</varname></primary>
|
||||
</indexterm>
|
||||
|
||||
|
||||
<para>Значением переменной <varname>vfs.vmiodirenable</varname>
|
||||
может быть установлено в 0 (выключено) или 1 (включено); по
|
||||
умолчанию 1. Эта переменная отвечает за метод кэширования
|
||||
каталогов. Размер большинства каталогов невелик. Они могут
|
||||
поместиться в одном фрагменте (обычно 1K), и могут занимать
|
||||
ещё меньше места (обычно 512 байт) в кэше буфера. Однако, при
|
||||
работе в стандартном режиме буфер прокэширует только заданное число
|
||||
каталогов даже если у вас много памяти. Включение этого параметра
|
||||
ещё меньше места (обычно 512 байт) в кэше буфера.
|
||||
При отключении этой переменной (при установке значения 0)
|
||||
буфер прокэширует только заданное число
|
||||
каталогов даже если у вас много памяти. При включении (при
|
||||
установке значения 1) эта переменная
|
||||
sysctl позволит использовать страничное кэширование VM,
|
||||
делая доступным для кэширования каталогов
|
||||
весь объём памяти. Однако,
|
||||
минимальный объём памяти, используемой для
|
||||
кэширования каталогов стал равен объёму страницы (обычно 4 K)
|
||||
вместо 512 байт. Мы рекомендуем включить эту опцию, если ваш
|
||||
компьютер исполняет программы, манипулирующие значительным
|
||||
вместо 512 байт. Мы рекомендуем оставлять эту опцию включенной,
|
||||
если ваш компьютер исполняет программы, манипулирующие значительным
|
||||
количеством файлов. Примером таких программ могут быть кэширующие
|
||||
прокси-серверы, большие почтовые серверы и серверы новостей. Обычно
|
||||
включение этой опции не понижает производительности, однако лучше
|
||||
|
@ -1606,7 +1726,7 @@ device_probe_and_attach: cbb0 attach returned 12</screen>
|
|||
|
||||
<para>Есть много других переменных sysctl, относящихся к кэшированию
|
||||
в буфер и страничному кэшированию VM. Мы не рекомендуем изменять
|
||||
эти значения. Начиная &os; 4.3, система VM делает отличную
|
||||
эти значения. Начиная &os; 4.3, система VM делает отличную
|
||||
работу по автоматической самонастройке.</para>
|
||||
</sect3>
|
||||
|
||||
|
@ -1662,25 +1782,25 @@ device_probe_and_attach: cbb0 attach returned 12</screen>
|
|||
ядра, равное 1. Это должно быть сделано при помощи загрузчика при
|
||||
загрузке. Если вы сделаете это позже - изменения не будут иметь
|
||||
силы.</para>
|
||||
|
||||
|
||||
<para>За более подробной информацией обращайтесь к &man.ata.4;.</para>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title><option>SCSI_DELAY</option>
|
||||
<title><literal>SCSI_DELAY</literal>
|
||||
(<varname>kern.cam.scsi_delay</varname>)</title>
|
||||
|
||||
<indexterm>
|
||||
<primary><option>SCSI_DELAY</option></primary>
|
||||
<primary><literal>SCSI_DELAY</literal></primary>
|
||||
<secondary><varname>kern.cam.scsi_delay</varname></secondary>
|
||||
</indexterm>
|
||||
|
||||
<para>Параметр настройки ядра <option>SCSI_DELAY</option> может
|
||||
<para>Параметр настройки ядра <literal>SCSI_DELAY</literal> может
|
||||
использоваться для уменьшения времени загрузки системы.
|
||||
Значение по умолчанию велико и может составлять более
|
||||
<literal>15</literal> секунд в процессе загрузки. Уменьшение
|
||||
его до <literal>5</literal> секунд обычно работает (особенно
|
||||
с современными дисками). В новые версии &os; (5.0+) должен
|
||||
с современными дисками). В новых версиях &os; (5.0 и выше) должен
|
||||
использоваться параметр <varname>kern.cam.scsi_delay</varname>,
|
||||
настраиваемый во время загрузки. Этот параметр и параметр
|
||||
настройки ядра принимают значения в
|
||||
|
@ -1879,7 +1999,7 @@ device_probe_and_attach: cbb0 attach returned 12</screen>
|
|||
<indexterm>
|
||||
<primary><varname>kern.maxfiles</varname></primary>
|
||||
</indexterm>
|
||||
|
||||
|
||||
<para>Значение <varname>kern.maxfiles</varname> может быть увеличено
|
||||
или уменьшено в зависимости от потребностей вашей системы. Эта
|
||||
переменная определяет максимальное число дескрипторов файлов. Когда
|
||||
|
@ -1935,7 +2055,7 @@ device_probe_and_attach: cbb0 attach returned 12</screen>
|
|||
<sect2>
|
||||
<title>Сетевые Ограничения</title>
|
||||
|
||||
<para>Опция ядра <option>NMBCLUSTERS</option> обуславливает
|
||||
<para>Опция ядра <literal>NMBCLUSTERS</literal> обуславливает
|
||||
количество Mbuf, доступных на машине. На сервере с большим трафиком
|
||||
и маленьким Mbuf производительность будет пониженной. Каждый кластер
|
||||
представлен двумя килобайтами памяти, поэтому значение 1024 означает
|
||||
|
@ -1955,16 +2075,16 @@ device_probe_and_attach: cbb0 attach returned 12</screen>
|
|||
<para>Для настройки в процессе загрузки используйте в loader переменную
|
||||
<varname>kern.ipc.nmbclusters</varname>. Только в старых версиях
|
||||
&os; потребуется пересобрать ядро (&man.config.8;) с измененным
|
||||
параметром <option>NMBCLUSTERS</option>.</para>
|
||||
параметром <literal>NMBCLUSTERS</literal>.</para>
|
||||
|
||||
<para>Для нагруженных серверов, интенсивно использующих системный
|
||||
вызов &man.sendfile.2;, может потребоваться увеличения буферов
|
||||
&man.sendfile.2; с помощью параметра конфигурации ядра
|
||||
<option>NSFBUFS</option>, или изменения значения путем установки
|
||||
<literal>NSFBUFS</literal>, или изменения значения путем установки
|
||||
переменной в <filename>/boot/loader.conf</filename>
|
||||
(обратитесь к &man.loader.8; за подробностями). Общий
|
||||
признак того, что параметр требуется изменить —
|
||||
состояние процессов <errorname>sfbufa</errorname>.
|
||||
состояние процессов <literal>sfbufa</literal>.
|
||||
Переменная sysctl <varname>kern.ipc.nsfbufs</varname>
|
||||
установлена только для чтения. Этот параметр увеличивается
|
||||
вместе с <varname>kern.maxusers</varname>, хотя может
|
||||
|
@ -2020,7 +2140,7 @@ device_probe_and_attach: cbb0 attach returned 12</screen>
|
|||
</indexterm>
|
||||
|
||||
<para>TCP Bandwidth Delay Product Limiting похоже на
|
||||
TCP/Vegas в <application>NetBSD</application>. Оно может быть
|
||||
TCP/Vegas в NetBSD. Оно может быть
|
||||
включено установкой переменной sysctl
|
||||
<varname>net.inet.tcp.inflight_enable</varname> в
|
||||
<literal>1</literal>. Система попытается вычислить задержку
|
||||
|
@ -2083,10 +2203,8 @@ device_probe_and_attach: cbb0 attach returned 12</screen>
|
|||
<para>Лучший способ добавить подкачку, конечно, использовать
|
||||
еще один жесткий диск. Вы можете сделать это в любой
|
||||
момент. Если такой способ подходит, прочтите еще раз
|
||||
информацию по <ulink
|
||||
url="configtuning-initial.html#SWAP-DESIGN">разделу
|
||||
подкачки</ulink> из раздела Руководства по <ulink
|
||||
url="configtuning-initial.html">первоначальной настройке</ulink>,
|
||||
информацию по пространству подкачки в разделе
|
||||
<xref linkend="configtuning-initial"> Руководства,
|
||||
где рассказывается о наилучшем способе организации раздела
|
||||
подкачки.</para>
|
||||
</sect2>
|
||||
|
@ -2273,7 +2391,7 @@ device_probe_and_attach: cbb0 attach returned 12</screen>
|
|||
происходят вне контроля OS. Это означает, что пользователи
|
||||
могут решить проблемы с APM BIOS только путем перепрошивки
|
||||
его ROM; это очень опасная процедура, и если она завершится
|
||||
неудачно, система может прийти в невосстановимое состояние.
|
||||
неудачно, система может оказаться в невосстановимом состоянии.
|
||||
В-третьих, реализация технологии APM зависит от поставщика,
|
||||
что означает дублирование усилий и если в BIOS одного
|
||||
из поставщиков будет найдена и исправлена ошибка, ее могли
|
||||
|
@ -2281,7 +2399,7 @@ device_probe_and_attach: cbb0 attach returned 12</screen>
|
|||
велик для реализации сложной политики управления питанием, или
|
||||
такой политики, которая может хорошо адаптироваться к потребностям
|
||||
компьютера.</para>
|
||||
|
||||
|
||||
<para><emphasis>Plug and Play BIOS (PNPBIOS)</emphasis> был неудобен
|
||||
во многих ситуациях. PNPBIOS это 16-битная технология,
|
||||
поэтому OS требовалось использовать 16-битную эмуляцию для
|
||||
|
@ -2362,7 +2480,7 @@ device_probe_and_attach: cbb0 attach returned 12</screen>
|
|||
в байткоде <firstterm><acronym>ACPI</acronym> Machine
|
||||
Language</firstterm> (<acronym>AML</acronym>) некоторых материнских плат,
|
||||
незавершенные участки кода в подсистемах ядра &os; и ошибки в
|
||||
интерпретаторе <acronym>ACPI-CA</acronym>.</para>
|
||||
интерпретаторе &intel; <acronym>ACPI-CA</acronym>.</para>
|
||||
|
||||
<para>Этот раздел предназначен для того, чтобы упростить ваше
|
||||
содействие разработчикам &os; <acronym>ACPI</acronym> в
|
||||
|
@ -2395,13 +2513,13 @@ device_probe_and_attach: cbb0 attach returned 12</screen>
|
|||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Вывод dmesg после <quote>boot
|
||||
<para>Вывод &man.dmesg.8; после <quote>boot
|
||||
<option>-v</option></quote>, включая все сообщения, появившиеся
|
||||
при изучении ошибки.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Вывод dmesg после <quote>boot
|
||||
<para>Вывод &man.dmesg.8; после <quote>boot
|
||||
<option>-v</option></quote> с выключенным <acronym>ACPI</acronym>,
|
||||
если его отключение помогает решить проблему.</para>
|
||||
</listitem>
|
||||
|
@ -2473,7 +2591,7 @@ device_probe_and_attach: cbb0 attach returned 12</screen>
|
|||
<para>Драйвер <acronym>ACPI</acronym> должен прочесть заданные
|
||||
таблицы, реализовать интерпретатор для байткода, модифицировать
|
||||
драйвера устройств и ядро для приема информации от подсистемы
|
||||
<acronym>ACPI</acronym>. Для &os;, Intel предоставила
|
||||
<acronym>ACPI</acronym>. Для &os; &intel; предоставила
|
||||
интерпретатор (<acronym>ACPI-CA</acronym>), тот же что для
|
||||
Linux и NetBSD. Исходный код <acronym>ACPI-CA</acronym>
|
||||
находится в каталоге
|
||||
|
@ -2670,7 +2788,8 @@ device_probe_and_attach: cbb0 attach returned 12</screen>
|
|||
ошибочного!) байткода. Это обычно проявляется появлением
|
||||
консольных сообщений ядра, подобных этому:</para>
|
||||
|
||||
<screen>ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.LPC0.FIGD._STA] (Node 0xc3f6d160), AE_NOT_FOUND</screen>
|
||||
<screen>ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.LPC0.FIGD._STA] \\
|
||||
(Node 0xc3f6d160), AE_NOT_FOUND</screen>
|
||||
|
||||
<para>Зачастую вы можете разрешить эти проблемы путем обновления
|
||||
<acronym>BIOS</acronym> до последней ревизии. Большинство консольных
|
||||
|
|
Loading…
Reference in a new issue