Serie RHCSA: Gestión de paquetes Yum, Automatización de tareas con Cron y registros del sistema de supervisión-Parte 10

Serie RHCSA: Gestión de paquetes Yum, Automatización de tareas con Cron y registros del sistema de supervisión-Parte 10

En este artículo, revisaremos cómo instalar, actualizar y eliminar paquetes en Red Hat Enterprise Linux 7. También cubriremos cómo automatizar tareas usando cron. y terminaremos esta guía explicando cómo ubicar e interpretar los archivos de registro del sistema con el objetivo de enseñarle por qué todas estas son habilidades esenciales para todo administrador del sistema.

 Yum Package Management Cron Jobs Log Monitoring Linux  Gestión de paquetes de Yum Cron Jobs Log Monitoring Linux RHCSA: Administración de paquetes Yum, Programación de trabajos cron y monitoreo de registros-Parte 10

Administración de paquetes a través de Yum

Para instalar un paquete junto con todas sus dependencias que aún no están instaladas, usará:

# yum-y install nombre_paquete (s)

Donde nombre (s )_paquete representar al menos un pac real nombre de kage.

Por ejemplo, para instalar httpd. y mlocate. (en ese orden), escriba.

# yum-y install httpd mlocate

Nota. que la letra y. en el ejemplo anterior omite las solicitudes de confirmación que presenta yum antes de realizar la descarga e instalación real de los programas solicitados. Puede omitirlo si lo desea.

freestar.config.enabled_slots.push

De forma predeterminada, yum. instalará el paquete con la arquitectura que coincida la arquitectura del sistema operativo, a menos que se anule agregando la arquitectura del paquete a su nombre.

Por ejemplo, en un sistema de 64 bits. yum install package. instalará la versión x86_64. del paquete, mientras que yum install package.x86. (si está disponible) instalará el de 32 bits.

Habrá ocasiones en las que desee instalar un paquete pero no No sé su nombre exacto. Las opciones buscar todo. o buscar. pueden buscar en los repositorios actualmente habilitados una determinada palabra clave en el nombre del paquete y/o también en su descripción, respectivamente.

Por ejemplo,

# yum search log

buscará en los repositorios instalados paquetes con la palabra log en sus nombres y resúmenes, mientras que

# yum search all log

buscará el la misma palabra clave en la descripción del paquete y en los campos url. también.

Una vez que la búsqueda devuelve una lista de paquetes, es posible que desee mostrar más información sobre algunos de ellos antes de instalar. Ahí es cuando la opción información. te resultará útil:

# yum info logwatch  Buscar información del paquete  Buscar información del paquete Buscar información del paquete

Puede buscar actualizaciones periódicamente con el siguiente comando:

# yum check-update

El comando anterior devolverá todos los paquetes instalados para los que hay una actualización disponible. En el ejemplo que se muestra en la imagen a continuación, solo rhel-7-server-rpms. tiene una actualización disponible:

 Buscar actualizaciones del paquete  Buscar actualizaciones de paquetes Buscar actualizaciones de paquetes

Puede actualizar ese paquete solo con

# yum update rhel-7-server-rpms

Si hay varios paquetes que pueden actualizarse, yum update. los actualizará todos a la vez.

Ahora, ¿qué sucede cuando conoce el nombre de un ejecutable, como ps2pdf. pero no lo hace? ¿No sabes qué paquete lo proporciona? Puede averiguar con yum qué proporciona “*/[ejecutable]”:

# yum qué proporciona “*/ps2pdf” Buscar paquete al que pertenece el paquete  Encuentra el paquete que pertenece a qué paquete Buscar paquete a qué paquete

Ahora, cuando se trata de eliminar un paquete, puede hacerlo con yum remove package. Fácil, ¿eh? Esto demuestra que yum es un administrador de paquetes completo y poderoso.

# yum remove httpd

Lea también:. 20 comandos de Yum para administrar la administración de paquetes RHEL 7

Good Old Plain RPM

