(Progreso en la traducción/Some progress translating) |
(Hecha, corrija, extienda :)) |
||
Line 39: | Line 39: | ||
Note que todas las líneas /sbin/service y /sbin/chkconfig listadas arriba continúan funcionando en systemd y serán traducidos a comandos nativos systemd en la medida de que sea necesario. La única excepción es chkconfig --list. | Note que todas las líneas /sbin/service y /sbin/chkconfig listadas arriba continúan funcionando en systemd y serán traducidos a comandos nativos systemd en la medida de que sea necesario. La única excepción es chkconfig --list. | ||
{{admon/warning|Comandos adicionales| | {{admon/warning|Comandos adicionales|En SysVinit, los servicios pueden definir comandos arbitrarios. Un ejemplo sería '''service iptables panic''', o '''service httpd graceful'''. Los servicios nativos systemd no tienen esta habilidad. | ||
Cualquier servicio que defina comandos adicionales de esta forma necesitará definir alguna otra manera, servicio-especifica, de lograr su objetivo cuando escriba la definición de un servicio nativo systemd. | |||
Verifique las notas de liberación específicas al paquete para verificar servicios que hayan hecho eso..}} | |||
== | == Niveles de ejecución y targets == | ||
Systemd | Systemd tiene el concepto de ''targets'' que sirve a un propósito similar al de niveles de ejecución (runlevels) pero actúa ligeramente diferente. Cada ''target'' se nombrado en vez de numerado y está diseñado para servir un propósito específico. Algunos ''targets'' son implementados heredando todos los servicios de otro ''target'' y agregándole servicios adicionales. Existen ''targets'' systemd que imitan los niveles de ejecución sysvinit de tal forma que pueda seguir usándolos para cambiar entre ''targets'' utilizando el comando <code>telinit RUNLEVEL</code>. A los niveles de ejecución les es asignado un propósito específico en las instalaciones Fedora; 0, 1, 3, 5 y 6 en donde cada tiene una asignación 1:1 con un ''target'' systemd. Desafortunadamente no hay una buena manera de hacer lo mismo para los niveles de ejecución del usuario 2 y 4. Si usted hace uso de ellos se le sugiere que construya un nuevo ''target'' systemd como <code>/etc/systemd/system/$SUTARGET</code> que tome uno de los niveles de ejecución como base (puede ver <code>/lib/systemd/system/graphical.target</code> como ejemplo), cree un directorio <code>/etc/systemd/system/$SUTARGET.wants</code>, y luego haga symlinks a los servicios adicionales que desee habilitar en dicho directorio. Los archivos unit de servicio a los que haga symlink viven en <code>/lib/systemd/system</code>). | ||
{| | {| | ||
!sysvinit | !Nivel de ejecución sysvinit !!Target systemd !! Notas | ||
|- | |- | ||
| 0 || runlevel0.target, poweroff.target || | | 0 || runlevel0.target, poweroff.target || Detener el sistema. | ||
|- | |- | ||
| 1, s, single || runlevel1.target, rescue.target || | | 1, s, single || runlevel1.target, rescue.target || Modo monoususario. | ||
|- | |- | ||
| 2, 4 || runlevel2.target, runlevel4.target, multi-user.target || | | 2, 4 || runlevel2.target, runlevel4.target, multi-user.target || Definido por el usuario/Específico al sitio. Por omisión idéntico a 3. | ||
|- | |- | ||
| 3 || runlevel3.target, multi-user.target || | | 3 || runlevel3.target, multi-user.target || Multiusuario, no gráfico. Los usuarios pueden usualmente hacer login por medio de múltiples consolas o desde la red. | ||
|- | |- | ||
| 5 || runlevel5.target, graphical.target || | | 5 || runlevel5.target, graphical.target || Multiusuario, gráfico. Usualmente todos los servicios del nivel de ejecución 3 sumando el login gráfico. | ||
|- | |- | ||
| 6 || runlevel6.target, reboot.target || | | 6 || runlevel6.target, reboot.target || Reiniciar el sistema. | ||
|- | |- | ||
| emergency || emergency.target || | | emergency || emergency.target || Shell de emergencia. | ||
|- | |- | ||
|} | |} | ||
Cambiando el nivel de ejecución: | |||
{| | {| | ||
!sysvinit | !Comando sysvinit !! Comando systemd Command !! Notas | ||
|- | |- | ||
| telinit 3 || systemctl isolate multi-user.target (OR systemctl isolate runlevel3.target OR telinit 3) || | | telinit 3 || systemctl isolate multi-user.target (OR systemctl isolate runlevel3.target OR telinit 3) || Cambia nivel de ejecución a multiusuario. | ||
|- | |- | ||
| sed s/^id:.*:initdefault:/id:3:initdefault:/ || ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target || | | sed s/^id:.*:initdefault:/id:3:initdefault:/ || ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target || Define el nivel de ejecución multiusuario para el próximo reinicio del sistema. | ||
|} | |} |
Revision as of 12:26, 22 November 2011
Este documento es para ayudar a los administradores de sistema que necesitan entender cuáles son los comandos en systemd que remplazan la forma de trabajo antigua de sysvinit. Si desea información general acerca de systemd refiérase a systemd.
Note que los comandos 'service' y 'chkconfig' continuarán funcionando igual pero en el mundo systemd. Esta guía es acerca de cómo usar los comandos remplazos nativos systemctl.
Servicios
Comando sysvinit | Comando systemd | Notas |
---|---|---|
service frobozz start | systemctl start frobozz.service | Utilizado para arrancar el servicio (no resiste reinicio) |
service frobozz stop | systemctl stop frobozz.service | Utilizado para detener el servicio (no resiste a reinicio) |
service frobozz restart | systemctl restart frobozz.service | Utilizado para detener y arrancar el servicio. |
service frobozz reload | systemctl reload frobozz.service | Cuando se soporta, recarga el archivo de configuración sin interrumpir las operaciones pendientes. |
service frobozz condrestart | systemctl condrestart frobozz.service | Rearranca el servicio si ya está ejecutándose. |
service frobozz status | systemctl status frobozz.service | Indica si el servicio está en ejecución o no. |
ls /etc/rc.d/init.d/ | ls /lib/systemd/system/*.service /etc/systemd/system/*.service systemctl list-units --all |
Utilizado para listar los servicios que pueden ser iniciados o detenidos Utilizado para listar todos los servicios y otros units |
chkconfig frobozz on | systemctl enable frobozz.service | Pone el servicio en "on", para que se inicie cuando se inicie la máquina u otro disparador como cambio de nivel de ejecución. |
chkconfig frobozz off | systemctl disable frobozz.service | Pone el servicio en "off" para que al iniciar el sistema, no se inicie el servicio o se detenga por ejemplo al momento de cambio de nivel de ejecución. |
chkconfig frobozz | systemctl is-enabled frobozz.service | Utilizado para verificar si un servicio está configurado para ser iniciado en el entorno actual. |
chkconfig frobozz --list | ls /etc/systemd/system/*.wants/frobozz.service | Utilizado para listar qué niveles de ejecución el servicio está en "on" o "off". |
chkconfig frobozz --add | systemctl daemon-reload | Utilizado para cuando se desea crear un nuevo archivo de servicio o modificar su configuración. |
Note que todas las líneas /sbin/service y /sbin/chkconfig listadas arriba continúan funcionando en systemd y serán traducidos a comandos nativos systemd en la medida de que sea necesario. La única excepción es chkconfig --list.
Niveles de ejecución y targets
Systemd tiene el concepto de targets que sirve a un propósito similar al de niveles de ejecución (runlevels) pero actúa ligeramente diferente. Cada target se nombrado en vez de numerado y está diseñado para servir un propósito específico. Algunos targets son implementados heredando todos los servicios de otro target y agregándole servicios adicionales. Existen targets systemd que imitan los niveles de ejecución sysvinit de tal forma que pueda seguir usándolos para cambiar entre targets utilizando el comando telinit RUNLEVEL
. A los niveles de ejecución les es asignado un propósito específico en las instalaciones Fedora; 0, 1, 3, 5 y 6 en donde cada tiene una asignación 1:1 con un target systemd. Desafortunadamente no hay una buena manera de hacer lo mismo para los niveles de ejecución del usuario 2 y 4. Si usted hace uso de ellos se le sugiere que construya un nuevo target systemd como /etc/systemd/system/$SUTARGET
que tome uno de los niveles de ejecución como base (puede ver /lib/systemd/system/graphical.target
como ejemplo), cree un directorio /etc/systemd/system/$SUTARGET.wants
, y luego haga symlinks a los servicios adicionales que desee habilitar en dicho directorio. Los archivos unit de servicio a los que haga symlink viven en /lib/systemd/system
).
Nivel de ejecución sysvinit | Target systemd | Notas |
---|---|---|
0 | runlevel0.target, poweroff.target | Detener el sistema. |
1, s, single | runlevel1.target, rescue.target | Modo monoususario. |
2, 4 | runlevel2.target, runlevel4.target, multi-user.target | Definido por el usuario/Específico al sitio. Por omisión idéntico a 3. |
3 | runlevel3.target, multi-user.target | Multiusuario, no gráfico. Los usuarios pueden usualmente hacer login por medio de múltiples consolas o desde la red. |
5 | runlevel5.target, graphical.target | Multiusuario, gráfico. Usualmente todos los servicios del nivel de ejecución 3 sumando el login gráfico. |
6 | runlevel6.target, reboot.target | Reiniciar el sistema. |
emergency | emergency.target | Shell de emergencia. |
Cambiando el nivel de ejecución:
Comando sysvinit | Comando systemd Command | Notas |
---|---|---|
telinit 3 | systemctl isolate multi-user.target (OR systemctl isolate runlevel3.target OR telinit 3) | Cambia nivel de ejecución a multiusuario. |
sed s/^id:.*:initdefault:/id:3:initdefault:/ | ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target | Define el nivel de ejecución multiusuario para el próximo reinicio del sistema. |