Underc0de

Sistemas Operativos => GNU/Linux => Mensaje iniciado por: TerminusRoot en Noviembre 08, 2019, 06:25:42 PM

Título: A brief introduction to Linux | Part XVII: Unidades de gestión y grupos de contr
Publicado por: TerminusRoot en Noviembre 08, 2019, 06:25:42 PM
Hola, esta es la decimaseptima parte de A brief introduction to Linux.

Puede recapitular los otros post aqui abajito.

Parte I   : https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-i/
Parte II  : https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-ii/
Parte III : https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-iii/
Parte IV  : https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-iv-editor-vi
Parte V   : https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-v-rutas-y-tipo-de-archivos/
Parte VI  : https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-vi-operaciones-de-archivos-y-directorios/
Parte VII : https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-vi-atributos/
Parte VIII: https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-viii-permisos/
Parte IX   : https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-iv-permisos-especiales
Parte X    : https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-x-bash-shell/
Parte XI   : https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-xi-expresiones-regulares-y-metacaracteres
Parte XII  : https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-xii-procesos/
Parte XIII : https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-xiii-programacion-de-trabajo/
Parte XIV  : https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-xiv-gestionar-paquetes-con-rpm/
Parte XV   : https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-xv-gestionando-paquetes-con-yum
Parte XVI  :https://underc0de.org/foro/gnulinux/a-brief-introduction-to-linux-part-xv-kernel

Unidades de gestión y grupos de control

I. Árbol de procesos

Trabajaremos con systemd (system daemon), un sistema y mecanismo de gestión de servicios. Practicaremos el uso de systemctl, que es el comando principal para la interacción con systemd.

Podemos ver el árbol de procesos (incluidas las transiciones PID y UID) con el siguiente comando:

pstree -pu | more


