Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
84177721df | ||
|
|
06c29b851c |
153
s4a.tex
153
s4a.tex
@@ -2662,8 +2662,9 @@ Linux уже очень давно, но при этом практически
|
|||||||
простыми в использовании, чтобы заинтересовать администраторов и апстримных
|
простыми в использовании, чтобы заинтересовать администраторов и апстримных
|
||||||
разработчиков. Вот краткий перечень наиболее интересных
|
разработчиков. Вот краткий перечень наиболее интересных
|
||||||
возможностей\footnote{Прим. перев.: В приведенном здесь списке не~упомянута
|
возможностей\footnote{Прим. перев.: В приведенном здесь списке не~упомянута
|
||||||
встроенная в systemd поддержка фильтров seccomp, так как она была добавлена уже
|
встроенная в systemd поддержка фильтров seccomp (опция +SystemCallFilter=+),
|
||||||
после написания исходной статьи.}:
|
так как она была добавлена уже после написания исходной статьи, в выпуске
|
||||||
|
systemd 187.}:
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Изолирование служб от сети
|
\item Изолирование служб от сети
|
||||||
\item Предоставление службам независимых каталогов +/tmp+
|
\item Предоставление службам независимых каталогов +/tmp+
|
||||||
@@ -2674,9 +2675,11 @@ Linux уже очень давно, но при этом практически
|
|||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
Все эти опции описаны в man-страницах systemd, главным образом, в
|
Все эти опции описаны в man-страницах systemd, главным образом, в
|
||||||
\href{http://0pointer.de/public/systemd-man/systemd.exec.html}{systemd.exec(5)}.
|
\href{http://0pointer.de/public/systemd-man/systemd.exec.html}{systemd.exec(5)}%
|
||||||
Если вам потребуются какие-либо уточнения, пожалуйста, обратитесь к этим
|
\footnote{Прим. перев.: Начиная с systemd версии 206, значительная часть
|
||||||
страницам.
|
обсуждаемых здесь настроек вынесена в отдельную страницу
|
||||||
|
\href{http://0pointer.de/public/systemd-man/systemd.cgroup.html}{systemd.cgroup(5)}%
|
||||||
|
.}. Если вам потребуется дополнительная информация, вы можете обратиться к ним.
|
||||||
|
|
||||||
Все эти опции доступны на системах с systemd, вне зависимости от использования
|
Все эти опции доступны на системах с systemd, вне зависимости от использования
|
||||||
SELinux или любой другой реализации MAC.
|
SELinux или любой другой реализации MAC.
|
||||||
@@ -3338,8 +3341,8 @@ StartLimitAction=reboot-force
|
|||||||
Да, и еще: если у вас возникнет вопрос, имеется ли в вашей системе аппаратный
|
Да, и еще: если у вас возникнет вопрос, имеется ли в вашей системе аппаратный
|
||||||
таймер~--- скорее всего да, если ваш компьютер не~очень старый. Чтобы получить
|
таймер~--- скорее всего да, если ваш компьютер не~очень старый. Чтобы получить
|
||||||
точный ответ, вы можете воспользоваться утилитой
|
точный ответ, вы можете воспользоваться утилитой
|
||||||
\href{http://karelzak.blogspot.de/2012/05/eject1-sulogin1-wdctl1.html}{wdctl},
|
\hreftt{http://karelzak.blogspot.de/2012/05/eject1-sulogin1-wdctl1.html}{wdctl},
|
||||||
включенной в последний релиз util-linux\footnote{Прим. перев.: Утилита wdctl
|
включенной в последний релиз util-linux\footnote{Прим. перев.: Утилита +wdctl+
|
||||||
присутствует в util-linux, начиная с версии~2.22, которая, на~момент написания
|
присутствует в util-linux, начиная с версии~2.22, которая, на~момент написания
|
||||||
этих строк, еще не~вышла.}. Эта программа выведет всю необходимую
|
этих строк, еще не~вышла.}. Эта программа выведет всю необходимую
|
||||||
информацию о вашем аппаратном сторожевом таймере.
|
информацию о вашем аппаратном сторожевом таймере.
|
||||||
@@ -3499,7 +3502,7 @@ getty\footnote{Отметим, что +systemctl enable+ \emph{для экзем
|
|||||||
/etc/systemd/system/getty.target.wants/serial-getty@ttyS2.service ; systemctl
|
/etc/systemd/system/getty.target.wants/serial-getty@ttyS2.service ; systemctl
|
||||||
daemon-reload}.}\footnote{\label{ftn:enableserial}Прим. перев.: На самом деле,
|
daemon-reload}.}\footnote{\label{ftn:enableserial}Прим. перев.: На самом деле,
|
||||||
работать с символьными ссылками придется даже в современных версиях systemd (на
|
работать с символьными ссылками придется даже в современных версиях systemd (на
|
||||||
момент написания этих строк, последней является версия 204), так как
|
момент написания этих строк, последней является версия 206), так как
|
||||||
разработчики забыли включить в файл +serial-getty@.service+ секцию +[Install]+,
|
разработчики забыли включить в файл +serial-getty@.service+ секцию +[Install]+,
|
||||||
в результате чего попытка выполнения +systemctl enable+ для экземпляра
|
в результате чего попытка выполнения +systemctl enable+ для экземпляра
|
||||||
соответствующей службы ведет к закономерной ошибке. Впрочем, исправить это
|
соответствующей службы ведет к закономерной ошибке. Впрочем, исправить это
|
||||||
@@ -3617,7 +3620,7 @@ Journal был включен в Fedora начиная с F17. В Fedora~18 jour
|
|||||||
\item Все отметки времени сформированы с учетом вашего часового пояса.
|
\item Все отметки времени сформированы с учетом вашего часового пояса.
|
||||||
\item Для навигации по тексту используется просмотрщик (pager), по
|
\item Для навигации по тексту используется просмотрщик (pager), по
|
||||||
умолчанию +less+\footnote{Прим. перев.: В инструментах systemd,
|
умолчанию +less+\footnote{Прим. перев.: В инструментах systemd,
|
||||||
включая journalctl, просмотрщик включается только при прямом
|
включая +journalctl+, просмотрщик включается только при прямом
|
||||||
выводе на экран, и отключается при перенаправлении вывода в файл
|
выводе на экран, и отключается при перенаправлении вывода в файл
|
||||||
или передаче его по каналу (shell pipe).}.
|
или передаче его по каналу (shell pipe).}.
|
||||||
\item Выводятся \emph{все} доступные данные, включая информацию из
|
\item Выводятся \emph{все} доступные данные, включая информацию из
|
||||||
@@ -3680,7 +3683,10 @@ $ journalctl -f
|
|||||||
При вызове +journalctl+ без параметров, она выводит все сообщения, начиная с
|
При вызове +journalctl+ без параметров, она выводит все сообщения, начиная с
|
||||||
самого первого из сохраненных. Разумеется, это огромный объем информации. На
|
самого первого из сохраненных. Разумеется, это огромный объем информации. На
|
||||||
практике иногда бывает достаточно ограничиться сообщениями, сгенерированными с
|
практике иногда бывает достаточно ограничиться сообщениями, сгенерированными с
|
||||||
момента последней загрузки системы:
|
момента последней загрузки системы\footnote{Прим. перев.: Начиная с systemd
|
||||||
|
версии 206, синтаксис опции <<+-b+>> был расширен: теперь она позволяет
|
||||||
|
просматривать логи не~только за текущую, но и за предыдущие загрузки, например,
|
||||||
|
<<+-b -1+>>~--- прошлая загрузка, <<+-b -2+>>~--- позапрошлая и т.д.}:
|
||||||
\begin{Verbatim}
|
\begin{Verbatim}
|
||||||
$ journalctl -b
|
$ journalctl -b
|
||||||
\end{Verbatim}
|
\end{Verbatim}
|
||||||
@@ -3999,18 +4005,19 @@ CPUShares=1500
|
|||||||
основного файла. Все вышесказанное относится и к другим примерам из этого
|
основного файла. Все вышесказанное относится и к другим примерам из этого
|
||||||
раздела.}. Сохраняем файл, приказываем systemd перечитать конфигурацию, и
|
раздела.}. Сохраняем файл, приказываем systemd перечитать конфигурацию, и
|
||||||
перезапускаем Apache, чтобы настройки вступили в силу\footnote{Прим. перев.:
|
перезапускаем Apache, чтобы настройки вступили в силу\footnote{Прим. перев.:
|
||||||
systemd версий до 197 включительно, не~поддерживает изменение параметров
|
systemd версий до 197 (включительно) не~имел штатного механизма для изменения
|
||||||
контрольных групп без перезапуска службы. Но вы можете узнать контрольную группу
|
параметров контрольных групп <<на лету>> (без перезапуска службы). Если у вас
|
||||||
службы командой наподобие +systemctl show -p ControlGroup avahi-daemon.service+,
|
все же возникнет такая необходимость, вы можете узнать контрольную группу службы
|
||||||
и выполнить настройки любым удобным для вас способом, например, через запись
|
командой +systemctl show -p ControlGroup имя_службы.service+, и выполнить
|
||||||
значений в псевдофайлы cgroupfs (разумеется, при следующем запуске службы к ней
|
требуемые настройки напрямую через запись значений в псевдофайлы cgroupfs
|
||||||
будут применены параметры, указанные в конфигурационном файле). Начиная с
|
(разумеется, при следующем запуске службы к ней будут применены параметры,
|
||||||
systemd 198, в программу +systemctl+ добавлена поддержка команд
|
указанные в конфигурационном файле). В версиях systemd со 198 по 204,
|
||||||
+set-cgroup-attr+, +unset-cgroup-attr+ и +get-cgroup-attr+, позволяющих
|
программа +systemctl+ поддерживала команды +set-cgroup-attr+,
|
||||||
манипулировать практически всеми параметрами контрольных групп. При этом
|
+unset-cgroup-attr+ и +get-cgroup-attr+, позволявшие манипулировать настройками
|
||||||
поддерживается сохранение установленных таким образом параметров в виде
|
контрольных групп. Начиная с systemd 205, они были заменены командой
|
||||||
вспомогательных конфигурационных файлов в +.d+-каталогах (см. примечание
|
+set-property+, работающей с параметрами конфигурации юнитов. Установленные
|
||||||
выше).}:
|
через +systemctl+ настройки сохраняются во вспомогательных конфигурационных
|
||||||
|
файлах, которые размещаются в +.d+-каталогах (см. примечание выше).}:
|
||||||
\begin{Verbatim}
|
\begin{Verbatim}
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
systemctl restart httpd.service
|
systemctl restart httpd.service
|
||||||
@@ -4138,11 +4145,16 @@ BlockIOReadBandwith=/var/log 5M
|
|||||||
недостаточно~--- допустим, вам нужно задать низкоуровневую настройку cgroups,
|
недостаточно~--- допустим, вам нужно задать низкоуровневую настройку cgroups,
|
||||||
для которой мы (пока) не~добавили высокоуровневого аналога. На этот случай мы
|
для которой мы (пока) не~добавили высокоуровневого аналога. На этот случай мы
|
||||||
предусмотрели универсальных механизм задания таких опций в конфигурационных
|
предусмотрели универсальных механизм задания таких опций в конфигурационных
|
||||||
файлах юнитов. Рассмотрим, например, задание для службы параметра
|
файлах юнитов\footnote{Прим. перев.: Описываемый здесь механизм управления
|
||||||
\emph{swappiness} (относительная интенсивность использования подкачки для
|
низкоуровневыми настройками контрольных групп (+ControlGroupAttribute=+)
|
||||||
процессов службы). В systemd нет высокоуровневой настройки для этого значения.
|
присутствовал в systemd до 204 версии включительно. Начиная с версии 205, он был
|
||||||
Однако вы можете задать его, используя низкоуровневую настройку
|
удален по требованию разработчиков cgroups. Также были удалены возможности
|
||||||
+ControlGroupAttribute=+:
|
напрямую задавать для юнита контрольную группу (+ControlGroup=+) и устанавливать
|
||||||
|
права доступа для управления группами (+ControlGroupModify=+).}. Рассмотрим,
|
||||||
|
например, задание для службы параметра \emph{swappiness} (относительная
|
||||||
|
интенсивность использования подкачки для процессов службы). В systemd нет
|
||||||
|
высокоуровневой настройки для этого значения. Однако вы можете задать его,
|
||||||
|
используя низкоуровневую настройку +ControlGroupAttribute=+:
|
||||||
\begin{Verbatim}
|
\begin{Verbatim}
|
||||||
.include /usr/lib/systemd/system/httpd.service
|
.include /usr/lib/systemd/system/httpd.service
|
||||||
|
|
||||||
@@ -4423,8 +4435,12 @@ systemd 197 (и, соответственно, с Fedora~19), мы добави
|
|||||||
в systemd простейшим контейнерным менеджером~---
|
в systemd простейшим контейнерным менеджером~---
|
||||||
\hyperref[sec:chroots]{systemd-nspawn}. Мы надеемся, что соответствующая
|
\hyperref[sec:chroots]{systemd-nspawn}. Мы надеемся, что соответствующая
|
||||||
возможность вскоре появится и в
|
возможность вскоре появится и в
|
||||||
\href{http://libvirt.org/drvlxc.html}{libvirt-lxc}. А пока, за отсутствие
|
\href{http://libvirt.org/drvlxc.html}{libvirt-lxc}\footnote{Прим. перев.:
|
||||||
альтернатив, рассмотрим использование этого механизма на примере systemd-nspawn.
|
\href{https://www.redhat.com/archives/libvir-list/2013-July/msg00825.html}{Патчи},
|
||||||
|
реализующие эту возможность, были подготовлены и приняты разработчиками libvirt
|
||||||
|
во второй декаде июля 2013 г., и входят в libvirt начиная с версии~1.1.1.}. А
|
||||||
|
пока, за отсутствием альтернатив, рассмотрим использование этого механизма на
|
||||||
|
примере systemd-nspawn.
|
||||||
|
|
||||||
Начнем с установки файлов ОС контейнера в выбранный каталог. Детальное
|
Начнем с установки файлов ОС контейнера в выбранный каталог. Детальное
|
||||||
рассмотрение этого вопроса выходит далеко за рамки нашего обсуждения, и
|
рассмотрение этого вопроса выходит далеко за рамки нашего обсуждения, и
|
||||||
@@ -4470,12 +4486,13 @@ KillMode=process
|
|||||||
перев.: Ручной запуск на хосте соответствующей команды +systemd-nspawn -b+ во
|
перев.: Ручной запуск на хосте соответствующей команды +systemd-nspawn -b+ во
|
||||||
время работы такой службы просто создаст \emph{еще один контейнер}. Хотя
|
время работы такой службы просто создаст \emph{еще один контейнер}. Хотя
|
||||||
корневой каталог у них один и тот же, пространства имен (например, списки
|
корневой каталог у них один и тот же, пространства имен (например, списки
|
||||||
процессов) у каждого будут свои. Впрочем, данная задача может быть решена
|
процессов) у каждого будут свои. Подключиться к работающему контейнеру можно при
|
||||||
утилитой +nsenter+, которая должна войти в следующий релиз util-linux
|
помощи утилиты +nsenter+, которая включена в состав util-linux начиная с версии
|
||||||
(предположительно, 2.23).}. Чтобы исправить это упущение, настроим на контейнере
|
2.23 (на момент написания исходной статьи этой утилиты еще не~существовало).}.
|
||||||
SSH-сервер, причем таким образом, что подключение к его порту активировало весь
|
Чтобы исправить это упущение, настроим на контейнере SSH-сервер, причем таким
|
||||||
контейнер, а затем активировало сервер, работающий внутри. Начнем с того, что
|
образом, что подключение к его порту активировало весь контейнер, а затем
|
||||||
прикажем хосту слушать порт SSH для контейнера. Для этого создадим на хосте файл
|
активировало сервер, работающий внутри. Начнем с того, что прикажем хосту
|
||||||
|
слушать порт SSH для контейнера. Для этого создадим на хосте файл
|
||||||
+/etc/systemd/system/mycontainer.socket+:
|
+/etc/systemd/system/mycontainer.socket+:
|
||||||
\begin{Verbatim}
|
\begin{Verbatim}
|
||||||
[Unit]
|
[Unit]
|
||||||
@@ -4491,13 +4508,12 @@ ListenStream=23
|
|||||||
списки процессов и точек монтирования, но не~сетевые стеки, поэтому порты хоста
|
списки процессов и точек монтирования, но не~сетевые стеки, поэтому порты хоста
|
||||||
и гостей не~должны конфликтовать\footnote{Прим. перев.: Ограниченные возможности
|
и гостей не~должны конфликтовать\footnote{Прим. перев.: Ограниченные возможности
|
||||||
виртуализации сети в +systemd-nspawn+ значительно затрудняют использование
|
виртуализации сети в +systemd-nspawn+ значительно затрудняют использование
|
||||||
описываемой технологии. Ее практическое применение будет иметь смысл после
|
описываемой технологии. Ее практическое применение будет иметь смысл
|
||||||
реализации соответствующей поддержки в lxc-libvirt, либо расширения возможностей
|
либо в lxc-libvirt, либо после расширения возможностей nspawn. Впрочем, опытные
|
||||||
nspawn. Впрочем, опытные администраторы легко могут найти обходные пути,
|
администраторы легко могут найти обходные пути, например: присваивание хосту
|
||||||
например: присваивание хосту дополнительного IP-адреса (безо всякой
|
дополнительного IP-адреса (безо всякой виртуализации, командой +ip addr add+) и
|
||||||
виртуализации, командой +ip addr add+) и привязка слушающих сокетов к конкретным
|
привязка слушающих сокетов к конкретным адресам (в параметре +ListenStream=+
|
||||||
адресам (в параметре +ListenStream=+ сокет-файлов и/или в директиве
|
сокет-файлов и/или в директиве +ListenAddress+ файла +sshd_config+ хоста).}.
|
||||||
+ListenAddress+ файла +sshd_config+ хоста).}.
|
|
||||||
|
|
||||||
Пока что systemd, работающий внутри контейнера, не~знает, что делать с тем
|
Пока что systemd, работающий внутри контейнера, не~знает, что делать с тем
|
||||||
сокетами, которые ему передает systemd хоста. Если вы попробуете подключиться к
|
сокетами, которые ему передает systemd хоста. Если вы попробуете подключиться к
|
||||||
@@ -4515,7 +4531,7 @@ nspawn. Впрочем, опытные администраторы легко
|
|||||||
+StandardInput=socket+, которые не~задействованы на хосте. Это обусловлено тем
|
+StandardInput=socket+, которые не~задействованы на хосте. Это обусловлено тем
|
||||||
фактом, что внутри контейнера сокет-активация производится в стиле inetd (служба
|
фактом, что внутри контейнера сокет-активация производится в стиле inetd (служба
|
||||||
получает только один сокет, причем замкнутый на ее потоки STDIN и STDOUT), в то
|
получает только один сокет, причем замкнутый на ее потоки STDIN и STDOUT), в то
|
||||||
время как на стороне хоста используется родной стиль активации systemd, при
|
время как на стороне хоста используется штатный стиль активации systemd, при
|
||||||
котором запущенному процессу (в данном случае +systemd-nspawn+) просто
|
котором запущенному процессу (в данном случае +systemd-nspawn+) просто
|
||||||
передаются открытые файловые дескрипторы (+fd+) всех сокетов. Одно из достоинств
|
передаются открытые файловые дескрипторы (+fd+) всех сокетов. Одно из достоинств
|
||||||
такого подхода~--- возможность передавать сразу несколько сокетов, что позволяет
|
такого подхода~--- возможность передавать сразу несколько сокетов, что позволяет
|
||||||
@@ -4567,8 +4583,8 @@ systemd начнет прослушивать TCP-порт 23. При подкл
|
|||||||
сокеты, для которых соответствующих юнитов не~найдется, будут
|
сокеты, для которых соответствующих юнитов не~найдется, будут
|
||||||
закрыты\footnote{Прим. перев.: Стоит особо отметить, что описанная технология
|
закрыты\footnote{Прим. перев.: Стоит особо отметить, что описанная технология
|
||||||
работает только для служб, поддерживающих сокет-активацию в режимах inetd (все
|
работает только для служб, поддерживающих сокет-активацию в режимах inetd (все
|
||||||
классические inetd-службы, кроме встроенных) или systemd (зависят от библиотеки
|
классические inetd-службы, кроме встроенных) или systemd (обычно зависят от
|
||||||
+libsystemd-daemon.so+, либо содержат в исходниках заголовочный файл
|
библиотеки +libsystemd-daemon.so+, либо содержат в исходниках заголовочный файл
|
||||||
+sd-daemon.h+). Службы, которые сами открывают себе слушающий сокет и
|
+sd-daemon.h+). Службы, которые сами открывают себе слушающий сокет и
|
||||||
не~содержат кода для приема уже открытого сокета, так активировать нельзя.}, а
|
не~содержат кода для приема уже открытого сокета, так активировать нельзя.}, а
|
||||||
те сокеты, которые будут настроены для прослушивания внутри контейнера, но
|
те сокеты, которые будут настроены для прослушивания внутри контейнера, но
|
||||||
@@ -4624,7 +4640,7 @@ systemd, начиная с версии 197. Тем не~менее, наша р
|
|||||||
\section{FAQ (часто задаваемые вопросы)\sfnote{Перевод статьи
|
\section{FAQ (часто задаваемые вопросы)\sfnote{Перевод статьи
|
||||||
<<\href{http://www.freedesktop.org/wiki/Software/systemd/FrequentlyAskedQuestions}%
|
<<\href{http://www.freedesktop.org/wiki/Software/systemd/FrequentlyAskedQuestions}%
|
||||||
{Frequently Asked Questions}>> с официального сайта проекта, по состоянию на
|
{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 \&
|
\href{http://www.freedesktop.org/wiki/Software/systemd/TipsAndTricks}{Tips \&
|
||||||
@@ -4654,7 +4670,9 @@ Tricks}\footnote{Прим. перев.: На самом деле, смотрет
|
|||||||
\qna{Как изменить уровень выполнения, в который система грузится по умолчанию?}
|
\qna{Как изменить уровень выполнения, в который система грузится по умолчанию?}
|
||||||
Соответствующее целевое состояние задается символьной ссылкой
|
Соответствующее целевое состояние задается символьной ссылкой
|
||||||
+/etc/systemd/system/default.target+. Для его смены достаточно перезаписать эту
|
+/etc/systemd/system/default.target+. Для его смены достаточно перезаписать эту
|
||||||
ссылку. Например, так:
|
ссылку\footnote{Прим. перев.: Начиная с systemd 205, в программу +systemctl+
|
||||||
|
были добавлены команды +set-default+ и +get-default+, упрощающие подобные
|
||||||
|
действия, например, +systemctl set-default multi-user.target+.}. Например, так:
|
||||||
\begin{Verbatim}
|
\begin{Verbatim}
|
||||||
# ln -sf /usr/lib/systemd/system/multi-user.target /etc/systemd/system/default.target
|
# ln -sf /usr/lib/systemd/system/multi-user.target /etc/systemd/system/default.target
|
||||||
\end{Verbatim}
|
\end{Verbatim}
|
||||||
@@ -4720,7 +4738,7 @@ systemd 198, необязательно копировать файл целик
|
|||||||
нужно поместить соответствующую символьную ссылку в каталог
|
нужно поместить соответствующую символьную ссылку в каталог
|
||||||
+getty.target.wants/+\footnote{Прим. перев.: Приведенная в оригинале команда
|
+getty.target.wants/+\footnote{Прим. перев.: Приведенная в оригинале команда
|
||||||
+systemctl enable serial-getty@ttyS2.service+ работать не~будет (по крайней
|
+systemctl enable serial-getty@ttyS2.service+ работать не~будет (по крайней
|
||||||
мере, в версиях до 204 включительно). Подробнее
|
мере, в версиях до 206 включительно). Подробнее
|
||||||
см.~примечание~\ref{ftn:enableserial}.}:
|
см.~примечание~\ref{ftn:enableserial}.}:
|
||||||
\begin{Verbatim}
|
\begin{Verbatim}
|
||||||
# ln -s /usr/lib/systemd/system/serial-getty@.service \
|
# ln -s /usr/lib/systemd/system/serial-getty@.service \
|
||||||
@@ -4896,8 +4914,8 @@ $ systemd --test --system --unit=foobar.target
|
|||||||
|
|
||||||
\section{Диагностика неполадок\sfnote{Перевод статьи
|
\section{Диагностика неполадок\sfnote{Перевод статьи
|
||||||
<<\href{http://freedesktop.org/wiki/Software/systemd/Debugging}{Debugging
|
<<\href{http://freedesktop.org/wiki/Software/systemd/Debugging}{Debugging
|
||||||
systemd Problems}>> с официального сайта проекта, по состоянию на 2013-01-08
|
systemd Problems}>> с официального сайта проекта, по состоянию на 2013-05-26
|
||||||
19:13:31 (ревизия \No26).}}
|
08:34:30 (коммит 10ae3).}}
|
||||||
|
|
||||||
\subsection{Диагностика проблем с загрузкой}
|
\subsection{Диагностика проблем с загрузкой}
|
||||||
|
|
||||||
@@ -5227,7 +5245,7 @@ systemctl dump > systemd-dump.txt
|
|||||||
\section{Совместимость с SysV\sfnote{Перевод статьи
|
\section{Совместимость с SysV\sfnote{Перевод статьи
|
||||||
<<\href{http://www.freedesktop.org/wiki/Software/systemd/Incompatibilities}%
|
<<\href{http://www.freedesktop.org/wiki/Software/systemd/Incompatibilities}%
|
||||||
{Compatibility with SysV}>> с официального сайта проекта, по
|
{Compatibility with SysV}>> с официального сайта проекта, по
|
||||||
состоянию на 2013-01-11 19:04:14 (ревизия \No26).}}
|
состоянию на 2013-05-18 08:20:25 (коммит fa003).}}
|
||||||
|
|
||||||
systemd обеспечивает высокий уровень совместимости с поведением классической
|
systemd обеспечивает высокий уровень совместимости с поведением классической
|
||||||
системы инициализации SysV init, реализованной во многих дистрибутивах. Это
|
системы инициализации SysV init, реализованной во многих дистрибутивах. Это
|
||||||
@@ -5363,7 +5381,7 @@ API для скриптов. Тем не~менее, существует ряд
|
|||||||
\section{Предсказуемые имена сетевых интерфейсов\sfnote{Перевод статьи
|
\section{Предсказуемые имена сетевых интерфейсов\sfnote{Перевод статьи
|
||||||
<<\href{http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames}%
|
<<\href{http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames}%
|
||||||
{Predictable Network Interface Names}>> с официального сайта проекта, по
|
{Predictable Network Interface Names}>> с официального сайта проекта, по
|
||||||
состоянию на 2013-01-22 20:22:48 (ревизия \No27).}}
|
состоянию на 2013-05-22 08:55:30 (коммит dc0a2).}}
|
||||||
|
|
||||||
Начиная с версии 197, systemd/udev присваивает сетевым интерфейсам (Ethernet,
|
Начиная с версии 197, systemd/udev присваивает сетевым интерфейсам (Ethernet,
|
||||||
WLAN, WWAN\footnote{Прим. перев.: WWAN (Wireless Wide Area Network)~---
|
WLAN, WWAN\footnote{Прим. перев.: WWAN (Wireless Wide Area Network)~---
|
||||||
@@ -5467,7 +5485,12 @@ systemd/udev\footnote{Прим. перев.: См. коммит
|
|||||||
\item Имена интерфейсов остаются неизменными при добавлении или
|
\item Имена интерфейсов остаются неизменными при добавлении или
|
||||||
удалении устройств.
|
удалении устройств.
|
||||||
\item Имена интерфейсов остаются неизменными при обновлении/изменении
|
\item Имена интерфейсов остаются неизменными при обновлении/изменении
|
||||||
ядра и драйверов.
|
ядра и драйверов\footnote{Прим. перев.: На самом деле, не~все
|
||||||
|
так просто. Если, в результате обновлении ядра/драйверов, в них
|
||||||
|
появится ранее отсутствовавшая поддержка вашей прошивки,
|
||||||
|
не~исключена вероятность, что имена некоторых интерфейсов
|
||||||
|
перейдут с третьей схемы на первую или вторую. Будьте готовы к
|
||||||
|
такому развитию событий.}.
|
||||||
\item Имена интерфейсов остаются неизменными при замене сломанных
|
\item Имена интерфейсов остаются неизменными при замене сломанных
|
||||||
сетевых карт новыми.
|
сетевых карт новыми.
|
||||||
\item Имена формируются автоматически, безо всякого вмешательства
|
\item Имена формируются автоматически, безо всякого вмешательства
|
||||||
@@ -5519,6 +5542,11 @@ cp /usr/lib/udev/rules.d/80-net-name-slot.rules /etc/udev/rules.d/80-net-name-sl
|
|||||||
после чего измените его так, как считаете нужным.
|
после чего измените его так, как считаете нужным.
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
|
|
||||||
|
Кроме того, начиная с systemd версии 199, поддерживается параметр загрузки
|
||||||
|
+net.ifnames=0+, позволяющий отключить механизм предсказуемых имен (указание его
|
||||||
|
в файле конфигурации загрузчика эквивалентно первому из вышеперечисленных
|
||||||
|
вариантов).
|
||||||
|
|
||||||
\subsection{Как именно работает новая схема?}
|
\subsection{Как именно работает новая схема?}
|
||||||
|
|
||||||
Подробности технической реализации описаны в блоке комментариев в
|
Подробности технической реализации описаны в блоке комментариев в
|
||||||
@@ -5526,7 +5554,7 @@ cp /usr/lib/udev/rules.d/80-net-name-slot.rules /etc/udev/rules.d/80-net-name-sl
|
|||||||
{исходном коде net-id built-in}. Ознакомьтесь с ним, если у вас возникают
|
{исходном коде net-id built-in}. Ознакомьтесь с ним, если у вас возникают
|
||||||
вопросы, касающиеся расшифровки новых имен\footnote{Прим. перев.: Далее
|
вопросы, касающиеся расшифровки новых имен\footnote{Прим. перев.: Далее
|
||||||
приводится перевод упомянутого блока комментариев. Последним коммитом,
|
приводится перевод упомянутого блока комментариев. Последним коммитом,
|
||||||
затронувшим данный файл, на момент перевода является b92be от 24 марта
|
затронувшим данный файл, на момент перевода является a4bbe от 8 июля
|
||||||
2013 г.}.
|
2013 г.}.
|
||||||
|
|
||||||
\begin{Verbatim}
|
\begin{Verbatim}
|
||||||
@@ -5545,13 +5573,16 @@ cp /usr/lib/udev/rules.d/80-net-name-slot.rules /etc/udev/rules.d/80-net-name-sl
|
|||||||
o<index> -- для устройств, встроенных в материнскую плату
|
o<index> -- для устройств, встроенных в материнскую плату
|
||||||
s<slot>[f<function>][d<dev_id>] -- для hotplug-слотов
|
s<slot>[f<function>][d<dev_id>] -- для hotplug-слотов
|
||||||
x<MAC> -- при именовании по MAC-адресу
|
x<MAC> -- при именовании по MAC-адресу
|
||||||
p<bus>s<slot>[f<function>][d<dev_id>] -- на основании физического
|
[P<domain>]p<bus>s<slot>[f<function>][d<dev_id>] -- на основании физического
|
||||||
расположения PCI-устройства
|
расположения PCI-устройства
|
||||||
p<bus>s<slot>[f<function>][u<port>][..][c<config>][i<interface>]
|
[P<domain>]p<bus>s<slot>[f<function>][u<port>][..][c<config>][i<interface>]
|
||||||
-- идентификационная цепочка для USB-устройств
|
-- идентификационная цепочка для USB-устройств
|
||||||
|
|
||||||
Все многофункциональные (multi-function) PCI-устройства содержат в своем имени
|
Все многофункциональные (multi-function) PCI-устройства содержат в своем имени
|
||||||
номер функции [f<function>] (отсчитываются от нуля).
|
номер функции "f<function>" (отсчитываются от нуля).
|
||||||
|
|
||||||
|
При именовании по расположению устройства, индекс PCI-домена "P<domain>"
|
||||||
|
указывается только в том случае, если он отличен от нулевого.
|
||||||
|
|
||||||
Для USB-устройства формируется полная цепочка номеров портов хабов, через
|
Для USB-устройства формируется полная цепочка номеров портов хабов, через
|
||||||
которые оно подключено. Если итоговая строка будет длиннее 15 символов, она
|
которые оно подключено. Если итоговая строка будет длиннее 15 символов, она
|
||||||
@@ -5598,8 +5629,8 @@ Multi-function PCI устройство с двумя портами:
|
|||||||
|
|
||||||
\section{Специальные файловые системы\sfnote{Перевод статьи
|
\section{Специальные файловые системы\sfnote{Перевод статьи
|
||||||
<<\href{http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems}{API
|
<<\href{http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems}{API
|
||||||
File Systems}>> с официального сайта проекта, по состоянию на 2013-01-17
|
File Systems}>> с официального сайта проекта, по состоянию на 2013-05-26
|
||||||
11:06:59 (ревизия \No14).}}
|
08:37:25 (коммит 6a93f).}}
|
||||||
\label{sec:apifs}
|
\label{sec:apifs}
|
||||||
|
|
||||||
\yousaywtfsk{Итак, вы запустили программу mount(8), и увидели в ее выводе
|
\yousaywtfsk{Итак, вы запустили программу mount(8), и увидели в ее выводе
|
||||||
@@ -5709,7 +5740,7 @@ systemctl mask tmp.mount
|
|||||||
\section{Запуск служб после появления сети\sfnote{Перевод статьи
|
\section{Запуск служб после появления сети\sfnote{Перевод статьи
|
||||||
<<\href{http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget}{Running
|
<<\href{http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget}{Running
|
||||||
Services After the Network is up}>> с официального сайта проекта, по состоянию
|
Services After the Network is up}>> с официального сайта проекта, по состоянию
|
||||||
на 2013-01-17 23:22:58 (ревизия \No17).}}
|
на 2013-07-16 15:16:55 (коммит 8b44c).}}
|
||||||
\label{sec:networktarget}
|
\label{sec:networktarget}
|
||||||
|
|
||||||
\yousaywtfsk{Итак, ваша служба настроена на запуск только после достижения цели
|
\yousaywtfsk{Итак, ваша служба настроена на запуск только после достижения цели
|
||||||
@@ -5860,7 +5891,7 @@ service-файл, запускающий любую заданную вами п
|
|||||||
\section{Моя служба не~может получить приоритет realtime\sfnote{Перевод статьи
|
\section{Моя служба не~может получить приоритет realtime\sfnote{Перевод статьи
|
||||||
<<\href{http://www.freedesktop.org/wiki/Software/systemd/MyServiceCantGetRealtime}%
|
<<\href{http://www.freedesktop.org/wiki/Software/systemd/MyServiceCantGetRealtime}%
|
||||||
{My Service Can't Get Realtime!}>> с официального сайта проекта, по состоянию на
|
{My Service Can't Get Realtime!}>> с официального сайта проекта, по состоянию на
|
||||||
2013-01-15 16:54:09 (ревизия \No1).}}
|
2013-05-18 08:20:36 (коммит 2f77b).}}
|
||||||
\label{sec:realtime}
|
\label{sec:realtime}
|
||||||
|
|
||||||
\yousaywtf{Итак, у вас есть служба, которая требует приоритет реального времени
|
\yousaywtf{Итак, у вас есть служба, которая требует приоритет реального времени
|
||||||
|
|||||||
Reference in New Issue
Block a user