Как я определяю, используют ли мои сервисы runit или init?

Необходимо установить manpages-dev пакет:

$ dpkg -S /usr/share/man/man7/regex.7.gz
manpages: /usr/share/man/man7/regex.7.gz

$ dpkg -S /usr/share/man/man3/regex.3.gz
manpages-dev: /usr/share/man/man3/regex.3.gz

Практически все страницы справочника в разделах 2 и 3 прибывают из manpages-dev пакет.

Я предполагаю, что это вызвано тем, что они поднимают приблизительно 20 МБ, и некоторым пользователям не нужны они.

(Существуют также некоторые страницы справочника, предоставленные различным *-dev пакеты и язык программирования определенные пакеты, например. *-perl.)

Если никогда Вы не можете найти файл, но Вы знаете часть его имени, apt-file может помочь:

$ apt-file search regex.3.gz
...
manpages-dev: /usr/share/man/man3/regex.3.gz
...
4
28.08.2013, 11:33
3 ответа

Я не абсолютно уверен, но с тех пор runit использует супервизор, необходимо смочь распознать его от рассмотрения дерева процесса, т.е. от вывода ps faux или, если это установлено, pstree.

Вы могли также просто спросить runit, т.е. выполненный sv status nginx.

Обратите внимание однако, что, если все Вы сделали, был установить runit, возможно ничто не было переключено для использования его вместо "плоскости" init. Можно исследовать /proc/cmdline для возникновения init=/sbin/runit-init.

0
27.01.2020, 21:02

При необходимости в сервисах, чтобы иметь интерфейс общего контроля, может быть лучше подражать init.d поведению сценария с sv команда. Если sv назван как a /etc/init.d/NAME command, это автоматически переводит это в sv command NAME.

Если Вы выполняете некоторый сервис (скажем, ssh) под runit супервизор, можно сделать следующее:

  1. Переименуйте текущий init сценарий:

    dpkg-divert --rename /etc/init.d/ssh
    
  2. Создайте символьную ссылку с тем же именем:

    ln -vs $(which sv) /etc/init.d/ssh
    

Теперь можно справиться с сервисом со знакомыми командами как это:

/etc/inti.d/ssh status
invoke-rc.d ssh status

Наличие символьной ссылки вызовет некоторые жалобы на заголовки LSB, все же. Таким образом, еще лучше не иметь символьную ссылку, но создать сценарий обертки как это:

#!/bin/sh

### BEGIN INIT INFO
# copy these headers from your original script which
    # can be found at /etc/init.d/ssh.distrib
    ### END INIT INFO

exec /usr/bin/chpst -b $0 /usr/bin/sv "$@"

Таким образом, можно справиться с сервисами тот же путь, являются ли они под runit или нет.

0
27.01.2020, 21:02

pstree дает мне процессы, как показано ниже,

$ pstree
init-+-VBoxService---7*[{VBoxService}]                                                                 
     |-acpid                                                                                           
     |-atd                                                                                             
     |-cron                                                                                            
     |-dbus-daemon                                                                                     
     |-2*[dhclient3]                                                                                   
     |-5*[getty]                                                                                       
     |-login---bash---sudo---su---bash---pstree                                                        
     |-nginx---4*[nginx]                                                                               
     |-rsyslogd---3*[{rsyslogd}]                                                                       
     |-runsvdir-+-runsv---node---{node}                                                                
     |          |-runsv---java---9*[{java}]                                                            
     |          `-runsv                                                                                
     |-sshd                                                                                            
     |-udevd---2*[udevd]                                                                               
     |-upstart-socket-                                                                                 
     |-upstart-udev-br                                                                                 
     `-whoopsie---{whoopsie} 

С этим, я думаю, можно решить.

1
27.01.2020, 21:02

Теги

Похожие вопросы