The wikis are now using the new authentication system.
If you did not migrate your account yet, visit https://idp-portal-info.suse.com/

SDB:Systemd

Saltar a: navegaci贸n, buscar

Comandos B谩sicos de systemd

  • systemctl: controla el sistema systemd y maneja los servicios.
  • systemd-cgls: muestra recursivamente el contenido de los grupos de control.
  • systemadm: una interfaz gr谩fica (GTK) para systemd.

Puede utilizar todos los comandos siguientes systemctl con el valor -H <user>@<host> para controlar una instancia de systemd en una m谩quina remota, sin embargo debido a la sintaxis de D-Bus solo se puede usar -H host.

Analizando el estado del sistema

Lista de unidades activas:

systemctl

o bien:

systemctl list-units

Lista de unidades que han tenido problemas:

systemctl --failed

Los archivos disponibles de la unidad se pueden ver en /usr/lib/systemd/system/ y /etc/systemd/system/ (este 煤ltimo tiene prioridad). Puede ver la lista de los archivos de unidad instalados con:

systemctl list-unit-files

Para ver si una unidad esta activada:

systemctl is-enabled nombre_del_servicio.service

Inicio y detenci贸n de servicios

Estas tareas se realizan con el comando systemctl, el cual recibe dos par谩metros, el primero puede ser uno de start, stop, reload, restart, try-restart, reload-or-restart, reload-or-try-restart o status, el segundo es la unidad que estemos tratando de modificar

Ejemplo:

celebi:~ # systemctl start sshd.service
celebi:~ # systemctl status sshd.service
sshd.service - OpenSSH Daemon Loaded: loaded (/lib/systemd/system/sshd.service; enabled) Active: active (running) since Wed, 12 Sep 2012 09:46:53 -0300; 2 days ago Process: 1379 ExecStartPre=/usr/sbin/sshd-gen-keys-start (code=exited, status=0/SUCCESS) Main PID: 1393 (sshd) CGroup: name=systemd:/system/sshd.service 鈹 1393 /usr/sbin/sshd -D Sep 12 09:46:53 celebi sshd[1393]: Server listening on 0.0.0.0 port 22. Sep 12 09:46:53 celebi sshd[1393]: Server listening on :: port 22. celebi:~ # systemctl stop sshd.service celebi:~ # systemctl status sshd.service sshd.service - OpenSSH Daemon Loaded: loaded (/lib/systemd/system/sshd.service; enabled) Active: inactive (dead) since Fri, 14 Sep 2012 15:39:28 -0300; 2s ago Process: 4474 ExecStart=/usr/sbin/sshd -D $SSHD_OPTS (code=exited, status=0/SUCCESS) Process: 4470 ExecStartPre=/usr/sbin/sshd-gen-keys-start (code=exited, status=0/SUCCESS) CGroup: name=systemd:/system/sshd.service Sep 14 15:38:46 celebi sshd[4474]: Server listening on 0.0.0.0 port 22. Sep 14 15:38:46 celebi sshd[4474]: Server listening on :: port 22. Sep 14 15:39:28 celebi sshd[4474]: Received signal 15; terminating.

Habilitaci贸n y deshabilitaci贸n de servicios

Los servicios en systemd tienen tres estados, enabled, disabled y masked. Para habilitar un servicio para que se ejecute en su correspondiente target se utiliza el comando systemctl seguido del par谩metro enable y el servicio, por ejemplo:

celebi:~ # systemctl enable sshd.service

Para des habilitar un servicio cambiamos el par谩metro enable por disable, ejemplo:

celebi:~ # systemctl disable sshd.service

El estado masked, quiere decir que el servicio no solo esta des habilitado, sino que esta imposibilitado para ejecutarse aun manualmente, el siguiente ejemplo enmascara el servicio sshd:

celebi:~ # systemctl mask sshd.service
ln -s '/dev/null' '/etc/systemd/system/sshd.service'

Se usa el par谩metro umask para des enmascararlo:

celebi:~ # systemctl unmask sshd.service
rm '/etc/systemd/system/sshd.service'

Niveles de ejecuci贸n

Los que anteriormente se conoc铆an como niveles de ejecuci贸n en systemd se les llama target, utilizamos el comando

systemctl list-units --type=target --all

para ver un listado de los target's disponibles, en mi caso:

  UNIT                       LOAD   ACTIVE   SUB        JOB DESCRIPTION
  basic.target               loaded active   active     Basic System
  cryptsetup.target          loaded active   active     Encrypted Volumes
  emergency.target           loaded inactive dead       Emergency Mode
  final.target               loaded inactive dead       Final Step
  getty.target               loaded active   active     Login Prompts
  graphical.target           loaded active   active     Graphical Interface
  local-fs-pre.target        loaded active   active     Local File Systems (Pre)
  local-fs.target            loaded active   active     Local File Systems
  mail-transfer-agent.target loaded inactive dead       Mail Transfer Agent
  multi-user.target          loaded active   active     Multi-User
  network.target             loaded active   active     Network
  nss-lookup.target          loaded active   active     Name Lookups
  remote-fs-pre.target       loaded active   active     Remote File Systems (Pre)
  remote-fs.target           loaded active   active     Remote File Systems
  rescue.target              loaded inactive dead       Rescue Mode
  rpcbind.target             loaded inactive dead       RPC Port Mapper
  shutdown.target            loaded inactive dead       Shutdown
  sockets.target             loaded active   active     Sockets
  sound.target               loaded active   active     Sound Card
  swap.target                loaded active   active     Swap
  sysinit.target             loaded active   active     System Initialization
  syslog.target              loaded active   active     Syslog
  time-sync.target           loaded active   active     System Time Synchronized
  umount.target              loaded inactive dead       Unmount All Filesystems
  
  LOAD   = Reflects whether the unit definition was properly loaded.
  ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
  SUB    = The low-level unit activation state, values depend on unit type.
  JOB    = Pending job for the unit.
  
  24 units listed.

Los esenciales serian, multi-user.target (runlevel 3), graphical.target (runlevel 5), rescue.target (runlevel 1)

para cambiar entre target's se utiliza el comando systemctl seguido del par谩metro isolate y el target, por ejemplo:

celebi:~ # systemctl isolate multi-user.target

Esto s贸lo cambiar谩 el nivel de ejecuci贸n actual, y no tendr谩 ning煤n efecto sobre el siguiente arranque. Es equivalente a los comandos telinit 3 o telinit 5 en Sysvinit.

Cambiar el nivel de ejecuci贸n predeterminado

systemd inicia siempre en default.target, para cambiar que es lo que se inicia se utilizan enlaces simb贸licos.

Por ejemplo, para cambiar el nivel de ejecuci贸n a multi-user.target

celebi:~ # rm /etc/systemd/system/default.target
celebi:~ # ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

Hay que recordar que systemd no utiliza el archivo /etc/inittab.

Limpieza de temporales

La configuraci贸n de los directorios y archivos temporales se encuentra en /etc/tmpfiles.d, directorio que en una instalaci贸n limpia se encuentra vac铆o a la espera de las configuraciones por parte del usuario.

Para que los temporales se borren en cada inicio se debe crear un archivo tmp.conf con el siguiente contenido:

D /tmp 1777 root root 1s
D /var/tmp 1777 root root 1s

Administraci贸n de energ铆a

Los siguientes comandos se utilizan para administrar energ铆a, apagado, reinicio, etc

Apagado y reinicio del sistema:

celebi:~ # systemctl reboot

Apagado del sistema:

celebi:~ # systemctl poweroff

Apagado completo del sistema:

celebi:~ # systemctl halt

Suspensi贸n del sistema:

celebi:~ # systemctl suspend

Hibernaci贸n del sistema:

celebi:~ # systemctl hibernate