Systemd for Kung fu ITs – PARTE II

  • Trabajando con targets systemd

Antes se trabajaba con SysV init que implementaban runlevels. Los targets systemd son representados por target uits. Cada una de estas finaliza con la extensión .target y su único propósito es agrupar unidades a trabés de una cadena de dependencias.

Para fuardar retrocompatibilidad, también provee alias para estos targets que directamente se mapean a los runleves SysV.

Si quisieramos cambiar de run level:

# systemctl list-units –type target

  • Mirando los targets

Si quisiéramos ver el target default:

# systemctl get-default

graphical.target

Si quisiéramos ver el target en el que nos encontramos ahora

# systemctl get-default

Para listar las targets units cargadas:

# systemctl list-units –type target

UNIT LOAD ACTIVE SUB DESCRIPTION

basic.target loaded active active Basic System

cryptsetup.target loaded active active Encrypted Volumes

Por cada target esta el nombre de la unidad, si esta cargado, activo y la descripción. Por defecto lista las unidades activas. Si al mismo comando le agregamos el “–all”

# systemctl list-units –type target –all

Muestra todas.

Si queremos listar el target default:

# systemctl set-default graphical.target

Created symlink from /etc/systemd/system/default.target to /lib/systemd/system/graphical.target.

Si queremos cambiar el target de la sesion, por ejemplo para apagar:

# systemctl isolate runlevel6.target

  1. Cambiando a modo rescate

El modo rescate provee un entorno single user que permite reparar el sistema en siuaciones donde es imposible completar un proceso de boot. El modo rescate intenta montar filesystem locales e iniciar servicios; pero no activa las interfaces de red o permite que otros usuarios se logueen dentro del sistema.

# systemctl rescue

Que es lo mismo que

# systemctl rescue.target

Pero envia un mensaje al resto de los usuarios. Si queremos que no envíe mensaje:

# systemctl –no-wall rescue

  1. Cambiando a modo emergencia

El modo emergencia porvee los mìnimos entornos posibles y permite reparar el sistema en situaciones inclusive cuando no puede entrar en rescue mode. Este modo monta el root FS solamente como lectura. No intenta montar ningún otro FS ni activa interfaces de red e inicia algunos servicios de red:

# systemctl emergency

Que es lo mismo que

# systemctl emergency.target

Pero envia un mensaje al resto de los usuarios. Si queremos que no envíe mensaje:

# systemctl –no-wall rescue

  1. Apagando, suspendiendo e hibernando el sistema

Systemctl reemplaza una serie de comando para apagar la máquina y esas cosas

Para apagar la máquina, hay que tipear el siguiente comando:

# systemctl poweroff

Para apagar y detemer el sistema; peor sin hacer el power off:

# systemctl halt

Por defecto, ejecutar cualquiera de estos comandos genera que systemd envíe una información a todos los usuarios que se encuentran logueados avisándole. Si no queremos que envíe dicha info:

# systemctl –no-wall poweroff

Si quisiéramos simplemente reiniciarla

# systemctl reboot

# systemctl –no-wall reboot

    1. Suspendiendo e Hibernando el sistema

Este comando guarda el estado del sistema en la RAM y detiene la mayoría de los dispositivos en la máquina. Cuan se enciende la máquina nuevamente, el sistema restaura el estado desde la RAM sin tener que reiniciar. Como se guarda en la ram, es más fácil que restaurarlo de hibernación.

# systemctl suspend

Para hibernar el sistema, se guarda el estado del mismo en el disco rígido y apaga la mñaquina. Cuando se enciende la misma, se erstaura su estados desde la información guardada sin tener que reiniciar de nuevo.

# systemctl hibernate

Para realizar las dos cosas:

# systemctl hybrid-sleep

  1. Controlando Systemd en otras máquinas

Adicionalmente, systemctl provee la utilidad de también interactuar co nsystemd en otras máquinas a través del protocolo SSH. Si se encuentra corriendo el ssh en la máquina remota, uno se puede conectar:

Supongamos que la máquina remota tiene la IP 192.168.1.4

systemctl –host root@192.168.1.4 status rsyslog

rsyslog.service – System Logging Service

Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled)

Active: active (running) since Wed 2016-03-16 15:36:16 ART; 10min ago

Docs: man:rsyslogd(8)

http://www.rsyslog.com/doc/

Main PID: 434

CGroup: /system.slice/rsyslog.service

Deja una respuesta