¿Cuál es el equivalente de systemctl?

30

Estoy convirtiendo un paquete de .rpm a .deb usando este tutorial . Sin embargo, para probar y depurar la aplicación, necesito ejecutarla. El programa Léame explica cómo ejecutarlo como un servicio con:

systemctl enable progname.service
systemctl start progname.service

¿Cuál es el equivalente en ubuntu para estos comandos?

Marnaw
fuente
sudo service network-manager restart es lo que estaba buscando cuando encontré esto.
Martin Thoma
A partir de 2018, Ubuntu usa el sistema systemd más nuevo systemctl(al igual que cualquier sistema por encima de Ubuntu 15.04, Debian 8, CentOS 7, Fedora 15 ...). La antigua /usr/sbin/serviceutilidad llama systemctlsi / cuando el sistema ejecuta systemd.
michael

Respuestas:

12

Ubuntu está planeando / desarrollando actualmente para usar systemd en el futuro. Consulte los siguientes enlaces para obtener información: Vivid cambiará al arranque con systemd ... y Notas de la versión: Gestión de arranque y servicio

Estoy usando 14.04.

Puedes usar el comando más nativo update-rc.d. Consulte la página del manual.

Habilitar un servicio con valores predeterminados (consulte la página de manual)

sudo update-rc.d foo_service defaults

Deshabilitar un servicio:

sudo update-rc.d foo_service remove

Tenga en cuenta que para eliminar sin mensaje de error el archivo foo_service no debe estar presente. Sin embargo, puedes forzar:

sudo update-rc.d -f foo_service remove
Ely
fuente
44
Tal vez no hay nada al respecto. 15.04 usa systemd.
muru
@muru ¿Tienes una referencia por favor? Por favor, siéntase libre de editar mi respuesta e informar a la gente
Ely
1
la publicación que anuncia el cambio durante el desarrollo: lists.ubuntu.com/archives/ubuntu-devel-announce/2015-March/… , las notas de la versión final: wiki.ubuntu.com/VividVervet/…
muru
5

systemctl es la utilidad de control para systemd:

http://www.freedesktop.org/software/systemd/man/systemctl.html

Tenga en cuenta que Ubuntu no usa systemd, usa upstart, que hace algunas de las mismas cosas en principio, pero tiene algunos conceptos diferentes.

Sin mucho conocimiento sobre systemd, y según lo que leí en el documento que publiqué, creo que no es necesario "habilitar" un servicio. Simplemente soltando el archivo .conf para su servicio en / etc / init debería hacer que el advenedizo lo note.

Sin embargo, ese es el quid de la cuestión: el archivo de configuración systemd para su servicio no funcionará sin modificaciones en Ubuntu, debe "traducirlo" a una versión equivalente para Upstart. Aquí hay documentación para el advenedizo:

http://upstart.ubuntu.com/cookbook/

Una vez que tenga un archivo .conf upstart adecuado, puede iniciar un servicio (equivalente, creo, a systemctl start) usando:

start your-service
roadmr
fuente
2
El problema es que, a partir de 13.10, Ubuntu hace logind uso de systemd, que por defecto suspende un ordenador portátil cuando la tapa está cerrada. Si desea bloquear la pantalla antes de que esto suceda, debe colgar un servicio systemd del cierre de la tapa, y para hacerlo parece que lo necesita systemctl. Ver forum.xfce.org/viewtopic.php?id=8411 y bbs.archlinux.org/viewtopic.php?id=148829 por ejemplo.
Douglas Bagnall