Saltar al contenido

¿Cómo saber qué servicios se ejecutan al inicio en Raspberry Pi? (raspbian)

Solución:

Supongo que tiene una frambuesa que usa raspian, que, según mi leal saber y entender, aún no ha pasado a systemd. En este caso, la respuesta es la siguiente.

EDITAR: para systemd (Jessie o posterior), ver en la parte inferior.

Primero, puede determinar qué sistema está en la actualidad corriendo por medio del comando:

  sudo service --status-all

Obtendrá una lista similar a esta:

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

los + ‘s indicar los servicios en ejecución, el -‘s servicios no corriendo, el ?’s servicios que no permiten estado como un comando posible: en su mayoría son comandos que no necesitan ejecutarse todo el tiempo, solo ocasionalmente.

Para volver a su pregunta, debe comprender nivel de ejecucións en Linux. Los niveles de ejecución (0-6 + S) identifican qué servicios pueden / deben ejecutarse. Una secuencia de arranque progresa desde un nivel de ejecución inicial (especificado en / etc / inittab, en mi frambuesa

 # The default runlevel.
 id:2:initdefault:

esta línea lo identifica como 2, y luego avanza al nivel de ejecución final estándar de su distribución (de 2 a 5). Identifica su nivel de ejecución actual mediante el comando

 # runlevel
 N 2

(en mi caso, un servidor sin cabeza). Los otros niveles de ejecución son (nuevamente de é / etc / inittab *):

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

El usuario único (1) a menudo también se identifica como S.

En un arranque normal, comienza en 2 y progresa hasta 5. Para encontrar los servicios iniciados en esta progresión, emita el comando:

 # 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

Esto imprime la línea que comienza con Inicio predeterminado en todos los archivos en /etc/init.d/, que es donde se guardan los archivos que identifican los distintos servicios. La línea en cuestión identifica el nivel de ejecución donde se iniciará cada servicio. Si un servicio se inicia en el nivel de ejecución N, cuando el sistema progresa a N + 1, no es necesario volver a iniciarlo, pero si se encuentra que no se está ejecutando, se inicia.

Esto le da una idea exacta de las diferentes etapas en las que se inician los servicios. Pero dentro del mismo nivel de ejecución, las líneas Required-Start y Should-Start definen dependencias rígidas y suaves para el servicio en cuestión, es decir servicios que debe corre y deberían ejecutar antes del servicio que se está examinando. Sin los servicios de Required-Start, el servicio en cuestión fallará, sin los servicios Should-Start, en cambio, no habrá fallas generales, posiblemente solo la falta de algunas características útiles. Lo mismo ocurre al detenerse con Required-Stop y Should-Stop.

SYSTEMD:

El comando para listar todos los servicios es

systemctl list-unit-files

que escupirá mucha información. Para seleccionar todos los servicios activado, es decir, aquellos que se inician en el arranque, simplemente grep el comando anterior de la siguiente manera:

 systemctl list-unit-files | grep enabled 

Prefiero este comando a unidades de lista systemctl: la diferencia es que este solo mostrará los servicios que su sistema operativo tiene en la memoria = el sistema operativo cree que necesita), mientras que systemctl list-unit-files mostrará todos servicios instalados, incluidos los que son enmascarado (es decir aquellos que se supone que nunca deben iniciarse, ni siquiera manualmente), y aquellos que no activar, que se llaman estático. En otras palabras, el comando que sugerí es más completo que el que solo enumera activo servicios.

nótese bien: systemd es muy diferente de los sistemas init anteriores. En particular, no tiene niveles de ejecución, pero objetivos. niveles de ejecución todavía existen por razones de compatibilidad, y se pueden ver como objetivos específicos al enumerar todos los objetivos disponibles a través de

systemctl list-unit-files --type=target

mientras puedes ver tu objetivo actual por medio de

$ systemctl get-default
  graphical.target

Para más información sobre esto, puede leer la excelente página de introducción de DigitalOcean.

Para una gestión sencilla del servicio de inicio en Raspberry Pi, recomiendo la herramienta rcconf. Le permite activar / desactivar fácilmente los servicios en /etc/init.d/. También puede ver si están habilitados y se ejecutarán al inicio.

Para instalar la herramienta

sudo apt-get install rcconf

Y es muy simple de usar con la interfaz de usuario de texto.

sudo rcconf

sudo nano /etc/rc.local

Aquí es donde inserta el archivo por lotes o los comandos para ejecutar en el arranque. También ejecuto automáticamente Openvpn en el arranque 🙂

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *