Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
info:cursos:pue:lpic2-2021:s4 [11/02/2021 11:11] – [Documentación relacionada 202] mateinfo:cursos:pue:lpic2-2021:s4 [18/09/2022 23:45] (actual) – [LPIC2 2021 Sesión 4 (2021-02-11)] mate
Línia 1: Línia 1:
-= LPIC2 2021 Sesión 4 (2021-02-11)+= LPIC2 2021 Sesión 4 (2021-02-11) - systemd, journal
 == Curso == Curso
-=== Documentación relacionada 202+  * Documentación relacionada 202:
     * Presentaciones/2020/201/202 - Arranque del Sistema.pdf     * Presentaciones/2020/201/202 - Arranque del Sistema.pdf
-==== SystemV +    /Material Practicas LPIC-2/LPIC-201/3-System Startup/SystemD/Resumen Systemd-SystemV.pdf
-  [[info:cursos:pue:lpic2-2021:s3#systemv_vs_systemd|]]+
  
-==== SystemD+=== SystemD
   * levanta los servicios de manera paralela   * levanta los servicios de manera paralela
   * [[https://wiki.archlinux.org/index.php/systemd]]   * [[https://wiki.archlinux.org/index.php/systemd]]
Línia 15: Línia 14:
     * '' plot > /var/www/html/plot.html''     * '' plot > /var/www/html/plot.html''
  
-===== Units+==== Units 
 +  * Units:
     * service     * service
     * socket     * socket
Línia 26: Línia 26:
   * **service** es unit por defecto (se puede omitir en los comandos)   * **service** es unit por defecto (se puede omitir en los comandos)
   * ''systemctl <accion> <unidad>''   * ''systemctl <accion> <unidad>''
-    * **start** +    * start 
-    * **stop** +    * stop 
-    * **enable**: activa en el arranque +    * enable: activa en el arranque 
-    * **enable --now** +    * enable --now 
-    * **disable** +    * disable 
-    * **reload** +    * reload 
-    * **status**+    * status
  
 ==== targets ==== targets
Línia 49: Línia 49:
   * ''systemctl isolate <TARGET>.target'' -> init o telinit en systemV   * ''systemctl isolate <TARGET>.target'' -> init o telinit en systemV
  
-===== snapshot +==== snapshot 
-===== mask+==== mask
   * para e impide ejecución de un servicio (o unidad?)   * para e impide ejecución de un servicio (o unidad?)
   * ''systemctl mask nombre.service''   * ''systemctl mask nombre.service''
   * ''systemctl unmask nombre.service''   * ''systemctl unmask nombre.service''
-===== laboratorio1+==== laboratorio1
   * Material Practicas LPIC-2/LPIC-201/3-System Startup/SystemD/Laboratorio 1 Gestion de servicios con systemctl:   * Material Practicas LPIC-2/LPIC-201/3-System Startup/SystemD/Laboratorio 1 Gestion de servicios con systemctl:
     * ''systemctl list-units --type service'': servicios activos     * ''systemctl list-units --type service'': servicios activos
Línia 65: Línia 65:
     * ''systemctl mask|unmask'': enmascara un servicio, impide que se ponga en marcha     * ''systemctl mask|unmask'': enmascara un servicio, impide que se ponga en marcha
  
-===== Laboratorio 2+==== Laboratorio 2
   * Material Practicas LPIC-2/LPIC-201/3-System Startup/SystemD/Laboratorios-2 Systemd:, página 9   * Material Practicas LPIC-2/LPIC-201/3-System Startup/SystemD/Laboratorios-2 Systemd:, página 9
       * units propias: **/etc/systemd/system/**       * units propias: **/etc/systemd/system/**
Línia 73: Línia 73:
       * **/etc/systemd/system/**: unidades creadas y administradas por el administrador del sistema       * **/etc/systemd/system/**: unidades creadas y administradas por el administrador del sistema
       * ''systemctl cat <unit>'': muestra el contenido y ubicación del archivo       * ''systemctl cat <unit>'': muestra el contenido y ubicación del archivo
-      * ''systemctl edit --full <unit>'': editar la unidad+      * ''systemctl edit %%--%%full <unit>'': editar la unidad 
 +      * ''systemd-delta'': ver cambios (extended) en las unidades 
 +      * ''systemctl daemon-reload'': al crear una UNIT, para que systemctl se entere. 
 +      * Si no ponemos sección **[Install]** en nuestro fichero de unit, podemos asignarlo a un target creando un enlace simbólico en **/etc/systemd/system/multi-user.target.wants/** 
 +        * ''systemctl enable supervisamem.service'' -> Created symlink from /etc/systemd/system/multi-user.target.wants/supervisamem.service to /etc/systemd/system/supervisamem.service 
 +      * [[https://www.doc-developpement-durable.org/file/Projets-informatiques/cours-&-manuels-informatiques/RedHat/Red_Hat_Enterprise_Linux-7-System_Administrators_Guide-en-US.pdf]]
       * archivos .service personalizados       * archivos .service personalizados
         * <code bash>cd /opt/scripts         * <code bash>cd /opt/scripts
Línia 103: Línia 108:
 systemd-cgtop</code> systemd-cgtop</code>
  
 +==== Journal
 +  * Material Practicas LPIC-2/LPIC-201/3-System Startup/SystemD/Laboratorio journalctl.pdf
 +  * ''journalctl''
 +    * ''-xb'': message explanation + current boot
 +    * ''-b [-n]'' | ''--list-boots'': boots registrados
 +    * ''-f'' en tiempo real
 +    * ''-k'' filtra mensajes kernel
 +    * ''-n <n>'' los últimos <n>
 +    * ''_COMM=<programa>''
 +    * ''_PID=<>''
 +    * ''_UID=<>''
 +    * ''-u <service>''
 +    * filtrado por fechas:
 +      * ''--since''
 +      * ''--until''
 +      * **30 min ago**
 +      * **yesterday**
 +      * **2021-02-11 21:27**
 +    * ''-p'': en función de su prioridad según 7 niveles
 +      * 0: emerg
 +      * 1: alert
 +      * 2: crit
 +      * 3: err
 +      * 4: warning
 +      * 5: notice
 +      * 6: info
 +      * 7: debug
 +    * ''/dev/sda'': mensajes de discos
 +    * ''--disk-usage'': espacio ocupado por los registros
 +  * ''usermod -aG adm <usuario>'': acceso a journal
 +  * ≡ **/var/log/message** o **/var/log/syslog**
 +  * persistencia: **/var/log/journal** (en centos7 no lo está)
 +    * usa el 10% de la partición como máximo
 +    * se puede cambiar en **/etc/systemd/journald.conf**
 +    * ''journactl --vacuum-size=2G'': limpia registros hasta 2GB
 +    * ''journactl --vacuum-size=2years'': limpira registros hasta 2 añois
  
 +== Tips & Tricks
 +=== *ctl
 +  * ''loginctl''
  
 +=== Ejecutar en systemd un script en Bash para que arranque como demonio al encender la máquina
 +  * <code bash>
 +vi /usr/bin/mail_arranque.sh</code>
 +  * <code bash; mail_arranque.sh>#!/bin/bash
 +echo se encendio el equipo $(hostname) a las $(date +%d-%m-%Y---%X) | mail usuario@correo.es</code>
 +  * <code bash>chmod +x /usr/bin/mail_arranque.sh
 +vi /etc/systemd/system/mail_arranque.service</code>
 +  * <code ; mail_arranque.service>[Unit]
 +Description= Envio hora de arranque
 +After=network.target
  
-==== GRUB+[Service] 
 +ExecStart=/usr/bin/mail_arranque.sh 
 +Type=oneshot 
 +RemainAfterExit=true 
 + 
 +[Install] 
 +WantedBy=default.target 
 + 
 +##RemainAfterExit=true hará que el servicio permanezca de acuerdo con systemd, por lo que solo intentará ejecutarse la primera vez que ejecute systemctl start, pero no la segunda. 
 +</code> 
 +  * <code bash>systemctl daemon-reload 
 +systemctl enable mail_arranque.service 
 +systemctl start mail_arranque.service 
 +</code> 
 +  * antes se ponía en: **/etc/profile.d** 
 + 
 +==TODO 
 +  * revisar PDF journal
  • info/cursos/pue/lpic2-2021/s4.1613070694.txt.gz
  • Darrera modificació: 11/02/2021 11:11
  • per mate