Como otros ya han señalado aquí, en teoría, esto no debería afectar al usuario final no técnico, y en teoría no hay diferencia entre teoría y práctica, pero en la práctica sí.
Aclaración
Creo que pocas cosas publicadas aquí necesitan alguna aclaración:
Es un sistema init, no es algo con lo que los usuarios interactúan tradicionalmente.
Fue el caso con SysV init y con Upstart, pero ya no es el caso con systemd. Hace muchas cosas con las que los usuarios interactúan tradicionalmente:
Debería reemplazar por completo la funcionalidad proporcionada por Upstart, y hacer algunas cosas adicionales
Dos cosas para aclarar: primero sobre reemplazar completamente Upstart:
No hay scripts de inicio de SysV
Uno de los problemas que tiene la gente con systemd es que no ejecuta scripts de inicio SysV. Entonces, hay un ejemplo de que no reemplaza completamente la funcionalidad proporcionada por Upstart.
Esto es algo en lo que podríamos confiar durante más de 30 años y, tradicionalmente, usted escribió scripts de inicio SysV para una portabilidad máxima sin repetirse (escribiendo múltiples versiones de los mismos scripts), lo cual ya no es el caso.
Esto no debería ser un problema cuando se usan solo paquetes de repositorios oficiales porque presumiblemente todos los paquetes que solían tener sysV init o Upstart necesitarían reescribirse sus scripts antes de empaquetarse.
Solo será un problema para las personas que utilicen algún software personalizado o de terceros que tenga sus scripts de inicio escritos para SysV init o para Upstart y que necesitarán reescribir los scripts de inicio antes de actualizar a un sistema con systemd (u obtener el advenedizo instalado, que también es una opción , o migrar a un sistema que no usa systemd).
Hay systemd-sysv-generator que se supone que traduce automáticamente los scripts de inicio de SysV a scripts de systemd, pero hay algunos errores y una larga lista de incompatibilidades explícitas .
Ahora, la segunda aclaración: sobre esas pocas cosas adicionales:
Pocas cosas extra
Esas "pocas cosas adicionales" que cubrirá systemd, de acuerdo con una Perspectiva para systemd, lo que se ha logrado y la presentación de Lies Ahead de Lennart Poettering en 2014 en GNOME.asia, son las siguientes:
- sistema init
- registro de diario
- gestión de inicio de sesión
- gestión de dispositivos
- gestión de archivos temporales y volátiles
- registro en formato binario
- retroiluminación guardar / restaurar
- rfkill guardar / restaurar
- diagrama de arranque
- leer por adelantado
- configuración de almacenamiento encriptado
- Descubrimiento de partición EFI / GPT
- registro de máquina virtual / contenedor
- gestión de contenedores
- gestión de nombre de host
- gestión local
- gestión del tiempo
- manejo aleatorio de semillas
- gestión de variables sysctl
- gestión de la consola
- introspección
- descubrimiento automático
- conecta y reproduce
- administración de redes
- systemd-networkd
- Caché de DNS
- respondedor mDNS
- Respondedor LLMNR
- Verificación DNSSEC
- IPC en el núcleo
- kdbus
- sd-bus
- sincronización horaria con NTP
- systemd-timesyncd
- integración con contenedores
- sandboxing de servicios
- sandboxing de aplicaciones
- Formato de imagen del sistema operativo
- Formato de imagen de contenedor
- Formato de imagen de la aplicación
- GPT con autodescubrimiento
- Sistemas sin estado
- sistemas instanciables
- restablecimiento de fábrica
- inicialización de nodo y actualizaciones
- integración con la nube
- gestión de servicios entre nodos
- Imágenes del sistema operativo verificables hasta el firmware
- Carga de arranque
- Construyendo el sistema operativo de próxima generación de Internet Unificando diferencias sin sentido entre distribuciones
Volviendo a: "Es un sistema de inicio, no es algo con lo que los usuarios interactúen tradicionalmente". - Hay que señalar que el sistema init es solo un elemento en esa lista.
Y finalmente, lo último que me gustaría comentar:
[L] a vez que un usuario no técnico verá esto es cuando sale mal.
Oh, que alivio. :)
Cambios
Los cambios más notables para los usuarios finales (que no sean los propios scripts) es iniciar y detener servicios y usar comandos como:
que ya no funciona como se esperaba. Por ejemplo, nohup
es un comando POSIX para asegurarse de que el proceso siga ejecutándose después de cerrar sesión en su sesión. Ya no funciona en systemd. Además, los programas como screen
y tmux
deben invocarse de una manera especial o de lo contrario los procesos que ejecuta con ellos se eliminarán (aunque no lograr que se eliminen esos procesos suele ser la razón principal de ejecutar screen o tmux en primer lugar).
Esto no es un error, es una opción de diseño, por lo que no es probable que se solucione en el futuro. Esto es lo que Lennart Poettering ha dicho sobre este tema:
En mi opinión, en realidad era bastante extraño para UNIX que, de forma predeterminada, permitiera que el código de usuario arbitrario permaneciera sin restricciones después del cierre de sesión. Se ha discutido desde hace mucho tiempo entre muchas personas del sistema operativo, que esto debería ser posible, pero ciertamente no debería ser el predeterminado, pero hasta ahora nadie se atrevió a cambiar el interruptor para pasar de un valor predeterminado a una opción. No limpiar las sesiones de los usuarios después del cierre de sesión no solo es feo y algo hackeo, sino también un problema de seguridad. systemd 230 ahora finalmente activó el interruptor y finalmente, por defecto, limpia todo correctamente cuando el usuario cierra la sesión.
Para más información ver:
Corriendo screen
- advenedizo:
screen
- systemd:
systemd-run --user --scope screen
(Nota: el comportamiento de "upstart" anterior es realmente cualquier cosa excepto systemd, esto no es específico de upstart)
Comenzando trabajo foo:
- advenedizo:
start foo
- systemd:
systemctl start foo
Detener el trabajo foo:
- advenedizo:
stop foo
- systemd:
systemctl stop foo
Reiniciar el trabajo foo:
- advenedizo:
restart foo
- systemd:
systemctl restart foo
Listado de trabajos con su estado:
- advenedizo:
initctl list
- systemd:
systemctl status
(Consulte mi respuesta a ¿Cuáles son los pros / contras de Upstart y systemd? Para obtener más detalles que están fuera del alcance de esta pregunta).
Registros
También hay una gran diferencia en el manejo de los registros porque, a diferencia de la tradición de Unix, los registros de systemd se almacenan en archivos binarios en un formato personalizado, por lo que en lugar de:
cat /var/log/upstart/foo.log
tail -f /var/log/upstart/foo.log
necesita usar comandos especiales para acceder a sus registros:
sudo journalctl -u foo
sudo journalctl -u foo -f
Controversias
La introducción de systemd primero a Debian y luego a Ubuntu no estuvo exenta de controversias y una gran oposición, como es sabido por cualquiera que haya escrito uno de los siguientes artículos:
La posición oficial de Debian en systemd y la controversia resultante condujo a la declaración de Exodus en 2014 y terminó con la renuncia de Ian Jackson .
Nacieron las iniciativas Init Freedom , Without-Systemd.org y Systemd-Free.org , con mucha discusión en Hacker News .
Otras lecturas