Как узнать, какие службы запускаются при запуске на малине Pi? (Raspbian)

У меня есть некоторые службы, которые запускаются при загрузке, но я действительно забыл, как я их настраивал! Если я хочу изменить свою деятельность, как я могу это сделать? Например, возможно, я хочу отключить службу от запуска при загрузке или, возможно, начать ее с помощью другого метода.

В частности, у меня есть служба openvpn, которая успешно запускается при загрузке, но некоторые учебные пособия говорят, что я должен привязать службу программ обмена файлами к самому vpn, чтобы, если vpn идет вниз, тогда также работает служба обмена файлами. Но я думаю, что, возможно, авторизация моего vpn усложняет ситуацию, и я должен отключить ее или изменить способ ее запуска. Но как проверить?

16 голосов | спросил user1502186 15 MonEurope/Moscow2014-12-15T05:59:25+03:00Europe/Moscow12bEurope/MoscowMon, 15 Dec 2014 05:59:25 +0300 2014, 05:59:25

3 ответа


20

Я предполагаю, что у вас есть малина с использованием raspian, которая, насколько мне известно, еще не перешла к systemd . В этом случае ответ следующий.

EDIT: для systemd (Джесси или позже), см. внизу .

Сначала вы можете определить, какая система в настоящее время работает с помощью команды:

  sudo service --status-all

Вы получите список примерно так:

  [ + ]  triggerhappy
  [ + ]  udev
  [ ? ]  udev-mtab
  [ ? ]  umountfs
  [ ? ]  umountnfs.sh
  [ ? ]  umountroot
  [ - ]  urandom
  [ + ]  vsftpd
  [ + ]  weewx
  [ - ]  x11-common

+ указывают на запущенные службы - не , ? > служб, которые не позволяют статус как возможную команду: они - это в основном команды, которые не нужно запускать все время, просто изредка.

