Version v14.4 (2013-03-08 22:32) [AUTO]
This commit is contained in:
73
s4a.tex
73
s4a.tex
@@ -419,7 +419,12 @@ alias psc='ps xawf -eo pid,user,cgroup,args'
|
|||||||
|
|
||||||
Альтернативный способ получить ту же информацию~--- воспользоваться утилитой
|
Альтернативный способ получить ту же информацию~--- воспользоваться утилитой
|
||||||
+systemd-cgls+, входящей в комплект поставки systemd. Она отображает иерархию
|
+systemd-cgls+, входящей в комплект поставки systemd. Она отображает иерархию
|
||||||
контрольных групп в виде псевдографической диаграммы-дерева:
|
контрольных групп в виде псевдографической диаграммы-дерева\footnote{Прим.
|
||||||
|
перев.: Стоит заметить, что в нижеприведенном листинге используется
|
||||||
|
ASCII-псевдографика. Между тем, уже довольно давно отображение иерархии
|
||||||
|
процессов в +systemd-cgls+ и +systemctl status+ производится в более
|
||||||
|
выразительной ├юникодной └псевдографике. ASCII-вариант выводится только в том
|
||||||
|
случае, если консоль не~поддерживает Unicode.}:
|
||||||
|
|
||||||
\begin{landscape}
|
\begin{landscape}
|
||||||
\begin{Verbatim}[fontsize=\small]
|
\begin{Verbatim}[fontsize=\small]
|
||||||
@@ -2127,7 +2132,7 @@ systemd?
|
|||||||
позволяющей прочитать из файла набор переменных окружения, который будет
|
позволяющей прочитать из файла набор переменных окружения, который будет
|
||||||
установлен при запуске службы. Если же для задания настроек вам необходим
|
установлен при запуске службы. Если же для задания настроек вам необходим
|
||||||
полноценный язык программирования~--- ничто не~мешает им воспользоваться.
|
полноценный язык программирования~--- ничто не~мешает им воспользоваться.
|
||||||
Например, вы можете создайть в +/usr/lib/<your package>/+ простой скрипт,
|
Например, вы можете создать в +/usr/lib/<your package>/+ простой скрипт,
|
||||||
который включает соответствующие файлы, а затем запускает бинарник демона через
|
который включает соответствующие файлы, а затем запускает бинарник демона через
|
||||||
+exec+. После чего достаточно просто указать этот скрипт в опции +ExecStart=+
|
+exec+. После чего достаточно просто указать этот скрипт в опции +ExecStart=+
|
||||||
вместо бинарника демона.
|
вместо бинарника демона.
|
||||||
@@ -3132,7 +3137,7 @@ URI, ссылающиеся на документацию, формируютс
|
|||||||
Да, кстати: если вас интересует общий обзор процесса загрузки systemd, то вам
|
Да, кстати: если вас интересует общий обзор процесса загрузки systemd, то вам
|
||||||
стоит обратить внимание на
|
стоит обратить внимание на
|
||||||
\href{http://www.freedesktop.org/software/systemd/man/bootup.html}{новую
|
\href{http://www.freedesktop.org/software/systemd/man/bootup.html}{новую
|
||||||
страницу руководства}, где представлена псевгдорафическая потоковая диаграмма,
|
страницу руководства}, где представлена псевдографическая потоковая диаграмма,
|
||||||
описывающая процесс загрузки и роль ключевых юнитов.
|
описывающая процесс загрузки и роль ключевых юнитов.
|
||||||
|
|
||||||
\section{Сторожевые таймеры}
|
\section{Сторожевые таймеры}
|
||||||
@@ -3628,7 +3633,10 @@ Journal был включен в Fedora начиная с F17. В Fedora~18 jour
|
|||||||
большинства лог-файлов. При этом авторы четко разделяют полномочия групп +adm+ и
|
большинства лог-файлов. При этом авторы четко разделяют полномочия групп +adm+ и
|
||||||
+wheel+: если последняя используется для предоставления прав \emph{изменять}
|
+wheel+: если последняя используется для предоставления прав \emph{изменять}
|
||||||
что-либо в системе, то первая дает возможность лишь \emph{просматривать}
|
что-либо в системе, то первая дает возможность лишь \emph{просматривать}
|
||||||
системную информацию.}:
|
системную информацию. Начиная с версии systemd 198, группа-владелец файлов
|
||||||
|
журнала изменена с +adm+ на +systemd-journal+, однако штатный алгоритм установки
|
||||||
|
systemd все равно выдает права на их чтение группам +adm+ и +wheel+ (через
|
||||||
|
ACL).}:
|
||||||
\begin{Verbatim}
|
\begin{Verbatim}
|
||||||
$ journalctl
|
$ journalctl
|
||||||
\end{Verbatim}
|
\end{Verbatim}
|
||||||
@@ -3804,7 +3812,7 @@ $ journalctl -F _SYSTEMD_UNIT
|
|||||||
однако, начиная с релиза systemd 196, аналогичная функциональность доступна и
|
однако, начиная с релиза systemd 196, аналогичная функциональность доступна и
|
||||||
для zsh.}! Это же просто прекрасно~--- вы можете просмотреть перечень значений
|
для zsh.}! Это же просто прекрасно~--- вы можете просмотреть перечень значений
|
||||||
поля и выбрать из него нужно прямо при вводе выражения. Возьмем для примера
|
поля и выбрать из него нужно прямо при вводе выражения. Возьмем для примера
|
||||||
метки SELinux. Помнится, имя поле начиналось с букв SE\ldots{}
|
метки SELinux. Помнится, имя поля начиналось с букв SE\ldots{}
|
||||||
\begin{Verbatim}[commandchars=\\\{\}]
|
\begin{Verbatim}[commandchars=\\\{\}]
|
||||||
$ journalctl _SE\textbf{<TAB>}
|
$ journalctl _SE\textbf{<TAB>}
|
||||||
\end{Verbatim}
|
\end{Verbatim}
|
||||||
@@ -3956,18 +3964,32 @@ CPUShares=1500
|
|||||||
\end{Verbatim}
|
\end{Verbatim}
|
||||||
Первая строка обеспечивает включение в нашу конфигурацию файла с настройками по
|
Первая строка обеспечивает включение в нашу конфигурацию файла с настройками по
|
||||||
умолчанию, сделанными разработчиками Apache или его сопровождающими в вашем
|
умолчанию, сделанными разработчиками Apache или его сопровождающими в вашем
|
||||||
дистрибутиве (если это включение не~указать явно, данный файл будет проигнорирован).
|
дистрибутиве (если это включение не~указать явно, данный файл будет
|
||||||
Далее, мы указываем тот параметр, который хотим изменить. Сохраняем файл,
|
проигнорирован). Далее, мы указываем тот параметр, который хотим
|
||||||
приказываем systemd перечитать конфигурацию, и перезапускаем Apache, чтобы
|
изменить\footnote{Прим. перев.: В новых версиях systemd, начиная со 198, можно
|
||||||
настройки вступили в силу\footnote{Прим. перев.: systemd версий до 197
|
поступить проще: вместо того, чтобы создавать свой юнит-файл в каталоге +/etc+ и
|
||||||
включительно, не~поддерживает изменение параметров контрольных групп без
|
включать в него содержимое штатного (из +/usr+), достаточно просто создать
|
||||||
перезапуска службы. Но вы можете узнать контрольную группу службы командой
|
каталог +/etc/systemd/system/httpd.service.d/+ и поместить в него файл
|
||||||
наподобие +systemctl show -p ControlGroup avahi-daemon.service+, и выполнить
|
+my_resource_limit.conf+ (суффикс +.conf+ обязателен), в котором указываются
|
||||||
настройки любым удобным для вас способом, например, через запись значений в
|
только те настройки, которые необходимо изменить (последние две строки
|
||||||
псевдофайлы cgroupfs (разумеется, при следующем запуске службы к ней будут
|
вышеприведенного листинга). Это никак не~отменяет основного конфигурационного
|
||||||
применены параметры, указанные в конфигурационном файле). Начиная с systemd 198,
|
файла юнита (который может находиться в +/usr+ или +/etc+), однако настройки из
|
||||||
в программу +systemctl+ добавлена поддержка команд +set-cgroup-attr+,
|
+.d+-каталогов имеют более высокий приоритет и могут перекрывать настройки
|
||||||
+unset-cgroup-attr+ и +get-cgroup-attr+.}:
|
основного файла. Все вышесказанное относится и к другим примерам из этого
|
||||||
|
раздела.}. Сохраняем файл, приказываем 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+-каталогах (см. примечание
|
||||||
|
выше).}:
|
||||||
\begin{Verbatim}
|
\begin{Verbatim}
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
systemctl restart httpd.service
|
systemctl restart httpd.service
|
||||||
@@ -4242,7 +4264,7 @@ fi
|
|||||||
\end{Verbatim}
|
\end{Verbatim}
|
||||||
|
|
||||||
Эта утилита возвращает код 0 (успех), обнаружив виртуализацию, или ненулевое
|
Эта утилита возвращает код 0 (успех), обнаружив виртуализацию, или ненулевое
|
||||||
значение, если виртуализация не~выявлена. Кроме того, она выводит идентификатор
|
значение, если виртуализация не~выявлена. Также она выводит идентификатор
|
||||||
обнаруженной системы виртуализации (согласно списку выше), если это не~было
|
обнаруженной системы виртуализации (согласно списку выше), если это не~было
|
||||||
запрещено опцией +-q+. Кроме того, опции +-c+ и +-v+ позволяют ограничить
|
запрещено опцией +-q+. Кроме того, опции +-c+ и +-v+ позволяют ограничить
|
||||||
проверки только механизмами виртуализации на уровне ОС, либо полной
|
проверки только механизмами виртуализации на уровне ОС, либо полной
|
||||||
@@ -4343,8 +4365,8 @@ systemd в промышленных серверных платформах, м
|
|||||||
Подобные конфигурации уже используются на рабочих серверах ряда компаний. В
|
Подобные конфигурации уже используются на рабочих серверах ряда компаний. В
|
||||||
частности, специалисты из \href{https://www.getpantheon.com/}{Pantheon}
|
частности, специалисты из \href{https://www.getpantheon.com/}{Pantheon}
|
||||||
используют такую схему для обслуживания масштабируемой инфраструктуры множества
|
используют такую схему для обслуживания масштабируемой инфраструктуры множества
|
||||||
сайтов на базе Drupal. (Стоит упомянуть, что заслуга ее внедрения в Pantheon
|
сайтов на базе Drupal. (Стоит упомянуть, что заслуга ее внедрения в компании
|
||||||
принадлежит Дэвиду Штрауссу. Дэвид, ты крут!)
|
Pantheon принадлежит Дэвиду Штрауссу. Дэвид, ты крут!)
|
||||||
|
|
||||||
\subsection{Сокет-активация контейнеров}
|
\subsection{Сокет-активация контейнеров}
|
||||||
|
|
||||||
@@ -4527,13 +4549,10 @@ systemd начнет прослушивать TCP-порт 23. При подкл
|
|||||||
классические inetd-службы, кроме встроенных) или systemd (зависят от библиотеки
|
классические inetd-службы, кроме встроенных) или systemd (зависят от библиотеки
|
||||||
+libsystemd-daemon.so+, либо содержат в исходниках заголовочный файл
|
+libsystemd-daemon.so+, либо содержат в исходниках заголовочный файл
|
||||||
+sd-daemon.h+). Службы, которые сами открывают себе слушающий сокет и
|
+sd-daemon.h+). Службы, которые сами открывают себе слушающий сокет и
|
||||||
не~содержат кода для приема уже открытого сокета, так активировать нельзя.
|
не~содержат кода для приема уже открытого сокета, так активировать нельзя.}, а
|
||||||
Точнее, в случае с сетевыми и файловыми сокетами, все-таки можно, но первое
|
те сокеты, которые будут настроены для прослушивания внутри контейнера, но
|
||||||
соединение/сообщение при этом будет <<потрачено>> на запуск контейнера, и до
|
не~получены от хоста, будут активированы и доступны изнутри контейнера (а если
|
||||||
службы в итоге дойдут только последующие, начина со второго, что сводит выгоды
|
это сетевые или файловые unix-сокеты, то и извне).
|
||||||
практически к нулю.}, а те сокеты, которые будут настроены для прослушивания
|
|
||||||
внутри контейнера, но не~получены от хоста, будут активированы и доступны
|
|
||||||
изнутри контейнера (а если это сетевые или файловые unix-сокеты, то и извне).
|
|
||||||
|
|
||||||
Итак, давайте отступим чуть назад и полюбуемся на результаты наших трудов. Что
|
Итак, давайте отступим чуть назад и полюбуемся на результаты наших трудов. Что
|
||||||
мы получили в итоге? Возможность настраивать на одном хосте множество
|
мы получили в итоге? Возможность настраивать на одном хосте множество
|
||||||
|
|||||||
Reference in New Issue
Block a user