(https://i.ibb.co/cCqb54j/17-1.png)

II. Directorio de archivos de la unidad del sistema


Systemd utiliza unidades para la organización de tareas. La configuración de la unidad se almacena en archivos de configuración y, dependiendo de si se trata de archivos de la unidad del sistema o del usuario, se ubicarán en diferentes directorios.

Para ver la ubicación de los archivos de la unidad del sistema, ejecute el siguiente comando:

(https://i.ibb.co/pZJGvHY/17-2.png)

III. Directorio de archivos de unidad de usuario


Ahora ejecute el siguiente comando para mostrar el directorio donde se almacenan los archivos de la unidad de usuario:

pkg-config systemd --variable=systemduserconfdir


(https://i.ibb.co/VHnrMdQ/17-3.png)

IV. Listado de todas las unidades activas

Como mencionamos anteriormente, systemctl es el comando principal para la interacción con systemd. Cuando se usa sin ninguna opción, mostrará todas las unidades activas en el sistema:

systemctl

(https://i.ibb.co/sth7psh/17-4.png)

V. Especificar tipo de unidad

Si quisiéramos ver unidades de un tipo específico, usaríamos el modificador -t y especificaríamos el tipo en el comando. Ejecute el siguiente comando para mostrar todas las unidades activas de tipo "servicio":

systemctl -t service


(https://i.ibb.co/JFFBhxN/17-5.png)

VI. Listado de unidades activas e inactivas

Por defecto, systemctl solo listará las unidades activas. Para ver las unidades activas e inactivas necesitamos agregar la opción --all. Vuelva a ejecutar nuestro comando anterior, esta vez incluyendo unidades inactivas:

systemctl -t service --all

(https://i.ibb.co/KLpX5m1/17-6.png)

VII. Listado de objetivos cargados y activos

Los objetivos (targets) son colecciones lógicas de unidades utilizadas para ejecutar una serie de unidades. Para enumerar todos los destinos cargados y activos, ejecute el siguiente comando:

systemctl -t target


(https://i.ibb.co/pWQHmH6/17-7.png)

VIII. Visualización de procesos dentro de grupos de control


Systemd coloca procesos en grupos de control (cgroups). Estos grupos se utilizan para monitorear y controlar los recursos del sistema.

Podemos ver cómo se distribuyen los procesos dentro de cgroups usando el comando ps con las siguientes opciones:

ps -eaxfo pid,user,cgroup,args | more


Tenga en cuenta los valores de CGROUP (columna 3). Es posible que deba presionar la tecla Espacio o Intro varias veces para comenzar a ver algunos nombres de grupos

(https://i.ibb.co/Fq8k2B0/17-8.png)

IX. Listado de todas las unidades de un tipo específico

Podemos usar la opción de -list para mostrar unidades de un tipo específico. Ingrese el siguiente comando para enumerar todas las unidades de tipo "socket":

systemctl list-sockets

(https://i.ibb.co/6rkBs13/17-9.png)

X. Listado de todos los archivos de la unidad

La opción list-unit-files mostrará todos los archivos de la unidad instalados en el sistema y su estado:

systemctl list-unit-files

(https://i.ibb.co/2tQLP4X/17-10.png)

XI. Listado de todas las unidades que no pudieron iniciarse en el último arranque

Si quisiéramos ver todas las unidades que no pudieron iniciarse en el último inicio del sistema, usaríamos la opción --failed de la siguiente manera:

systemctl --failed

(https://i.ibb.co/p0RJ3ft/17-11.png)

XII. Ver el estado actual de una unidad

En los siguientes pasos practicaremos el uso del comando systemctl para administrar las unidades de servicio.

Trabajaremos con el servicio crond. Primero, verificaremos su estado operativo actual emitiendo el siguiente comando:

systemctl status crond

(https://i.ibb.co/njrWYFz/17-12.png)

XIII. Deshabilitar inicio automático

Si quisiéramos deshabilitar crond para que no se inicie automáticamente en el próximo inicio del sistema, usaríamos la opción deshabilitar:

sudo systemctl disable crond


(https://i.ibb.co/c6K5DHB/17-13.png)

XIV. Habilitar el inicio automático

Ahora habilite el inicio automático nuevamente de la siguiente manera:

sudo systemctl enable crond

(https://i.ibb.co/qnyWFBH/17-14.png)

XV. Comprobando si el inicio automático está habilitado


Para verificar que el inicio automático esté habilitado, use la opción is-enabled:

systemctl is-enabled crond


(https://i.ibb.co/HH72qg4/17-15.png)

XVI. Comprobando si el servicio se está ejecutando

Verifiquemos si el servicio crond está actualmente activo:

systemctl is-active crond

(https://i.ibb.co/nnkqFCp/17-16.png)

XVII. Detener un servicio


El siguiente comando detendrá el servicio crond:

sudo systemctl stop crond


Verifique que el servicio se haya detenido de la siguiente manera:

systemctl is-active crond


(https://i.ibb.co/ph8ZWCX/17-17.png)

XVIII. Comenzando un servicio

Ahora inicie crond nuevamente:

sudo systemctl start crond


Puede volver a emitir el comando * is-active * para verificar que esté activo:

systemctl is-active crond


(https://i.ibb.co/Lg3P2dw/17-18.png)

XIX. Ver detalles del servicio

El subcomando show muestra los detalles del servicio. Ejecútelo en el servicio crond:

systemctl show crond

(https://i.ibb.co/WPHSzTc/17-19.png)

XX. Visualización de valores de propiedades específicas

Para mostrar el valor de una propiedad específica, podemos usar el comando show y especificar la propiedad que queremos ver con la opción -p:

systemctl show -p MemoryCurrent crond


(https://i.ibb.co/mcRgDXy/17-20.png)

XXI. Visualización del tiempo total de arranque

Además del comando systemctl, systemd proporciona otros comandos para ver información del sistema y realizar tareas de administración. El comando systemd-analyse muestra información sobre el rendimiento de arranque del sistema. Cuando se usa sin ninguna opción, mostrará la cantidad total de tiempo que el último proceso de arranque tardó en kernel, initrd y userspace:

systemd-analyse

(https://i.ibb.co/9v4PMNw/17-21.png)

XXII. Visualización del tiempo de arranque para cada tarea
Podemos usar la opción blamepara mostrar el tiempo de arranque de cada tarea:

systemd-analyze blame


(https://i.ibb.co/zQ1RVbs/17-22.png)

E.O.F