RPM. (también conocido como RPM Package Manager. o originalmente RedHat Package Manager. también se puede utilizar para instalar o actualizar paquetes cuando vienen en forma de paquetes .rpm independientes.

A menudo se utiliza con los indicadores-Uvh para indicar que debe instalar el paquete si aún no está presente o intentar actualizarlo si está instalado (-U), produciendo una salida detallada (-v) y una barra de progreso con marcas de almohadilla (-h) mientras se realiza la operación. Por ejemplo,

# rpm-Uvh package.rpm

Otro uso típico de rpm. es producir una lista de paquetes actualmente instalados con código> rpm-qa (abreviatura de query all) :

# rpm-qa  Consultar todos los paquetes RPM  Consultar todos los paquetes RPM Consultar todos los paquetes RPM

Lea también:. Comandos de 20 RPM para instalar paquetes en RHEL 7

Programación de tareas usando Cron

Linux y otros sistemas operativos similares a Unix incluyen una herramienta llamada cron. que le permite programar tareas (es decir, comandos o scripts de shell) para que se ejecuten de forma periódica. Cron comprueba cada minuto el directorio /var/spool/cron. en busca de archivos con nombres de cuentas en /etc/passwd.

Al ejecutar comandos, cualquier salida se envía por correo al propietario del crontab. (o al usuario especificado en la variable de entorno MAILTO. en el /etc/crontab. si existe).

Archivos Crontab (que se crean escribiendo crontab-e. y presionando Enter. ) tienen el siguiente formato:

 Entradas de Crontab  Crontab Entradas Entradas de Crontab

Por lo tanto, si queremos actualizar la base de datos de archivos local (que se utiliza para localizar para encontrar archivos por nombre o patrón) cada segundo día del mes a las 2:15 a. m. , necesitamos agregar la siguiente entrada crontab.

15 02 2 */bin/updatedb

La entrada crontab anterior dice, “ Ejecutar/bin/updatedb el segundo día del mes, todos los meses del año, independientemente del día de la semana, a las 2:15 h.. ”. Como estoy seguro de que ya habrá adivinado, el símbolo de estrella se utiliza como carácter comodín.

Después de agregar un trabajo cron, puede ver que se agregó un archivo llamado root dentro de /var/spool/cron. como mencionamos anteriormente. Ese archivo enumera todas las tareas que debe ejecutar el demonio crond.

# ls-l/var/spool/cron  Marcar todos los trabajos de Cron  Comprobar todos los trabajos de Cron Verificar todos los trabajos de Cron

En la imagen de arriba, el crontab del usuario actual se puede mostrar usando cat /var/spool/cron/root. o,

# crontab-l

Si necesita ejecutar una tarea de manera más detallada (por ejemplo, dos veces al día o tres veces al mes), cron también puede ayudarlo a hacerlo.

Por ejemplo, para ejecutar/ my/script. los días 1 y 15. de cada mes y enviar cualquier salida a /dev/null. puede agregar dos entradas crontab. de la siguiente manera:

01 00 1 * */myscript>/dev/null 2> & 1 01 00 15 * */my/script>/dev/null 2> & 1

Pero para que la tarea sea más fácil de mantener, puede combinar ambas entradas en una:

01 00 1,15 * */my/script>/dev/null 2> & 1

Siguiendo el ejemplo anterior, podemos ejecutar /my/other/script. a la 1:30 am. el primer día del mes cada tres meses:

30 01 1 1,4,7,10 */my/other/script>/dev/null 2> & 1

Pero cuando tienes que repetir una determinada tarea cada “ x. ”Minutos, horas, días o meses, puede dividir la posición correcta por la frecuencia deseada. La siguiente entrada crontab. tiene exactamente el mismo significado que la anterior:

30 01 1 */3 */my/other/script>/dev/null 2> & 1

O tal vez necesite ejecutar un determinado trabajo en una frecuencia fija o después de que el sistema se inicie, por ejemplo. Puede usar una de las siguientes cadenas en lugar de los cinco campos para indicar la hora exacta en la que desea que se ejecute su trabajo:

@reboot Ejecutar cuando se inicia el sistema. @yearly Ejecutar una vez al año, igual que 00 00 1 1 *. @monthly Ejecutar una vez al mes, igual que 00 00 1 * *. @weekly Ejecutar una vez a la semana, igual que 00 00 * * 0. @daily Ejecutar una vez al día, igual que 00 00 * * *. @hourly Ejecutar una vez por hora, igual que 00 * * * *.

Lea también:. 11 comandos para programar trabajos Cron en RHEL 7

Ubicación y verificación de registros

Los registros del sistema se encuentran (y rotan) dentro del Directorio /var/log. Según el estándar de jerarquía del sistema de archivos de Linux, este directorio contiene varios archivos de registro, que se escriben en él o en un subdirectorio apropiado (como audit. httpd. o samba. en la imagen siguiente) por los demonios correspondientes durante la operación del sistema:

# ls/var/log  Ubicación de los archivos de registro de Linux Ubicación de los archivos de registro de Linux Ubicación de los archivos de registro de Linux

Otro los registros interesantes son dmesg (contiene todos mensajes del búfer de anillo del kernel), seguro (registra los intentos de conexión que requieren autenticación del usuario), mensajes (mensajes de todo el sistema) y wtmp (registros de todos los inicios y cierres de sesión de los usuarios).

Los registros son muy importantes porque le permiten tener una idea de lo que está sucediendo en todo momento en su sistema y lo que ha sucedido en el pasado. Representan una herramienta invaluable para solucionar problemas y monitorear un servidor Linux y, por lo tanto, a menudo se usan con el comando tail-f para mostrar eventos, en tiempo real, a medida que ocurren y se registran en un registro.

Para Por ejemplo, si desea mostrar eventos relacionados con el kernel. escriba el siguiente comando:

# tail-f/var/log/dmesg

Lo mismo si desea ver el acceso a su servidor web:

# tail-f/var/log/httpd/access.log

Resumen

Si sabe cómo administrar paquetes de manera eficiente, programar tareas y dónde buscar información sobre el funcionamiento actual y pasado de su sistema, puede estar seguro de que no se encontrará con sorpresas muy a menudo. Espero que este artículo le haya ayudado a aprender o actualizar sus conocimientos sobre estas habilidades básicas.

No dude en escribirnos a través del formulario de contacto a continuación si tiene alguna pregunta o comentario.