Translation(s): Spanish - English - Français - 한국어 - Brasileiro - Russian - 简体中文
systemd - administrador del sistema y servicios
Contents
Introducción
systemd es un administrador del sistema y de servicios para Linux. systemd es compatible con los scripts de inicio SysV y LSB. Trabaja como un reemplazo para sysvinit. Systemd
- Proporciona capacidades de paralelización agresivas
- Usa sockets y activación vía D-Bus para iniciar servicios
- Proporciona inicio por demanda a los daemons
- Implementa la lógica de control basada en dependencias transaccionales.
- Rastrea procesos usando los cgroups de Linux
- Soporta instantáneas y restauración
- Mantiene los puntos de montaje y automontaje
Puedes ver la página upstream para mayor información.
Instalación y pruebas
systemd se ha incluido en Debian Wheezy como "technology preview". Por favor verifica que esas usando dicha versión o mas reciente para obtener una versión reciente de systemd.
Instalación
Para instalar systemd ejecuta:
# apt-get update # apt-get install systemd
Esto instalará los paquetes de systemd pero no configurará systemd como tu sistema de "init".
Configurar para probarlo
Para probar systemd antes de convertirlo en el init predeterminado debes añadir los siguientes parámetros de inicio al kernel:
init=/bin/systemd
Puedes realizar esto en el menú de grub en un inicio del sistema, presiona la tecla "e" en el menú de grub y añade lo siguiente a la línea del kernel. Por ejemplo dependiendo de las necesidades particulares de tu sistema, puede lucir muy similar a:
linux /vmlinuz-3.13-1-amd64 root=/dev/mapper/root-root init=/bin/systemd ro quiet
Al iniciar valida que el PID 1 es systemd, si es correcto ya estas usando systemd.
Configurarlo como el predeterminado
Para usar systemd debes instalar systemd-sysv que proporciona los enlaces simbólicos para /sbin/init.
# apt-get install systemd-sysv
Para utilizarlo simplemente reinicia.
# reboot
Si tienes un kernel compilado por vos mismo, debes estar seguro de que tienes la versión 2.6.39 o mas reciente y habilitar las siguientes opciones:
* CONFIG_DEVTMPFS=y * CONFIG_CGROUPS=y * CONFIG_AUTOFS4_FS=[y|m] * CONFIG_IPV6=[y|m], opcional, pero altamente recomendado * CONFIG_FANOTIFY=y, opcional, requerido para systemd readahead, disponible en los kernel Linux >= 2.6.37.
Para una lista actualizada, revisa el archivo "REQUIREMENTS" en README.
Depuración
A veces es necesario investigar porque systemd se cuelga en un inicio, un reinicio o al apagar.
Solución #0: Elimina "quiet" de la línea de comandos del Kernel (es llamada "cmdline" o "la línea del grub")
Solución #1: Incrementa la verbosidad vía cmdline: Añade "systemd.log_target=kmsg systemd.log_level=debug"
Por supuesto tienes una solución "temporal" persistente:
[ /etc/default/grub ] GRUB_CMDLINE_LINUX="systemd.log_target=kmsg systemd.log_level=debug" <--- Añade aquí (con descomentarlo puedes cambiar la depuración) # update-grub
Adicionalmente mejora la cmdline con "systemd.sysv_console=1" (0: deshabilitado, 1: habilitado).
Solución #2: Incrementa la verbosidad vía /etc/systemd/system.conf
LogLevel=debug <--- Descomentando esta línea y usa "debug" (predeterminado: comentado e "info") LogTarget=syslog-or-kmsg <--- Descomentando esta línea (predeterminado: comentado) SysVConsole=yes <--- Descomentando esta línea (predeterminado: comentado)
Solución #3: Inicia con un shell de emergencia: Añade systemd.unit=rescue.target o simplemente 1 (el número uno) a la línea de comandos del kernel.
Solución #4: Habilita la depuración del shell: Ejecuta systemctl enable debug-shell.service. (Puedes ejecutar esto en un ambiente chroot después de iniciar un sistema de rescate.) Esto iniciará un shell root en TTY 9.
TIP: "man system" y "man systemd.conf" (Nota: El archivo es system.conf vs. la página de man system*d*.conf)
TIP: Abundante información de depuración sobre systemd está disponible en esta página de FreeDesktop.
TIP: Como verificar los parámetros/opciones de la línea de comandos del Kernel?
# cat /proc/cmdline
NOTA en LogLevel (mira systemd(1) y systemd.conf(5)):
"Set log level. As argument this accepts a numerical log level or the well-known syslog(3) symbolic names (lowercase): emerg, alert, crit, err, warning, notice, info, debug."
TIP: Puedes mantener una copia de /sbin/init del paquete sysvinit en caso de emergencias (o puedes usar init=/sbin/init.sysvinit en la cmdline)!
# cp -av /sbin/init /sbin/init.sysvinit <--- Después de instalar el paquete systemd-sysv
Mira también https://fedoraproject.org/wiki/How_to_debug_Systemd_problems
Bugs and Bug-Tracking-Systems
- For known bugs please see topic "Known Issues and Workarounds"
Errores conocidos y soluciones
sysvinit vs. systemd-sysv
Actualiza a sysvinit >= 2.88dsf-44.
Iniciar con bloques swap encriptados
Mira https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=712439#70 para un parche.
De acuerdo a este bug el parche no es necesario si actualizas a dmsetup 2:1.02.83-1.
Fallos al iniciar con lvm (en especial con /usr separado)
Actualiza a lvm2 >= 2.02.104-1
¿Donde obtener ayuda?
Systemd es un proyecto joven con una fuerte énfasis en resolver problemas en una manera agnóstica de las distribuciones.
Lista de correos @ https://lists.freedesktop.org/mailman/listinfo/systemd-devel
#systemd (irc.libera.chat)
Los canales específicos para Debian incluyen:
Lista de correos @ https://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-systemd-maintainers
#debian-systemd (irc.oftc.net)
Otras distribuciones que usan systemd
Recursos Debian
Otros Recursos
Charla sobre el estado actual de systemd en Debian y planes para Jessie en el FOSDEM 2013 por Tollef Fog Heen y Michael Biebl <biebl@debian.org>
Presentaciones de la charla del FOSDEM 2013
Charla sobre systemd en Debian en la Conferencia Linux Plumbers 2010 por Michael Biebl <biebl@debian.org>
TODO
Update more packages to ship systemd service files. See ?How to Help
- Draft a packaging policy involving systemd (upgrade / install / removal).
- Provide integration for package maintainer tools
- invoke-rc.d/update-rc.d/service integration.
- Get Essential flag removed from sysvinit.
- Sort out what to do about pam_loginuid, and integration into the Debian PAM stack
- Decide what to do about group:lock (/var/lock).
- Make systemd-vconsole work. Investigate which of the console-* and kbd* packages are actually required and how to migrate the configuration.