Biblioteca Online : ¡La Suscripción ENI por 9,90 € el primer mes!, con el código PRIMER9. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Red Hat Enterprise Linux - CentOS
  3. CentOS
Extrait - Red Hat Enterprise Linux - CentOS Puesta en marcha y gestión de servidores
Extractos del libro
Red Hat Enterprise Linux - CentOS Puesta en marcha y gestión de servidores Volver a la página de compra del libro

Compendio de los principales comandos

Arranque

1. Núcleo y módulos

  • Mostrar los parámetros del núcleo: sysctl -a

  • Modificar un parámetro del núcleo: sysctl < parámetro>=<valor>

  • Configurar parámetros: /etc/sysctl.conf y /etc/sysctl.d/

  • Enumerar: lsmod

  • Info: modinfo <módulo>

  • Cargar: modprobe <módulo> [parámetro=valor]

  • Descargar: modprobe -r <módulo>

  • /etc/modprobe.d/*.conf

  • /etc/modules-load.d/*.conf

2. Arranque y servicios

Systemd

  • Enumerar unidades: systemd

  • Estado de las unidades: systemctl status <unidad>

  • Activar e iniciar un servicio:

  • Iniciar/detener un servicio:

  • Activar/desactivar un servicio al arranque:

  • Bitácoras para un servicio journalctl: _SYSTEMD_UNIT=<nombre del servicio>.service

Apagar el SO

  • Detener: shutdown -h now o halt

  • Reiniciar: shutdown -r now o reboot

  • Reiniciar a las 7h05: shutdown -r 07:05

  • Apagar en 10 minutos: shutdown +10

  • Cancelar el apagado /reiniciado ya empezado o programado: shutdown -c

Instalar programas

1. Registrarse

Portal del cliente

  • Registrar el sistema en el portal del cliente: subscription-manager register.

  • Adjuntar el sistema a una suscripción: subscription-manager attach --auto

    subscription-manager unregister

    subscription-manager list

    subscription-manager facts

    subscription-manager repos

2. YUM/DNF (repositorios de paquetes)

Lista de repositorios

dnf repolist

dnf repolist all

Buscar e instalar paquetes

dnf list

dnf list installed

dnf list available

dnf list all

dnf grouplist

dnf search <palabra>

información sobre un paquete o un archivo

dnf info <paquete>

dnf provides <archivo>

Instalar/desinstalar un paquete o un grupo

dnf install <paquete>

dnf groupinstall "<grupo>" o yum install @"<grupo>"

dnf remove <paquete>

dnf groupremove "<grupo>"

Actualización de paquetes

dnf check-update

dnf update <paquete>

dnf update

Plugins (complementos)

dnf info yum

Seguridad

dnf check-update --security

dnf upgrade-minimal --security

Reinicializar

dnf clean all

Application Streams (RHEL 8.8/DNF)

Mostrar la lista de módulos

dnf module list

Información sobre un módulo

dnf module info <nombre del módulo>

dnf module info <nombre del módulo> --profile

Instalar un módulo

dnf module install <nombre del módulo>

dnf module install <nombre del módulo>:<versión>/<perfil>...

Particiones y sistemas de archivos

1. Particionar

  • Informaciones sobre el disco: parted -l <disco>

  • Crear particiones: parted <disco>

    Ejemplo: parted /dev/sdb

  • Comandos:

2. Logical Volume Manager (Gestor de volúmenes lógicos)

Vocabulario

  • PV (volúmenes físicos): discos, particiones

  • VG (grupos de volúmenes): concatenación de PV

  • LV (volúmenes lógicos): particiones lógicas creadas en los VG

Physical Volume (Volumen físico)

  • Info PV: pvdisplay

    pvcreate <partición>

    Ejemplo: pvcreate /dev/sdb5

    pvremove <partición>

    Ejemplo: pvremove /dev/sdb5

  • Desplazar datos a otro PV: pvmove <PV fuente> <PV destino>

Volume Group (Grupo de volúmenes)

  • Informaciones del VG: vgdisplay

  • Crear: vgcreate <nombre del VG> <PV> [<otro PV> <etc.>]

    Ejemplo: vgcreate Database /dev/sdb1

  • Agregar PV al VG: vgextend <nombre del VG> <PV>

  • Suprimir un VG: vgremove <VG>

  • Quitar un PV de un VG: vgreduce <VG> <PV>

Logical Volume (volumen lógico)

  • Informaciones del LV: lvdisplay

  • Crear un LV en un VG: lvcreate -L <tamaño> -n <nombre del LV> <VG>

    Ejemplo: lvcreate -L 500 -n LV-Oracle Database

  • Eliminar: lvremove <LV> (primero se debe desmontar)

  • Extender: lvextend -L<nuevo tamaño> <LV>

    -L800 (tamaño fijo 800 MB) o -L4G (tamaño fijo 4 GB) o -L+300 (tamaño +300 MB)

  • Reducir: lvreduce -L<nuevo tamaño> <LV>

  • Crear una instantánea (snapshot): lvcreate -L <tamaño del snapshot> -s -n <nombre del snapshot> <LV fuente>

  • Volver a un snapshot anterior: lvconvert --merge /dev/<vg...

Usuarios y grupos

1. Usuarios

  • Agregar: useradd <nombre_de_usuario>

    -c ’<información>’

    -d <directorio_usuario>

    -e <fecha>

    -s <ruta_del_shell>

    -r (cuenta del sistema)

  • Modificar: usermod <opciones> <usuario>

    -a -G <grupos> (agregar a grupos)

    -L (bloquear)

    -U (desbloquear)

    -m -d <nuevo_ directorio_usuario>

  • Eliminar: userdel <usuario>

  • Contraseña: passwd <nombre_de_usuario>

  • Cambiar temporizadores: chage (ver esquema)

  • Cambiar contraseña en la primera conexión: chage -d 0 <usuario>

Variables de entorno

  • Mostrar: set o ehv

  • Definir: export <variable>=<valor>

  • Guardado en: /etc/profile o ~/.bash_profile

Alias

  • Definir alias: <alias>=’<comando>’

  • Guardado en: /etc/bashrc o ~/.bashrc

2. Archivos de usuarios

  • /etc/passwd

<nombre de usuario>:x:UID:GID:<información>: 
<directorio>:<shell> 
  • /etc/shadow

<nombre de usuario>:<hash de contraseña>: 
FECHA:DÍAS_MÍN:DÍAS_MÁX:DÍASADV:INACTIVO:FECHAEXP: 
  • /etc/login.defs

  • /etc/default/useradd

3. Derechos

  • Sobre los archivos

  • r: lectura: el archivo se puede leer.

  • w: escritura: el archivo se puede escribir.

  • x: ejecución: el archivo se puede ejecutar.

  • Sobre los directorios

  • r: lectura: se puede listar el contenido del directorio.

  • w: escritura: se puede modificar el contenido del directorio.

  • x: solo ejecución: se puede...

Redes

1. Verificación

Nombre del anfitrión

hostname

Dirección IP/máscara de red

ifconfig 
ip address 

Puerta de enlace predeterminada

route 
ip route 

Dirección del servidor DNS DNS

/etc/resolv.conf 

2. Configuración

Nombre de host (anfitrión)

nmcli general hostname <nombre de la máquina> 

Perfiles ("conexiones")

  • Lista: nmcli connection

  • Lista para una interfaz: nmcli -f CONNECTIONS device show <interfaz>

  • Detalles: nmcli connection show id <perfil>

  • Nuevo perfil manual con configuración IP estática: nmcli connection add con-name <perfil> ifname <interfaz> type ethernet ip4 <dirección/máscara> gw4 <pasarela> ip6 <dirección>

  • Nuevo perfil manual con configuración IP DHCP: nmcli connection add con-name <perfil> ifname <interfaz> type ethernet

  • Añadir servidores DNS: nmcli connection mod <perfil> ipv4.dns "<servidores DNS>"

  • Añadir servidores DNS IPv6: nmcli con mod <perfil> ipv6.dns "<servidores DNS IPv6>"

  • Modificar un perfil de conexión: nmcli connection modify <perfil> <parámetro> <valor>

  • Activar/desactivar un perfil de conexión: nmcli connection up <perfil> o nmcli connection down <perfil>

Interfaces ("dispositivos")

  • Lista: nmcli device

  • Mostrar información detallada sobre las interfaces de red: nmcli device show

  • Conectar/desconectar una interfaz:

    nmcli device connect <interfaz>

    nmcli device disconnect <interfaz>

3. Diagnóstico

  • Probar la conectividad de la red: ping <dirección_IP_máquina>

  • Mostrar la ruta de red recorrida: traceroute <dirección_IP_máquina>...

Shell Bash

  • Convertirse en root: su -

  • Salir del shell: exit

Ayuda en línea

man <comando> 
  • Buscar páginas man sobre un tema: man -k <palabra clave>

Arborescencia

  • Cambiar de directorio: cd

  • Moverse al directorio superior: cd ..

  • Volver al directorio anterior: cd -

  • Mostrar el directorio actual: pwd

  • Mostrar el contenido de un directorio: ls

    -l: con información detallada

    -h: tamaño de los archivos en unidades de KB, MB, etc.

    -a: archivos ocultos

    -F: legibles

    -t: por fecha

  • Crear directorio: mkdir <nombre_del_directorio>

    -p: crear directorios padres si se requieren

  • Eliminar directorio vacío: rmdir <nombre_del_directorio>

Archivos y directorios

  • Borrar: rm <nombre_del_archivo>

    cp <archivo _fuente> <directorio_ destino>

    mv < archivo _fuente> <directorio_destino>

  • Copiar directorio: cp -R <fuente> <destino>

  • Renombrar: mv <nombre_antiguo_del_archivo> <nombre_nuevo>

  • Buscar: find <ruta_de_búsqueda> "<patrón>"

    - name <texto>: nombre que distingue entre mayúsculas y minúsculas

    -iname: nombre que no distingue mayúsculas de minúsculas

    -type <letra_tipo>: tipo de archivo

    -user <nombre_usuario> o -uid <uid_ usuario>: por usuario-propietario

    -group <nombre_grupo> o -gid <grupo_gid>: por grupo propietario

    -size <tamaño>: por tamaño

  • Búsqueda rápida: locate <texto>...

Bash Scripting

General

  • Cabecera (shebang)

    #!/bin/bash

  1. Comentario

    # Esto es un comentario

  • Ejecutable

    chmod +x mi_script.sh

  • Ejecutar: ./mi_script.sh

  • Depurar: bash -xv mi_script.sh

Variables

  • Definir: <variable>=<valor>

  • Mostrar: echo $<variable>

  • Argumentos del script

    $@: todos los argumentos

    $#: número de argumentos

    $0: nombre del script

    $1: primer argumento

    $2 $3 etc.

    $?: código de retorno de un comando

  • Solicitar y guardar la entrada del usuario

    read <variable> <variable> etc.

  • Ejemplo

    #!/bin/bash

    echo "Escriba su nombre y apellidos:"

    read word1 word2

    echo "Gracias $word1 por darnos sus apellidos ($word2)"

Llamada a comandos y archivos

  • Sourcing (leer variables)

    . /ruta/archivo

    source /ruta/archivo

  • Llamar a un script

    /ruta/script

    ./script

  • Comando en un comando

    `comando` (comillas invertidas)

    $(comando)

Escape de caracteres especiales

\<carácter especial>: escape fuerte de un único carácter especial

’< cadena>’ (comillas simples): escape fuerte de una cadena.

"<cadena de caracteres>" (comillas dobles): escape débil, caracteres no escapados $ ` \

Comparaciones aritméticas

-lt (less than, menor que)

-gt (greater than, mayor que)

-le (less or equal, menor o igual)

-ge (greater or equal, mayor o igual)

-eq (equal, igual)

-ne (not equal, no igual)

Desplazar el inicio de línea ej: if [ $note -ge 19 ]; then

Pruebas y comparaciones de texto

texto1 = texto2: igual.

texto1 != texto2: diferente (no igual).

texto1 < texto2: menor que (orden alfabético).

texto1 > texto2: mayor que (orden alfabético).

-n texto: texto el texto no está vacío.

-z texto: texto el texto está vacío.

Desplazar inicio de línea ej: if [ $nombre = Timoteo ]; then

Pruebas sobre archivos (véase man bash)

-d archivo «el archivo existe y es un directorio»

-e archivo «el archivo existe»

-f archivo «el archivo existe y es un archivo normal»

-h archivo «el archivo existe y es un vínculo simbólico»

-r archivo «el archivo existe y es accesible en lectura»

-s archivo «el archivo existe y tiene un tamaño distinto a cero»

-w archivo «el archivo existe y es accesible en escritura»

-x archivo «el archivo existe y es ejecutable»

archivo_1 -nt archivo_2 «archivo_1 es más reciente...