init (Español)

Esta traducción de
init
fue revisada el
2019-11-03
. Si existen
cambios
puede
actualizarla
o avisar al
equipo de traducción
.
Artículos relacionados
Arch boot process (Español)
ConsoleKit
Advertencia
Arch Linux solo tiene soporte oficial para
systemd
.
[1]
Cuando utilice un sistema init diferente, por favor mencione esto en las solicitudes de soporte.
Init
(abreviatura del término inglés
initialization
) es el primer proceso que se inicia durante el arranque del sistema. Es un demonio cuyo proceso continúa ejecutándose hasta que se apaga el sistema. Init es el ancestro directo o indirecto de todos los demás procesos, y adopta automáticamente todos los procesos huérfanos. El kernel lo inicia utilizando un nombre de archivo codificado. Si el kernel no puede iniciarlo, se producirá un
«kernel panic»
. A init generalmente se le asigna el
identificador de proceso (PID)
1.
Los
scripts
de init (o
rc
) son lanzados para garantizar la funcionalidad básica en el inicio y apagado del sistema. Esto incluye el (des)montaje del
sistemas de archivos
y el lanzamiento de los
daemons
. Un
gestor de servicios
va un paso más allá al proporcionar un control activo sobre los procesos ejecutados, o la
supervisión de procesos
. Un ejemplo es monitorear los bloqueos y reiniciar los procesos en consecuencia.
Estos componentes se combinan con el
sistema
init. Algunos inits incluyen el administrador de servicios en el proceso de inicio, o tienen scripts de inicio en estrecha relación con ellos. A estas entradas se hace referencia como «integradas», aunque las entradas en diferentes categorías pueden depender explícitamente entre sí.
Inits (integrados)
anopa
— Sistema de inicialización construido alrededor del conjunto de supervisión s6
https://jjacky.com/anopa/
||
anopa
AUR
GNU Shepherd
— Sistema de inicialización escrito en
Guile
.
https://www.gnu.org/software/shepherd/
||
shepherd
AUR
OpenRC
— Sistema de inicialización basado en dependencias.
https://www.gentoo.org/proj/en/base/openrc/
||
openrc
AUR
openrc-arch-services-git
AUR
systemd
— Sistema de inicialización basado en dependencias con una notable paralelización, supervisión de procesos mediante cgroups y capacidad de depender de un punto de montaje dado o servicio dbus.
https://systemd.io/
||
systemd
Inits
BusyBox
—  Utilidades para sistemas de rescate e incrustados.
https://busybox.net/
||
busybox
ninit
— Fork de
minit
[
enlace roto
2025-08-15]
http://riemann.fmi.uni-sofia.bg/ninit/
[
enlace roto
2025-01-19]
||
ninit
AUR
[
enlace roto
: package not found]
sinit
— Init simple inicialmente basado en la inicialización mínima de Rich Felker.
https://core.suckless.org/sinit
||
sinit
AUR
Scripts de init
initscripts-fork
— Fork de los scripts de SysVinit mantenido en Arch Linux.
https://bitbucket.org/TZ86/initscripts-fork/overview
||
initscripts-fork
AUR
[
enlace roto
: package not found]
minirc
— Script de inicialización mínimo diseñado para BusyBox.
https://github.com/hut/minirc/
||
minirc-git
AUR
[
enlace roto
: package not found]
Gestores de servicios
daemontools
— Colección de herramientas para gestionar servicios UNIX.
https://cr.yp.to/daemontools.html
||
daemontools
AUR
[
enlace roto
: package not found]
Monit
— Monit es una herramienta de supervisión de procesos para Unix y Linux. Con monit, el estado del sistema se puede ver directamente desde la línea de órdenes o mediante el servidor web HTTP(S) nativo.
https://mmonit.com/monit/
||
monit
perp
— Supervisor de proceso persistente (servicio) y marco de administración para UNIX.
http://b0llix.net/perp/
||
perp
AUR
runit
— Esquema de inicialización de UNIX con supervisión de servicio, un reemplazo para SysVinit y otros esquemas de init.
https://smarden.org/runit/
||
runit
AUR
[
enlace roto
: package not found]
s6
— Pequeño conjunto de programas para UNIX, diseñado para permitir la supervisión del servicio en la línea de daemontools y runit.
https://skarnet.org/software/s6/
||
s6
AUR
Configuración
Migrar servicios en ejecución
Para ejecutar demonios bajo el nuevo init, guarde una lista de demonios en ejecución:
$ systemctl list-units --state=running "*.service" > daemons.list
y configure los
#Scripts de init
en consecuencia. Vea también
[2]
.
Nota
systemd-tmpfiles(8)
,
kernel modules (Español)
y
sysctl
puede que también necesiten configuración.
logind
logind
requiere que
systemd
sea el proceso de inicio.
[3]
Como tal, las
sesiones locales
y otras funciones no estarán disponibles.
Sugerencia
Una versión independiente de
logind
está disponible como
elogind-git
AUR
[
enlace roto
: package not found]
[4]
Permisos del dispositivo
Añada usuarios a los
grupos de usuarios
respectivos para acceder al dispositivo y reiniciarlo. La pertencia actual al grupo debe verificarse primero con
id
user
.
# usermod -a -G video,audio,power,disk,storage,optical,lp,scanner
user
Consulte también
Users and groups#Pre-systemd groups
. Para crear reglas de grupo para usar con
Polkit
, vea
Polkit#Bypass password prompt
.
Rootless X (1.16)
Como
Xorg.wrap
no verifica si logind está activo
[5]
, los
derechos de root para Xorg
deben activarse manualmente:
/etc/X11/Xwrapper.config
needs_root_rights = yes
Administración de energía
Consulte
pm-utils
AUR
y
acpid
para reemplazar la
administración de energía con systemd
.
Tareas programadas
Arch utiliza los archivos
timer
en lugar de
cron
por defecto. Vea
archlinux-cronjobs
[
enlace roto
2025-08-15]
para conocer trabajos cron básicos.
Dbus
Las instancias de usuario de
dbus-daemon
son lanzadas por
systemd/User
[6]
. Cuando requiera
IPC
(del inglés «comunicación inter procesos) entre aplicaciones de escritorio, restaure
30-dbus.sh
:
/etc/X11/xinit/xinitrc.d/30-dbus.sh
#!/bin/bash

