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 localizar e interpretar archivos de registro del sistema con el enfoque de enseñarte por qué todas estas habilidades son esenciales para cada administrador del sistema.

Gestión de paquetes a través de Yum
Para instalar un paquete junto con todas sus dependencias que aún no están instaladas, utilizarás:
# yum -y install package_name(s)
Donde nombre_del_paquete(s) representan al menos un nombre de paquete real.
Por ejemplo, para instalar httpd y mlocate (en ese orden), escribe.
# yum -y install httpd mlocate
Nota: Que la letra y en el ejemplo anterior evita los mensajes de confirmación que yum presenta antes de realizar la descarga e instalación reales de los programas solicitados. Puedes omitirla si quieres.
Por defecto, yum instalará el paquete con la arquitectura que coincida con 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 paquete instalará la versión x86_64 del paquete, mientras que yum install paquete.x86 (si está disponible) instalará la de 32 bits.
Habrá momentos en los que desees instalar un paquete pero no sepas su nombre exacto. Las opciones de búsqueda total o búsqueda pueden buscar en los repositorios actualmente habilitados una palabra clave determinada en el nombre del paquete y/o 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á la misma palabra clave en la descripción del paquete y en los campos de url.
Una vez que la búsqueda devuelva un listado de paquetes, es posible que desees mostrar más información sobre algunos de ellos antes de instalarlos. Es ahí cuando la opción de info será útil:
# yum info logwatch

Puedes verificar regularmente las actualizaciones con el siguiente comando:
# yum check-update
El comando anterior devolverá todos los paquetes instalados para los cuales hay una actualización disponible. En el ejemplo mostrado en la imagen a continuación, solo rhel-7-server-rpms tiene una actualización disponible:

Luego puedes actualizar ese paquete solo con,
# yum update rhel-7-server-rpms
Si hay varios paquetes que pueden ser actualizados, yum update los actualizará todos de una vez.
Ahora, ¿qué sucede cuando conoces el nombre de un ejecutable, como ps2pdf, pero no sabes qué paquete lo proporciona? Puedes averiguarlo con yum whatprovides “*/[ejecutable]”
:
# yum whatprovides “*/ps2pdf”

Ahora, cuando se trata de eliminar un paquete, puedes hacerlo con yum remove paquete. Fácil, ¿verdad? Esto demuestra que yum es un administrador de paquetes completo y potente.
# yum remove httpd
Lee También: 20 Comandos Yum para Administrar la Gestión de Paquetes en RHEL 7
Bueno y Antiguo RPM Simple
RPM (también conocido como Administrador de Paquetes RPM, o originalmente Administrador de Paquetes RedHat) también se puede utilizar para instalar o actualizar paquetes cuando vienen en forma de paquetes independientes .rpm
.
A menudo se utiliza con las banderas -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 hash (-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 el código>rpm -qa (abreviatura de consultar todo):
# rpm -qa

Lee También: 20 Comandos 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 te permite programar tareas (es decir, comandos o scripts de shell) para que se ejecuten periódicamente. Cron verifica cada minuto el directorio /var/spool/cron en busca de archivos que llevan el nombre de las cuentas en /etc/passwd.
Cuando se ejecutan comandos, cualquier salida se envía al propietario de la crontab (o al usuario especificado en la variable de entorno MAILTO en el /etc/crontab, si existe).
Los archivos crontab (que se crean escribiendo crontab -e y presionando Enter) tienen el siguiente formato:

Por lo tanto, si queremos actualizar la base de datos de archivos local (que es utilizada por locate para encontrar archivos por nombre o patrón) cada segundo día del mes a las 2:15 am, necesitamos agregar la siguiente entrada de crontab:
15 02 2 * * /bin/updatedb
La entrada de crontab anterior dice: “Ejecutar /bin/updatedb el segundo día del mes, cada mes del año, independientemente del día de la semana, a las 2:15 am“. Como seguramente ya habrás adivinado, el símbolo de asterisco se utiliza como carácter comodín.
Después de agregar una tarea cron, puedes ver que se agregó un archivo llamado root dentro de /var/spool/cron, como mencionamos anteriormente. Ese archivo enumera todas las tareas que el demonio crond debe ejecutar:
# ls -l /var/spool/cron

En la imagen anterior, la crontab del usuario actual se puede mostrar usando cat /var/spool/cron/root o,
# crontab -l
Si necesitas ejecutar una tarea de forma más detallada (por ejemplo, dos veces al día o tres veces cada mes), cron también puede ayudarte a hacerlo.
Por ejemplo, para ejecutar /mi/script el 1ro y 15 de cada mes y enviar cualquier salida a /dev/null, puedes agregar dos entradas de 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, puedes combinar ambas entradas en una:
01 00 1,15 * * /my/script > /dev/null 2>&1
Siguiendo el ejemplo anterior, podemos ejecutar /mi/otro/script a las 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 cierta tarea cada “x” minutos, horas, días o meses, puedes dividir la posición derecha por la frecuencia deseada. La siguiente entrada de crontab tiene el mismo significado que la anterior:
30 01 1 */3 * /my/other/script > /dev/null 2>&1
O tal vez necesitas ejecutar un cierto trabajo con una frecuencia fija o después de que se inicie el sistema, por ejemplo. Puedes usar una de las siguientes cadenas en lugar de los cinco campos para indicar la hora exacta en la que deseas que se ejecute tu trabajo:
@reboot Run when the system boots. @yearly Run once a year, same as 00 00 1 1 *. @monthly Run once a month, same as 00 00 1 * *. @weekly Run once a week, same as 00 00 * * 0. @daily Run once a day, same as 00 00 * * *. @hourly Run once an hour, same as 00 * * * *.
Leer también: 11 comandos para programar tareas Cron en RHEL 7
Localización y verificación de logs
Los logs del sistema se encuentran (y se rotan) dentro del directorio /var/log. Según el Estándar de Jerarquía del Sistema de Archivos de Linux, este directorio contiene archivos de registro diversos, que son escritos en él o en un subdirectorio apropiado (como audit, httpd, o samba en la imagen a continuación) por los correspondientes demonios durante la operación del sistema:
# ls /var/log

Otros registros interesantes son dmesg (contiene todos los mensajes del búfer de anillo del kernel), secure (registra intentos de conexión que requieren autenticación de usuario), messages (mensajes de todo el sistema) y wtmp (registros de todos los inicios y cierres de sesión de usuario).
Los registros son muy importantes porque te permiten echar un vistazo a lo que está sucediendo en todo momento en tu sistema, y lo que ha ocurrido en el pasado. Representan una herramienta invaluable para solucionar problemas y monitorear un servidor Linux, y por lo tanto, son a menudo utilizados con el comando tail -f
para mostrar eventos, en tiempo real, a medida que ocurren y se registran en un registro.
Por ejemplo, si deseas mostrar eventos relacionados con el kernel, escribe el siguiente comando:
# tail -f /var/log/dmesg
Lo mismo si deseas ver el acceso a tu servidor web:
# tail -f /var/log/httpd/access.log
Resumen
Si sabes cómo gestionar eficientemente paquetes, programar tareas y dónde buscar información sobre la operación actual y pasada de tu sistema, puedes estar seguro de que no te encontrarás con sorpresas muy a menudo. Espero que este artículo te haya ayudado a aprender o refrescar tus conocimientos sobre estas habilidades básicas.
No dudes en ponerte en contacto con nosotros utilizando el formulario de contacto a continuación si tienes alguna pregunta o comentario.
Source:
https://www.tecmint.com/yum-package-management-cron-job-scheduling-monitoring-linux-logs/