Hoja de Trucos de Red Hat Enterprise Linux

Aprenda Red Hat Enterprise Linux con Laboratorios Prácticos

Aprenda Red Hat Enterprise Linux a través de laboratorios prácticos y escenarios del mundo real. LabEx proporciona cursos completos de RHEL que cubren administración esencial del sistema, gestión de paquetes, gestión de servicios, configuración de red, gestión de almacenamiento y seguridad. Domine las operaciones de Linux empresarial y las técnicas de administración de sistemas.

Información del Sistema y Monitoreo

Versión del Sistema: cat /etc/redhat-release

Muestra la información de versión y lanzamiento de RHEL.

# Mostrar versión de RHEL
cat /etc/redhat-release
# Método alternativo
cat /etc/os-release
# Mostrar versión del kernel
uname -r
# Mostrar arquitectura del sistema
uname -m

Rendimiento del Sistema: top / htop

Muestra los procesos en ejecución y el uso de recursos del sistema.

# Monitor de procesos en tiempo real
top
# Visor de procesos mejorado (si está instalado)
htop
# Mostrar árbol de procesos
pstree
# Mostrar todos los procesos
ps aux

Información de Memoria: free / cat /proc/meminfo

Muestra el uso y la disponibilidad de la memoria.

# Mostrar uso de memoria en formato legible por humanos
free -h
# Mostrar información detallada de la memoria
cat /proc/meminfo
# Mostrar uso de swap
swapon --show

Uso de Disco: df / du

Monitorea el uso del sistema de archivos y directorios.

