Sistema de arranque RC en OpenBSD
Sistema de arranque RC en OpenBSD
Escrito por Adrian Ali el 26 de abril de 2022, usando OpenBSD Release 7.2 contacto: adrianali arroba fortix.com.ar
Índice
1. Introducción
2. Comandos de administración del sistema RC
3. Crear un script RC
4. Referencias
1. Introducción
OpenBSD usa un sistema de arranque RC. Tenemos dos archivos principales que controlan el sistema RC, el primero:
/etc/rc.conf
este tiene la configuración por defecto de que levanta y que no en el arranque, esa configuración está ligada a la versión de OpenBSD que tengamos instalada. Este archivo no debe ser modificado de ninguna forma, puesto que si queremos cambiar los valores por defecto del sistema se debe hacer con el archivo:
/etc/rc.conf.local
lo recomendable es no modificar el archivo con un editor, sino usando el comando rcctl
. Si lo modificamos con un editor, lo primero es ver como se llama la variable que controla el servicio o demonio, ejemplo:
puffy ~ # grep ssh /etc/rc.conf
sshd_flags=
puffy ~ #
vemos que el valor por defecto de la variable sshd_flags
es nada, eso significa que el demonio de ssh arranca por defecto, fijarse que no se pone "YES" sino nada, es más si pondríamos:
sshd_flags=YES
daría error. Si queremos desactivar que no arranque por defecto el demonio ssh tendríamos que tener la variable configurada a NO
pero en el otro archivo:
puffy ~ # grep ssh /etc/rc.conf.local
sshd_flags=NO
puffy ~ #
recordemos de vuelta que esto es recomendable hacerlo con el comando rcctl
para evitar errores de tipeo.
2. Comandos de administración del sistema RC
Obtener ayuda:
puffy ~ # rcctl
usage: rcctl get|getdef|set service | daemon [variable [arguments]]
rcctl [-df] check|reload|restart|stop|start daemon ...
rcctl disable|enable|order [daemon ...]
rcctl ls all|failed|off|on|started|stopped
puffy ~ #
más ayuda:
puffy ~ # man rcctl
algunos ejemplos:
rcctl ls on........: muestra los que están activados para iniciar en arranque
rcctl ls started...: muestra los que están ejecutándose
rcctl enable lpd...: activo el demonio para que arranque en boot
rcctl start lpd....: arranco el demonio lpd
rcctl stop lpd.....: apago el demonio lpd
3. Crear un script RC
Si necesitamos crear nuestro propio script RC los pasos son:
Crear el script en:
/etc/rc.d
ejemplo script foo:
#!/bin/sh
daemon="/usr/local/bin/food"
. /etc/rc.d/rc.subr
rc_cmd $1
dar permisos:
chmod 555 /etc/rc.d/foo
editar en:
vi /etc/rc.conf.local
y agregar:
foo=
NOTA: Fijarse que cuando queremos que algo como un demonio o rutina de arranque no levante en boot ponemos:
httpd_flags=NO
pero si queremos que levante no ponemos "YES" sino nada:
httpd_flags=
por último ejecutar:
. /etc/rc.conf.local
. /etc/rc.conf
rcctl enable foo