Чтобы вернуться к вашему вопросу, вам нужно понять runlevel s в Linux. Уровни выполнения (0-6 + S) определяют, какие службы могут /должны выполняться. Последовательность загрузки начинается с начального уровня выполнения (указанного в /etc /inittab , в моей малине

 # The default runlevel.
 id:2:initdefault:

эта строка идентифицирует его как 2, а затем переходит к вашему окончательному уровню запуска вашего дистрибутива (от 2 до 5). Вы определяете текущий уровень выполнения с помощью команды

 # runlevel
 N 2

(в моем случае, безголовый сервер). Остальные уровни выполнения (снова из é /etc /inittab *):

 # Runlevel 0 is halt.
 # Runlevel 1 is single-user.
 # Runlevels 2-5 are multi-user.
 # Runlevel 6 is reboot.

Один пользователь (1) часто также идентифицируется как S.

При нормальной загрузке, таким образом, вы начинаете с 2 и продолжаете до 5. Чтобы найти службы, запущенные в этой прогрессии, выполните команду:

 # grep -nrI Default-Start /etc/init.d
 umountroot:7:# Default-Start:
 checkroot.sh:8:# Default-Start:     S
 kbd:6:# Default-Start:     S
 isc-dhcp-server:11:# Default-Start:     2 3 4 5
 mountkernfs.sh:7:# Default-Start:     S
 hostname.sh:7:# Default-Start:     S
 mountnfs.sh:7:# Default-Start:     S
 halt:6:# Default-Start:
 dphys-swapfile:20:# Default-Start:     2 3 4 5
 bootlogs:7:# Default-Start:     1 2 3 4 5
 rc.local:6:# Default-Start:     2 3 4 5
 hostapd:9:# Default-Start:      2 3 4 5
 keyboard-setup:8:# Default-Start:     S
 lightdm:7:# Default-Start:     2 3 4 5
 procps:11:# Default-Start:     S
 mysql:9:# Default-Start:     2 3 4 5
 single:6:# Default-Start:     1
 vsftpd:7:# Default-Start:       2 3 4 5
 samba:7:# Default-Start:     2 3 4 5
 mountall.sh:6:# Default-Start:     S
 weewx:20:# Default-Start:     2 3 4 5
 umountnfs.sh:7:# Default-Start:
 triggerhappy:6:# Default-Start:     2 3 4 5
 ifplugd:24:# Default-Start:     2 3 4 5
 alsa-utils:9:# Default-Start:     S
 bootmisc.sh:7:# Default-Start:     S
 sendsigs:6:# Default-Start:
 console-setup:7:# Default-Start:     S
 nfs-common:7:# Default-Start:     2 3 4 5 S
 checkroot-bootclean.sh:6:# Default-Start:     S
 rsyslog:7:# Default-Start:     2 3 4 5
 x11-common:7:# Default-Start:     S
 mountdevsubfs.sh:7:# Default-Start:     S
 cron:10:# Default-Start:     2 3 4 5
 mountnfs-bootclean.sh:6:# Default-Start:     S
 mountall-bootclean.sh:6:# Default-Start:     S
 screen-cleanup:11:# Default-Start:     S
 udev:6:# Default-Start:     S
 ssh:7:# Default-Start:  2 3 4 5
 haveged:8:# Default-Start:     2 3 4 5
 hwclock.sh:26:# Default-Start:     S
 plymouth:9:# Default-Start:     2 3 4 5
 motd:7:# Default-Start:     1 2 3 4 5
 killprocs:6:# Default-Start:     1
 networking:6:# Default-Start:     S
 fake-hwclock:9:# Default-Start:     S
 udev-mtab:6:# Default-Start:     S
 apache2:6:# Default-Start:     2 3 4 5
 reboot:6:# Default-Start:
 umountfs:6:# Default-Start:
 plymouth-log:9:# Default-Start: S
 openvpn:11:# Default-Start:     2 3 4 5
 kmod:8:# Default-Start:     S
 ntp:7:# Default-Start:   2 3 4 5
 rpcbind:9:# Default-Start:     S 2 3 4 5
 urandom:6:# Default-Start:     S
 rmnologin:6:# Default-Start:     2 3 4 5
 checkfs.sh:7:# Default-Start:     S
 sudo:8:# Default-Start:     2 3 4 5
 mtab.sh:6:# Default-Start:     S
 dbus:6:# Default-Start:     2 3 4 5
 rsync:8:# Default-Start:     2 3 4 5

Это печатает строку, начинающуюся с Default-Start во всех файлах в /etc/init.d /, где файлы, которые идентифицируют различные службы, сохраняется. Соответствующая строка определяет уровень запуска, на котором каждая служба должна быть запущена. Если служба запускается на уровне выполнения N, когда система переходит к N + 1, ее не нужно запускать снова, но если она не запущена, она запускается.

Это дает вам точное представление о различных этапах запуска служб. Но в пределах того же уровня запуска строки Обязательный-Пуск и Начать-Начать определяют жесткие и мягкие зависимости для рассматриваемой службы, ie , которые должны , и должны выполняется перед проверкой службы. Без сервисов Required-Start служба, о которой идет речь, будет терпеть неудачу, без служб «Начать» вместо этого не будет общего отказа, возможно, просто отсутствия некоторых полезных функций. То же самое происходит при остановке с Required-Stop и Should-Stop.

SYSTEMD :

Команда для перечисления всех служб

systemctl list-unit-files

, который выплюнет много информации. Чтобы выбрать все службы enabled , i.e , те, которые запускаются при загрузке, просто выполните команду grep выше:

 systemctl list-unit-files | grep enabled 

Я предпочитаю эту команду systemctl list-units : разница в том, что в этом случае будут отображаться только службы, которые ваша ОС имеет в памяти = ОС думает, что это необходимо), а systemctl list- unit-files будут отображаться все установленные службы, включая те, которые masked ( ie те, которые, как предполагается, никогда не запускаются, даже не вручную), и те, которые будут не активированы, которые называются static . Другими словами, команда, которую я предложил, более полная, чем одна, перечисляющая только активные службы.

NB : systemd сильно отличается от предыдущих систем инициализации. В частности, у него нет уровней выполнения , но target . уровни выполнения по-прежнему существуют по соображениям совместимости и могут рассматриваться как конкретные цели, перечисляя все доступные цели с помощью

systemctl list-unit-files --type=target

, в то время как вы можете видеть свою текущую цель с помощью средствиз

$ systemctl get-default
  graphical.target

Подробнее об этом вы можете прочитать отличная вводная страница DigitalOcean .

ответил MariusMatutiae 16 TueEurope/Moscow2014-12-16T17:49:09+03:00Europe/Moscow12bEurope/MoscowTue, 16 Dec 2014 17:49:09 +0300 2014, 17:49:09
8

Для простого управления сервисом запуска на Raspberry Pi я рекомендую инструмент rcconf. Это позволяет вам легко включать /отключать службы в /etc/init.d/. Вы также можете увидеть, включены ли они и будут запускаться при запуске.

Чтобы установить инструмент

sudo apt-get install rcconf

И очень просто использовать его с текстовым интерфейсом

sudo rcconf
ответил jjurm 9 PMpThu, 09 Apr 2015 22:26:26 +030026Thursday 2015, 22:26:26
3
sudo nano /etc/rc.local

Здесь вы вставляете командный файл или команды для запуска при загрузке. Я автоматически запускаю Openvpn при загрузке:)

ответил Hexark 15 MonEurope/Moscow2014-12-15T14:09:00+03:00Europe/Moscow12bEurope/MoscowMon, 15 Dec 2014 14:09:00 +0300 2014, 14:09:00

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132