# Mostrar uso del sistema de archivos
df -h
# Mostrar tamaños de directorios
du -sh /var/log/*
# Mostrar directorios más grandes
du -h --max-depth=1 / | sort -hr

Tiempo de Actividad del Sistema: uptime / who

Verifica el tiempo de actividad del sistema y los usuarios conectados.

# Mostrar tiempo de actividad y carga del sistema
uptime
# Mostrar usuarios conectados
who
# Mostrar usuario actual
whoami
# Mostrar últimos inicios de sesión
last

Información de Hardware: lscpu / lsblk

Muestra componentes y configuración de hardware.

# Mostrar información de la CPU
lscpu
# Mostrar dispositivos de bloque
lsblk
# Mostrar dispositivos PCI
lspci
# Mostrar dispositivos USB
lsusb

Gestión de Paquetes

Instalación de Paquetes: dnf install / yum install

Instala paquetes de software y dependencias.

# Instalar un paquete (RHEL 8+)
sudo dnf install package-name
# Instalar un paquete (RHEL 7)
sudo yum install package-name
# Instalar archivo RPM local
sudo rpm -i package.rpm
# Instalar desde repositorio específico
sudo dnf install --enablerepo=repo-
name package
Quiz

Inicia sesión para responder este quiz y rastrear tu progreso de aprendizaje

¿Cuál es la diferencia entre dnf y yum en RHEL?
dnf es el gestor de paquetes más nuevo para RHEL 8+, yum se usa en RHEL 7
dnf es para paquetes de desarrollo, yum es para producción
No hay diferencia, son lo mismo
dnf está obsoleto, siempre se debe usar yum

Actualización de Paquetes: dnf update / yum update

Actualiza paquetes a las últimas versiones.

# Actualizar todos los paquetes
sudo dnf update
# Actualizar paquete específico
sudo dnf update package-name
# Verificar actualizaciones disponibles
dnf check-update
# Actualizar solo parches de seguridad
sudo dnf update --security

Información de Paquetes: dnf info / rpm -q

Consulta información de paquetes y dependencias.

# Mostrar información del paquete
dnf info package-name
# Listar paquetes instalados
rpm -qa
# Buscar paquetes
dnf search keyword
# Mostrar dependencias del paquete
dnf deplist package-name

Operaciones de Archivos y Directorios

Navega por el sistema de archivos y lista el contenido.

# Cambiar directorio
cd /path/to/directory
# Mostrar directorio actual
pwd
# Listar archivos y directorios
ls -la
# Listar con tamaños de archivo
ls -lh
# Mostrar archivos ocultos
ls -a

Operaciones de Archivos: cp / mv / rm

Copia, mueve y elimina archivos y directorios.

# Copiar archivo
cp source.txt destination.txt
# Copiar directorio recursivamente
cp -r /source/dir/ /dest/dir/
# Mover/renombrar archivo
mv oldname.txt newname.txt
# Eliminar archivo
rm filename.txt
# Eliminar directorio recursivamente
rm -rf directory/
Quiz

Inicia sesión para responder este quiz y rastrear tu progreso de aprendizaje

¿Qué hace cp -r?
Copia solo archivos
Copia directorios recursivamente, incluyendo todos los subdirectorios y archivos
Elimina archivos
Renombra archivos

Contenido de Archivos: cat / less / head / tail

Visualiza y examina el contenido de los archivos.

# Mostrar contenido del archivo
cat filename.txt
# Ver archivo página por página
less filename.txt
# Mostrar las primeras 10 líneas
head filename.txt
# Mostrar las últimas 10 líneas
tail filename.txt
# Seguir archivo de registro en tiempo real
tail -f /var/log/messages
Quiz

Inicia sesión para responder este quiz y rastrear tu progreso de aprendizaje

¿Qué hace tail -f /var/log/messages?
Muestra solo las primeras 10 líneas
Elimina el archivo de registro
Muestra las últimas 10 líneas y sigue las nuevas entradas en tiempo real
Archiva el archivo de registro

Permisos de Archivos: chmod / chown / chgrp

Administra permisos y propiedad de archivos.

# Cambiar permisos de archivo
chmod 755 script.sh
# Cambiar propiedad del archivo
sudo chown user:group filename.txt
# Cambiar propiedad del grupo
sudo chgrp newgroup filename.txt
# Cambio de permisos recursivo
sudo chmod -R 644 /path/to/directory/

Búsqueda de Archivos: find / locate / grep

Busca archivos y contenido dentro de archivos.

# Encontrar archivos por nombre
find /path -name "*.txt"
# Encontrar archivos por tamaño
find /path -size +100M
# Buscar texto en archivos
grep "pattern" filename.txt
# Búsqueda de texto recursiva
grep -r "pattern" /path/to/directory/

Archivo y Compresión: tar / gzip

Crea y extrae archivos comprimidos.

# Crear archivo tar
tar -czf archive.tar.gz /path/to/directory/
# Extraer archivo tar
tar -xzf archive.tar.gz
# Crear archivo zip
zip -r archive.zip /path/to/directory/
# Extraer archivo zip
unzip archive.zip

Gestión de Servicios

Control de Servicios: systemctl

Administra servicios del sistema usando systemd.

# Iniciar un servicio
sudo systemctl start service-name
# Detener un servicio
sudo systemctl stop service-name
# Reiniciar un servicio
sudo systemctl restart service-name
# Verificar estado del servicio
systemctl status service-name
# Habilitar servicio al inicio
sudo systemctl enable service-name
# Deshabilitar servicio al inicio
sudo systemctl disable service-name

Información de Servicios: systemctl list-units

Lista y consulta servicios del sistema.

# Listar todos los servicios activos
systemctl list-units --type=service
# Listar todos los servicios habilitados
systemctl list-unit-files --type=service --state=enabled
# Mostrar dependencias del servicio
systemctl list-dependencies service-name

Registros del Sistema: journalctl

Visualiza y analiza registros del sistema usando journald.

# Ver todos los registros
journalctl
# Ver registros para un servicio específico
journalctl -u service-name
# Seguir registros en tiempo real
journalctl -f
# Ver registros del último arranque
journalctl -b
# Ver registros por rango de tiempo
journalctl --since "2024-01-01" --until "2024-01-31"

Gestión de Procesos: ps / kill / killall

Monitorea y controla procesos en ejecución.

# Mostrar procesos en ejecución
ps aux
# Matar proceso por PID
kill 1234
# Matar proceso por nombre
killall process-name
# Matar proceso forzadamente
kill -9 1234
# Mostrar jerarquía de procesos
pstree

Gestión de Usuarios y Grupos

Gestión de Usuarios: useradd / usermod / userdel

Crea, modifica y elimina cuentas de usuario.

# Añadir nuevo usuario
sudo useradd -m username
# Establecer contraseña de usuario
sudo passwd username
# Modificar cuenta de usuario
sudo usermod -aG groupname
username
# Eliminar cuenta de usuario
sudo userdel -r username
# Bloquear cuenta de usuario
sudo usermod -L username

Gestión de Grupos: groupadd / groupmod / groupdel

Crea, modifica y elimina grupos.

# Añadir nuevo grupo
sudo groupadd groupname
# Añadir usuario al grupo
sudo usermod -aG groupname
username
# Eliminar usuario del grupo
sudo gpasswd -d username
groupname
# Eliminar grupo
sudo groupdel groupname
# Listar grupos de usuario
groups username

Control de Acceso: su / sudo

Cambia de usuario y ejecuta comandos con privilegios elevados.

# Cambiar a usuario root
su -
# Cambiar a usuario específico
su - username
# Ejecutar comando como root
sudo command
# Editar archivo sudoers
sudo visudo
# Verificar permisos de sudo
sudo -l

Configuración de Red

Información de Red: ip / nmcli

Muestra la interfaz de red y los detalles de configuración.

# Mostrar interfaces de red
ip addr show
# Mostrar tabla de enrutamiento
ip route show
# Mostrar conexiones del gestor de red
nmcli connection show
# Mostrar estado del dispositivo
nmcli device status

Configuración de Red: nmtui / nmcli

Configura ajustes de red usando NetworkManager.

# Configuración de red basada en texto
sudo nmtui
# Añadir nueva conexión
sudo nmcli connection add type ethernet con-name
"eth0" ifname eth0
# Modificar conexión
sudo nmcli connection modify "eth0" ipv4.addresses
192.168.1.100/24
# Activar conexión
sudo nmcli connection up "eth0"

Pruebas de Red: ping / curl / wget

Prueba la conectividad de red y descarga archivos.

# Probar conectividad
ping google.com
# Probar puerto específico
telnet hostname 80
# Descargar archivo
wget http://example.com/file.txt
# Probar peticiones HTTP
curl -I http://example.com

Gestión de Firewall: firewall-cmd

Configura reglas de firewall usando firewalld.

# Mostrar estado del firewall
sudo firewall-cmd --state
# Listar zonas activas
sudo firewall-cmd --get-active-zones
# Añadir servicio al firewall
sudo firewall-cmd --permanent --add-service=http
# Recargar reglas del firewall
sudo firewall-cmd --reload

Gestión de Almacenamiento

Gestión de Discos: fdisk / parted

Crea y administra particiones de disco.

# Listar particiones de disco
sudo fdisk -l
# Editor de particiones interactivo
sudo fdisk /dev/sda
# Crear tabla de particiones
sudo parted /dev/sda mklabel gpt
# Crear nueva partición
sudo parted /dev/sda mkpart primary ext4 1MiB 100GiB

Gestión de Sistemas de Archivos: mkfs / mount

Crea sistemas de archivos y monta dispositivos de almacenamiento.

# Crear sistema de archivos ext4
sudo mkfs.ext4 /dev/sda1
# Montar sistema de archivos
sudo mount /dev/sda1 /mnt/data
# Desmontar sistema de archivos
sudo umount /mnt/data
# Comprobar sistema de archivos
sudo fsck /dev/sda1

Gestión de LVM: pvcreate / vgcreate / lvcreate

Administra el Almacenamiento Lógico (LVM).

# Crear volumen físico
sudo pvcreate /dev/sdb
# Crear grupo de volúmenes
sudo vgcreate vg_data /dev/sdb
# Crear volumen lógico
sudo lvcreate -L 10G -n lv_data vg_data
# Extender volumen lógico
sudo lvextend -L +5G /dev/vg_data/lv_data

Configuración de Montaje: /etc/fstab

Configura puntos de montaje permanentes.

# Editar archivo fstab
sudo vi /etc/fstab
# Probar entradas de fstab
sudo mount -a
# Mostrar sistemas de archivos montados
mount | column -t

Seguridad y SELinux

Gestión de SELinux: getenforce / setenforce

Controla la aplicación y las políticas de SELinux.

# Verificar estado de SELinux
getenforce
# Establecer SELinux en permisivo
sudo setenforce 0
# Establecer SELinux en forzando
sudo setenforce 1
# Verificar contexto de SELinux
ls -Z filename
# Cambiar contexto de SELinux
sudo chcon -t httpd_exec_t /path/to/file

Herramientas SELinux: sealert / ausearch

Analiza denegaciones de SELinux y registros de auditoría.

# Revisar alertas de SELinux
sudo sealert -a /var/log/audit/audit.log
# Buscar en registros de auditoría
sudo ausearch -m avc -ts recent
# Generar política SELinux
sudo audit2allow -M mypolicy < /var/log/audit/audit.log

Configuración SSH: /etc/ssh/sshd_config

Configura el demonio SSH para acceso remoto seguro.

# Editar configuración de SSH
sudo vi /etc/ssh/sshd_config
# Reiniciar servicio SSH
sudo systemctl restart sshd
# Probar conexión SSH
ssh user@hostname
# Copiar clave SSH
ssh-copy-id user@hostname

Actualizaciones del Sistema: dnf update

Mantén el sistema seguro con actualizaciones regulares.

# Actualizar todos los paquetes
sudo dnf update
# Actualizar solo parches de seguridad
sudo dnf update --security
# Verificar actualizaciones disponibles
dnf check-update --security
# Habilitar actualizaciones automáticas
sudo systemctl enable dnf-automatic.timer

Monitoreo de Rendimiento

Monitoreo del Sistema: iostat / vmstat

Monitorea el rendimiento del sistema y el uso de recursos.

# Mostrar estadísticas de E/S
iostat -x 1
# Mostrar estadísticas de memoria virtual
vmstat 1
# Mostrar estadísticas de red
ss -tuln
# Mostrar E/S de disco
iotop

Uso de Recursos: sar / top

Analiza métricas del sistema históricas y en tiempo real.

# Informe de actividad del sistema
sar -u 1 3
# Informe de uso de memoria
sar -r
# Informe de actividad de red
sar -n DEV
# Monitoreo de promedio de carga
uptime

Análisis de Procesos: strace / lsof

Depura procesos y acceso a archivos.

# Rastrear llamadas al sistema
strace -p 1234
# Listar archivos abiertos
lsof
# Mostrar archivos abiertos por proceso
lsof -p 1234
# Mostrar conexiones de red
lsof -i

Ajuste de Rendimiento: tuned

Optimiza el rendimiento del sistema para cargas de trabajo específicas.

# Listar perfiles disponibles
tuned-adm list
# Mostrar perfil activo
tuned-adm active
# Establecer perfil de rendimiento
sudo tuned-adm profile throughput-performance
# Modo de perfil personalizado
sudo tuned-adm profile_mode

Instalación y Configuración de RHEL

Registro del Sistema: subscription-manager

Registra el sistema con el Portal del Cliente de Red Hat.

# Registrar sistema
sudo subscription-manager
register --username
your_username
# Adjuntar suscripciones automáticamente
sudo subscription-manager
attach --auto
# Listar suscripciones disponibles
subscription-manager list --
available
# Mostrar estado del sistema
subscription-manager status

Gestión de Repositorios: dnf config-manager

Administra repositorios de software.

# Listar repositorios habilitados
dnf repolist
# Habilitar repositorio
sudo dnf config-manager --
enable repository-name
# Deshabilitar repositorio
sudo dnf config-manager --
disable repository-name
# Añadir nuevo repositorio
sudo dnf config-manager --add-
repo https://example.com/repo

Configuración del Sistema: hostnamectl / timedatectl

Configura ajustes básicos del sistema.

# Establecer nombre de host
sudo hostnamectl set-hostname
new-hostname
# Mostrar información del sistema
hostnamectl
# Establecer zona horaria
sudo timedatectl set-timezone
America/New_York
# Mostrar configuración de hora
timedatectl

Solución de Problemas y Diagnóstico

Registros del Sistema: /var/log/

Examina archivos de registro del sistema en busca de problemas.

# Ver mensajes del sistema
sudo tail -f /var/log/messages
# Ver registros de autenticación
sudo tail -f /var/log/secure
# Ver registros de arranque
sudo journalctl -b
# Ver mensajes del kernel
dmesg | tail

Diagnóstico de Hardware: dmidecode / lshw

Examina la información y el estado del hardware.

# Mostrar información de hardware
sudo dmidecode -t system
# Listar componentes de hardware
sudo lshw -short
# Verificar información de memoria
sudo dmidecode -t memory
# Mostrar información de la CPU
lscpu

Solución de Problemas de Red: netstat / ss

Herramientas y utilidades de diagnóstico de red.

# Mostrar conexiones de red
ss -tuln
# Mostrar tabla de enrutamiento
ip route show
# Probar resolución DNS
nslookup google.com
# Rastrear ruta de red
traceroute google.com

Recuperación y Rescate: systemctl rescue

Procedimientos de recuperación y emergencia del sistema.

# Entrar en modo rescate
sudo systemctl rescue
# Entrar en modo de emergencia
sudo systemctl emergency
# Restablecer servicios fallidos
sudo systemctl reset-failed
# Reconfigurar cargador de arranque
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Automatización y Scripting

Trabajos Cron: crontab

Programa tareas automatizadas y de mantenimiento.

# Editar crontab del usuario
crontab -e
# Listar crontab del usuario
crontab -l
# Eliminar crontab del usuario
crontab -r
# Ejemplo: Ejecutar script diariamente a las 2 AM
0 2 * * * /path/to/script.sh

Scripting de Shell: bash

Crea y ejecuta scripts de shell para automatización.

#!/bin/bash
# Script simple de respaldo
DATE=$(date +%Y%m%d)
tar -czf backup_$DATE.tar.gz /home/user/documents
echo "Copia de seguridad completada: backup_$DATE.tar.gz"

Variables de Entorno: export / env

Administra variables de entorno y configuraciones de shell.

# Establecer variable de entorno
export MY_VAR="value"
# Mostrar todas las variables de entorno
env
# Mostrar variable específica
echo $PATH
# Añadir a PATH
export PATH=$PATH:/new/directory

Automatización del Sistema: systemd timers

Crea tareas programadas basadas en systemd.

# Crear archivo de unidad timer
sudo vi /etc/systemd/system/backup.timer
# Habilitar e iniciar temporizador
sudo systemctl enable backup.timer
sudo systemctl start backup.timer
# Listar temporizadores activos
systemctl list-timers

Enlaces Relevantes