From 06c29b851c674600b2fa0a3138113e74f52f97f0 Mon Sep 17 00:00:00 2001 From: nnz1024 <0comffdiz@inbox.ru> Date: Mon, 26 Aug 2013 18:44:00 +0400 Subject: [PATCH] Version v15.6 (2013-08-26 18:44) [AUTO] --- s4a.tex | 75 ++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 45 insertions(+), 30 deletions(-) diff --git a/s4a.tex b/s4a.tex index 698cb28..40d4cf1 100644 --- a/s4a.tex +++ b/s4a.tex @@ -3999,17 +3999,18 @@ CPUShares=1500 основного файла. Все вышесказанное относится и к другим примерам из этого раздела.}. Сохраняем файл, приказываем systemd перечитать конфигурацию, и перезапускаем Apache, чтобы настройки вступили в силу\footnote{Прим. перев.: -systemd версий до 197 включительно, не~поддерживает изменение параметров -контрольных групп без перезапуска службы. Но вы можете узнать контрольную группу -службы командой наподобие +systemctl show -p ControlGroup avahi-daemon.service+, -и выполнить настройки любым удобным для вас способом, например, через запись -значений в псевдофайлы cgroupfs (разумеется, при следующем запуске службы к ней -будут применены параметры, указанные в конфигурационном файле). Начиная с -systemd 198, в программу +systemctl+ добавлена поддержка команд -+set-cgroup-attr+, +unset-cgroup-attr+ и +get-cgroup-attr+, позволяющих -манипулировать практически всеми параметрами контрольных групп. При этом -поддерживается сохранение установленных таким образом параметров в виде -вспомогательных конфигурационных файлов в +.d+-каталогах (см. примечание +systemd версий до 197 включительно, не~имел штатного механизма для изменения +параметров контрольных групп <<на лету>> (без перезапуска службы). Но вы можете +узнать контрольную группу службы командой наподобие ++systemctl show -p ControlGroup avahi-daemon.service+, и выполнить настройки +любым удобным для вас способом, например, через запись значений в псевдофайлы +cgroupfs (разумеется, при следующем запуске службы к ней будут применены +параметры, указанные в конфигурационном файле). В версиях systemd со 198 по 204, +в программе +systemctl+ поддерживались команды +set-cgroup-attr+, ++unset-cgroup-attr+ и +get-cgroup-attr+, позволявшие манипулировать практически +всеми параметрами контрольных групп. Начиная с systemd 205, они были заменены +командой +set-property+. Установленных таким образом параметры сохраняются во +вспомогательных конфигурационных файлах в +.d+-каталогах (см. примечание выше).}: \begin{Verbatim} systemctl daemon-reload @@ -4138,11 +4139,16 @@ BlockIOReadBandwith=/var/log 5M недостаточно~--- допустим, вам нужно задать низкоуровневую настройку cgroups, для которой мы (пока) не~добавили высокоуровневого аналога. На этот случай мы предусмотрели универсальных механизм задания таких опций в конфигурационных -файлах юнитов. Рассмотрим, например, задание для службы параметра -\emph{swappiness} (относительная интенсивность использования подкачки для -процессов службы). В systemd нет высокоуровневой настройки для этого значения. -Однако вы можете задать его, используя низкоуровневую настройку -+ControlGroupAttribute=+: +файлах юнитов\footnote{Прим. перев.: Описываемый механизм управления +низкоуровневыми настройками контрольных групп (+ControlGroupAttribute=+) +присутствовал в systemd до 204 версии включительно. Начиная с версии 205, он был +удален по требованию разработчиков cgroups. Также были удалены возможности +напрямую задавать для юнита контрольную группу (+ControlGroup=+) и устанавливать +права доступа для управления группами (+ControlGroupModify=+).}. Рассмотрим, +например, задание для службы параметра \emph{swappiness} (относительная +интенсивность использования подкачки для процессов службы). В systemd нет +высокоуровневой настройки для этого значения. Однако вы можете задать его, +используя низкоуровневую настройку +ControlGroupAttribute=+: \begin{Verbatim} .include /usr/lib/systemd/system/httpd.service @@ -4624,7 +4630,7 @@ systemd, начиная с версии 197. Тем не~менее, наша р \section{FAQ (часто задаваемые вопросы)\sfnote{Перевод статьи <<\href{http://www.freedesktop.org/wiki/Software/systemd/FrequentlyAskedQuestions}% {Frequently Asked Questions}>> с официального сайта проекта, по состоянию на -2013-01-15 16:59:29 (ревизия \No29).}} +2013-05-26 08:17:02 (коммит 8cf2b).}} Также смотрите статью \href{http://www.freedesktop.org/wiki/Software/systemd/TipsAndTricks}{Tips \& @@ -4654,7 +4660,9 @@ Tricks}\footnote{Прим. перев.: На самом деле, смотрет \qna{Как изменить уровень выполнения, в который система грузится по умолчанию?} Соответствующее целевое состояние задается символьной ссылкой +/etc/systemd/system/default.target+. Для его смены достаточно перезаписать эту -ссылку. Например, так: +ссылку\footnote{Прим. перев.: Начиная с systemd 205, в программу +systemctl+ +были добавлены команды +set-default+ и +get-default+, упрощающие подобные +действия, например, +systemctl set-default multi-user.target+.}. Например, так: \begin{Verbatim} # ln -sf /usr/lib/systemd/system/multi-user.target /etc/systemd/system/default.target \end{Verbatim} @@ -4896,8 +4904,8 @@ $ systemd --test --system --unit=foobar.target \section{Диагностика неполадок\sfnote{Перевод статьи <<\href{http://freedesktop.org/wiki/Software/systemd/Debugging}{Debugging -systemd Problems}>> с официального сайта проекта, по состоянию на 2013-01-08 -19:13:31 (ревизия \No26).}} +systemd Problems}>> с официального сайта проекта, по состоянию на 2013-05-26 +08:34:30 (коммит 10ae3).}} \subsection{Диагностика проблем с загрузкой} @@ -5227,7 +5235,7 @@ systemctl dump > systemd-dump.txt \section{Совместимость с SysV\sfnote{Перевод статьи <<\href{http://www.freedesktop.org/wiki/Software/systemd/Incompatibilities}% {Compatibility with SysV}>> с официального сайта проекта, по -состоянию на 2013-01-11 19:04:14 (ревизия \No26).}} +состоянию на 2013-05-18 08:20:25 (коммит fa003).}} systemd обеспечивает высокий уровень совместимости с поведением классической системы инициализации SysV init, реализованной во многих дистрибутивах. Это @@ -5363,7 +5371,7 @@ API для скриптов. Тем не~менее, существует ряд \section{Предсказуемые имена сетевых интерфейсов\sfnote{Перевод статьи <<\href{http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames}% {Predictable Network Interface Names}>> с официального сайта проекта, по -состоянию на 2013-01-22 20:22:48 (ревизия \No27).}} +состоянию на 2013-05-22 08:55:30 (коммит dc0a2).}} Начиная с версии 197, systemd/udev присваивает сетевым интерфейсам (Ethernet, WLAN, WWAN\footnote{Прим. перев.: WWAN (Wireless Wide Area Network)~--- @@ -5519,6 +5527,10 @@ cp /usr/lib/udev/rules.d/80-net-name-slot.rules /etc/udev/rules.d/80-net-name-sl после чего измените его так, как считаете нужным. \end{enumerate} +Кроме того, начиная с systemd версии 199, поддерживается параметр загрузки ++net.ifnames=0+, позволяющий отключить механизм предсказуемых имен (указание его +в конфигурации загрузчика эквивалентно первому из вышеперечисленных вариантов). + \subsection{Как именно работает новая схема?} Подробности технической реализации описаны в блоке комментариев в @@ -5526,7 +5538,7 @@ cp /usr/lib/udev/rules.d/80-net-name-slot.rules /etc/udev/rules.d/80-net-name-sl {исходном коде net-id built-in}. Ознакомьтесь с ним, если у вас возникают вопросы, касающиеся расшифровки новых имен\footnote{Прим. перев.: Далее приводится перевод упомянутого блока комментариев. Последним коммитом, -затронувшим данный файл, на момент перевода является b92be от 24 марта +затронувшим данный файл, на момент перевода является a4bbe от 8 июля 2013 г.}. \begin{Verbatim} @@ -5545,13 +5557,16 @@ cp /usr/lib/udev/rules.d/80-net-name-slot.rules /etc/udev/rules.d/80-net-name-sl o -- для устройств, встроенных в материнскую плату s[f][d] -- для hotplug-слотов x -- при именовании по MAC-адресу - ps[f][d] -- на основании физического + [P]ps[f][d] -- на основании физического расположения PCI-устройства - ps[f][u][..][c][i] + [P]ps[f][u][..][c][i] -- идентификационная цепочка для USB-устройств Все многофункциональные (multi-function) PCI-устройства содержат в своем имени -номер функции [f] (отсчитываются от нуля). +номер функции "f" (отсчитываются от нуля). + +При именовании по расположению устройства, индекс PCI-домена "P" +указывается только в том случае, если он отличен от нулевого. Для USB-устройства формируется полная цепочка номеров портов хабов, через которые оно подключено. Если итоговая строка будет длиннее 15 символов, она @@ -5598,8 +5613,8 @@ Multi-function PCI устройство с двумя портами: \section{Специальные файловые системы\sfnote{Перевод статьи <<\href{http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems}{API -File Systems}>> с официального сайта проекта, по состоянию на 2013-01-17 -11:06:59 (ревизия \No14).}} +File Systems}>> с официального сайта проекта, по состоянию на 2013-05-26 +08:37:25 (коммит 6a93f).}} \label{sec:apifs} \yousaywtfsk{Итак, вы запустили программу mount(8), и увидели в ее выводе @@ -5709,7 +5724,7 @@ systemctl mask tmp.mount \section{Запуск служб после появления сети\sfnote{Перевод статьи <<\href{http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget}{Running Services After the Network is up}>> с официального сайта проекта, по состоянию -на 2013-01-17 23:22:58 (ревизия \No17).}} +на 2013-07-16 15:16:55 (коммит 8b44c).}} \label{sec:networktarget} \yousaywtfsk{Итак, ваша служба настроена на запуск только после достижения цели @@ -5860,7 +5875,7 @@ service-файл, запускающий любую заданную вами п \section{Моя служба не~может получить приоритет realtime\sfnote{Перевод статьи <<\href{http://www.freedesktop.org/wiki/Software/systemd/MyServiceCantGetRealtime}% {My Service Can't Get Realtime!}>> с официального сайта проекта, по состоянию на -2013-01-15 16:54:09 (ревизия \No1).}} +2013-05-18 08:20:36 (коммит 2f77b).}} \label{sec:realtime} \yousaywtf{Итак, у вас есть служба, которая требует приоритет реального времени