# launches a session dbus instance
if [ -z "${DBUS_SESSION_BUS_ADDRESS-}" ] && type dbus-launch >/dev/null; then
  eval $(dbus-launch --sh-syntax --exit-with-session)
fi
Consejos y trucos
systemd-nspawn
systemd-nspawn
es una herramienta para sistemas systemd. Sin embargo, desde Linux 2.6.19 es posible ejecutar systemd en un sistema no systemd utilizando el espacio de nombres PID. Para ello, el kernel debe configurarse con
CONFIG_PID_NS
y
CONFIG_NAMESPACES
).
El espacio de nombres PID crea una nueva jerarquía de procesos que comienzan con PID 1. Además de esto, systemd requiere que se monte un sistema de archivos raíz enjaulado (chrooteado). Por lo tanto, debe al menos realizar un montaje de «bind», porque de lo contrario algunos servicios fallarán con:
"Failed at step NAMESPACE spawning" due to "Invalid operation"
dado que systemd intentará volver a montar la raíz con la opción
private
.
Para configurar un entorno enjaulado (chroot) con un nuevo espacio de nombre PID puede usar jchroot.
[7]
[8]
. 
Asegúrese de no montar
/proc
dentro de la nueva raíz antes de realizar chroot, de lo contrario, systemd detectará el entorno chroot. Puede montarlo más tarde una vez que se esté ejecutando systemd.
Reemplazar udev
Advertencia
Reemplazar udev no es necesario ya que
systemd-udev
es funcional sin
systemd
como PID 1. Algunos reemplazos como
eudev
tampoco pueden coexistir con
systemd
—asegúrese de que un init alternativo se inicie
antes
de su instalación—.
eudev
— eudev es un fork de udev iniciado por el proyecto Gentoo. Está diseñado y probado principalmente con OpenRC.
https://wiki.gentoo.org/wiki/Eudev
||
eudev
AUR
[
enlace roto
: package not found]
eudev-git
AUR
[
enlace roto
: package not found]
mdev
— Administrador de dispositivos para su utilización en sistemas integrados.
https://git.busybox.net/busybox/plain/docs/mdev.txt
||
busybox
Véase también
Debian init system debate
How to run s6-svscan as process 1
Replace systemd with busybox + minirc
Experiments of Manjaro
Init vs. runsv
Demystifying the init system
A history of modern init systems (1992-2015)
[
enlace roto
2024-10-12]
Comparison of init systems (gentoo wiki)