Cómo usar /etc /rc.Local en el arranque

Cómo usar /etc /rc.Local en el arranque
El RC.local El script en algunas distribuciones de Linux y sistemas UNIX es un script de inicio de Superuser, generalmente ubicado en el directorio/etc/etc/rc.d. El nombre del archivo RC se refiere a ejecutar control.

RC.El local es un script obsoleto que se mantiene para fines de compatibilidad para sistemas SYSTEMV.

Alguna vez fue un archivo universal presente en la mayoría de las distribuciones de Linux debido a su simplicidad para que los administradores de Linux definan scripts de inicio o servicios adicionales para comenzar.
El archivo rc.Local no contiene información sobre los componentes de inicio del sistema, sino solo componentes definidos por Superuser/Root. Sin embargo, no todos los programas de inicio de raíz se describen en RC.local pero solo aquellos que no interfieren con los componentes del sistema. Por lo general, RC.local se ejecuta después de que se inician los servicios normales.

Los sistemas Linux más nuevos, incluido Systemd, reemplazaron el RC.guión local, pero se puede restaurar a pesar de Ser una solución recomendada. Este tutorial muestra cómo restaurar y usar el RC.script local y use RC-Local por Systemd en nuevas distribuciones de Linux.

Habilitación /etc /rc.Local en distribuciones de Linux usando Systemd:

IMPORTANTE: Es importante recordar /etc /rc.local se suspende y reemplaza. El método actual para ejecutar scripts en el arranque se describe después de las instrucciones para habilitar /etc /rc.local. Este tutorial está destinado a usuarios con necesidades específicas.

Para comenzar, cree el archivo /etc/rc.local Usando el editor que desea y sudo (o root):

nano /etc /rc.local

Pegue el código a continuación en el archivo y reemplace con el comando que desea ejecutar al inicio. No uses sudo. Si un comando incluido en este script no se ejecuta, el servicio que llamará a RC.local (RC-Local.servicio) fallará.

#!/bin/sh -e
#
# RC.local
#
# Este script se ejecuta al final de cada Multiuser RunLevel.
# Asegúrese de que el script "salga 0" en el éxito o cualquier otro
# valor en error.
#
# Para habilitar o deshabilitar este script, simplemente cambie la ejecución
# bits.
#
# Por defecto, este script no hace nada.

Salir 0

En mi ejemplo, usaré el RC.Script local para actualizar la base de datos de Security Scan Vuls cada vez que comienza el sistema. Puede escribir cualquier script que desee ejecutarse al principio, excepto para scripts de red (como iptables) que puede interferir con el proceso de inicio normal y tener sus propios scripts o directorios de inicio.

Guarda el archivo (CTRL+X y Y) y darle permisos de ejecución ejecutando el comando a continuación:

sudo chmod +x /etc /rc.local

Crea el archivo /etc/systemd/system/rc-local.servicio, correr:

nano/etc/systemd/system/rc-local.servicio

Pegar los siguientes comandos y salir de guardado presionando CTRL+X y Y.

Execstart =/etc/rc.inicio local
TimeoutSec = 0
StandardOutput = TTY
PermanecerfterExit = sí
Sysvstartpriority = 99
[Instalar]
Wantedby = Multi-user.objetivo

Habilitar RC-Local:

sudo systemCTL habilita rc-local

Ahora puedes comenzar el RC-Local.servicio, que leerá el /etc /rc.archivo local. Ejecute el comando que se muestra a continuación:

SystemCTL Start RC-Local.servicio

Puede verificar si RC-Local se cargó correctamente ejecutando lo siguiente:

estado systemctl rc-local.servicio

La forma correcta (Systemd):

El proceso descrito anteriormente es antiguo, obsoleto y puede bloquear algunos servicios.
Esta sección muestra el proceso actual para iniciar scripts o servicios en Boot para distribuciones de Linux utilizando Systemd.

Systemd es un gerente de servicios que asigna grupos de control de servicios (CGROUP) y rastrea los procesos. Systemd es el proceso (PID) 1 responsable del inicio del sistema.

Para agregar servicios o scripts al inicio, debe crear un unidad de Systemd.
Las unidades Systemd incluyen servicios (.servicio), Puntos de montaje (.montar), dispositivos (.dispositivo) o enchufes (.enchufe). Contrariamente al antiguo proceso descrito anteriormente con RC.Local, en lugar de editar el mismo archivo que contiene información sobre los scripts de usuario, debe crear una unidad de servicio Systemd para cada script que desee ejecutar al inicio.

Las unidades Systemd se encuentran en /etc/systemd/sistema, Y ahí es donde necesitamos crear la unidad SystemD para el script que queremos ejecutar en el arranque.

La siguiente imagen muestra el contenido de la unidad Visión de equipo.servicio.

Donde las directivas [Unidad]:

  • Descripción = Esta directiva describe la unidad; puedes configurar el nombre de la unidad.
  • Requiere = Aquí, puede especificar dependencias para evitar fallas de inicio.
  • Deseos = Al igual que el anterior, mantiene el servicio funcionando incluso si no encuentra las dependencias definidas.
  • Después = La unidad comenzará después de lo especificado en esta directiva.

Algunas directivas utilizadas en la sección [Servicio] se pueden compartir con [Unidad].

  • Tipo = En el ejemplo que se muestra arriba, bifurcación indica que el servicio será asesinado, manteniendo los procesos infantiles que se les debe asignar un PID.
  • Pidfile = La directiva de FORKING requiere la Directiva PIDFILE, que debe contener la ruta al archivo PID del proceso infantil para que Systemd lo identifique.
  • Execstart = Aquí, especifica la ruta y los comandos que desea ser ejecutado. Esto es similar al RC.archivo local.
  • Reiniciar = Esta directiva instruye a Systemd cuándo reiniciar la unidad. Las opciones disponibles son en fallas, abortes, siempre, a continuación, a wapathdog o en abnormal.
  • StartLimitInterval = Esta directiva indica que la unidad tiene 60 segundos para 10 intentos de reiniciar sobre la falla.
  • StartLimitBurst = Esta directiva indica el límite de intentos, en el ejemplo anterior, 10 intentos en 60 segundos.

La única directiva [de instalación] en el ejemplo anterior es Wantedby.

  • Wantedby = Aquí, puede especificar esta unidad como una dependencia; Es similar a la Directiva de deseos, pero para definir la unidad actual se considera una dependencia por otra unidad.

Nota: Puede verificar todas las directivas del sistema en
https: // www.Freedesktop.org/Software/Systemd/Man/Systemd.directivas.html

Agregar su propia unidad Systemd:

Para ejecutar un script al inicio, cree en /etc/systemd/sistema con su nombre seguido de un punto y servicio, por ejemplo, Linuxhint. Servicio. Puede usar nano como en la siguiente muestra:

Pegar lo siguiente, reemplazar <Nombre o descripción del script> con una descripción de su script y dónde /usr/sbin/linuxhint.mierda Escribe el camino correcto.

[Unidad]
Descripción ==