Curso Linux
Curso Linux
Curso Linux
GNU/Linux
Curso inicial
1 Introducción general
2 Manejo de problemas
3 Administración de usuarios
4 Monitoreo
Introducción
General
Introducción
●
El objetivo de este curso es iniciarnos en el mundo de GNU/Linux.
●
Entendiendo cómo usarlo por medio de la distribución SuSE y pudiendo manejar herramientas
necesarias para poder entender su funcionamiento.
●
La línea de comandos distingue entre mayúsculas y minúsculas, por lo que siempre escriban los
comandos exactamente como se dan. Para comandos más complejos, los espacios también son
importantes.
●
En Linux todo es un archivo. Los diferentes dispositivos, discos rígidos, pendrives, mouse etc.
Introducción general
●
Red Hat Enterprise Linux también o RHEL es una distribución comercial de GNU/Linux desarrollada por Red Hat. Es
la versión comercial basada en Fedora que a su vez está basada en el anterior Red Hat Linux, de forma similar a
como SUSE Enterprise Desktop y SLE Server lo es respecto de OpenSUSE.
●
Mientras que las nuevas versiones de Fedora salen cada aproximadamente 6 meses, las de RHEL suelen hacerlo
cada 18 o 24 meses.
●
Cada una de estas versiones cuenta con una serie de servicios de valor añadido sobre la base de los que basa su
negocio (soporte, formación, consultoría, certificación, etc)
●
Cada versión lanzada cuenta por el momento con soporte durante al menos 10 años desde la fecha de lanzamiento
durante este tiempo, se dividen varias etapas de soporte.
●
CentOS (Community ENTerprise Operating System) es una distribución Linux que consiste en una bifurcación a nivel
binario de la distribución GNU/Linux Red Hat Enterprise Linux RHEL, compilado por voluntarios a partir del código
fuente publicado por Red Hat, siendo la principal diferencia con este la eliminación de todas las referencias a las
marcas y logos propiedad de Red Hat.
●
En diciembre de 2020, Red Hat terminó con el soporte de CentOS, aunque continuará con el soporte para CentOS
Stream, su variante rolling release.
Ciclo de vida de SuSE
Ciclo de vida de SuSE
Suscripción de SuSE
●
Que debemos saber al vender/comprar una suscripción de SuSE
–Si el servidor es físico, virtual o nube
which: localiza un comando buscando en los directorios especificados por la variable de entorno PATH (ver más abajo)
Las variables de entorno son un conjunto de valores dinámicos, almacenados dentro de la shell, hay variables definidas por el usuario y en todo el sistema. Capítulo 5
Un ejemplo de variable de todo el sistema es $PATH donde $ PATH es una variable de entorno que especifica dónde se encuentran los programas ejecutables.
Lorem ipsum dolor sit amet, consectetuer
adipiscing elit, sed diam nonummy nibh
euismod tincidunt ut laoreet dolore magna
Manejo de directorios
●
REFERENCIAS
–~ Directorio home . Directorio actual .. Directorio un nivel arriba
–/ Directorio raíz
●
CREAR UN DIRECTORIO
–mkdir directorio
–mkdir -p directorio/directorio/directorio
●
BORRAR UN ARCHIVO O DIRECTORIO
–rm archivo
●
COPIAR UN DIRECTORIO
–cp -a directorio
Manejo de directorios
●
La ruta absoluta se define al especificar la ubicación de un archivo o directorio desde el directorio
raíz (/).
●
La ruta relativa se define como la ruta relacionada desde el directorio de trabajo actual.
Manejo de archivos
●
MAYÚSCULAS Y MINÚSCULAS
●
ARCHIVOS EJECUTABLES
●
ARCHIVOS Y DIRECTORIOS OCULTOS
●
TODO ES UN ARCHIVO
–Normales
–Directorios
–Enlace
–Socket
–Tubería
●
Directorios
–Organizan archivos en el disco
●
Pipes (a veces llamadas FIFO – primero en entrar, primero en salir)
–Punto lógico para la comunicación en el sistema de archivos para la salida de un proceso
Aplicaciones
Programas
X / SHELL
Kernel
Hardware
17 /
Archivos de dispositivo
●
Representan hardware
–Son el enlace entre los drivers y el hardware
–Los drivers leen desde el archivo y escriben en él
–Excepto las placas de red, tienen su propio método de acceso
●
Tipos de archivos de dispositivo
–Bloque
–Carácter
–Los archivos del dispositivo son creados automáticamente por una herramienta del sistema llamada udev.
Archivos de dispositivo
●
Dispositivos de bloque
–Son principalmente usados para almacenamiento
–1st hard drive = /dev/sda
–2nd hard drive = /dev/sdb
Dispositivo Nombre
Teclado
●
Mouse
●
Modem
●
Manejo de archivos - Visualizar
• Los comandos más importantes que usaremos:
●
(date ; who) > quienyCuando
●
find -type d > listado_de_directorios
●
find -type f > listado_de_archivos
●
find -name *pdf > todos_los_pdf
●
find -executable > todos_los_ejecutables
Uso de la terminal
• TAB: El tabulador permite autocompletar lo que se está escribiendo o navegar entre posibles opciones.
• CTRL + C: Sirve para matar un proceso que se esté ejecutando.
• CTRL + Z: Sirve para enviar al segundo plano el proceso que se está ejecutando. Si queremos volver, bastará con usar el comando fg.
• CTRL + D: Es el equivalente al comando exit, que sirve para cerrar la sesión de un usuario.
• CTRL + L: Este es el equivalente al comando clear y sirve para limpiar la pantalla de terminal. Es bastante útil, sobre todo cuando se ejecuta algún otro software de línea
de comandos que no tiene un comando para limpiar pantalla y no se puede insertar el comando clear, como por ejemplo al utilizar el terminal de MySQL.
• CTRL + A: Mueve el cursor al inicio. Es útil si estamos escribiendo un comando largo y queremos corregir algo del inicio.
• CTRL + E: Mueve el cursor al final. De utilidad si queremos añadir algo al final del comando de forma rápida.
• CTRL + U: Con este atajo se borra la línea entera, independientemente de donde esté el cursor.
• CTRL + K: De esta forma conseguimos borrar desde la posición del cursor hasta el final de la línea.
• CTRL + W: Sirve para borrar la palabra que esté justo antes del cursor, o bien borra todas las letras desde la posición en la que está el mismo hasta el inicio de la palabra
anterior.
• CTRL + Y: Permite deshacer el último borrado que se ha realizado.
• CTRL + R: Permite buscar dentro del historial de comandos que se han introducido. Es útil en caso de no recordar un comando que se ha introducido o uno que sea
excesivamente largo, así se puede recuperar sin tener que volver a escribirlo. Cada vez que se pulsa CTRL + R la búsqueda va un paso más atrás.
• CTRL + G: Para salir de la búsqueda.
Manejo de archivos
●
INFORMACIÓN SOBRE ARCHIVOS
●
drwxrwxr-x esto te indica el tipo de archivos y los permisos que tiene. Así en este caso, la primera
letra d indica que es un directorio. Los siguientes conjuntos de letras, se corresponden con los
permisos, de lectura escritura y ejecución. r=lectura, w=escritura, x=ejecución
●
- para archivos regulares
●
b archivo especial tipo bloque
●
c para archivos especiales tipo carácter
●
d en el caso de directorios
●
l esto es para enlaces simbólicos
●
n archivos de red
●
p para los tipos de archivos especiales tipo pipe
●
s esto es para archivos tipo socket
Manejo de
problemas
Introducción
●
Veremos monitoreo de procesos
●
Revisión de logs
Procesos
●
Este comando muestra información acerca de la carga del sistema,
estas son: hora del sistema, el tiempo de marcha del sistema, la
cantidad de usuarios conectados, y el valor medio de la carga o load
average
Procesos - Load Average
●
El load average en Linux, son los promedios de carga del sistema que nos muestra la demanda de tareas que se están
ejecutando y las que están en espera. Se compone de tres valores de promedios.
●
(1) – Ultimo minuto.
●
(5) – Últimos cinco minutos.
●
(15) – Últimos quince minutos.
●
Estos tres números vinculados a 1, 5 y 15 minutos, realmente no son promedios exactos, y tampoco son 1, 5 y 15
minutos exactos. Son sumas de valores que se van alterando cada cinco segundos. Para guiarnos por ejemplo un
sistema puede tener un valor 6 y estar sobrecargado. Pero en el caso de que tenga 6 CPU’s la preocupación no es tan
grande.
Procesos - Load Average
●
El comando w nos muestra quien esta logueado en el sistema y también el load average
●
/proc/loadavg Estos valores representan el promedio de carga del sistema en los últimos 1, 5 y 15 minutos. La cuarta columna
muestra el número de procesos actualmente en ejecución y el número total de procesos. La última columna muestra el último
ID de proceso utilizado.
Procesos – Listar procesos - PS
●
Reporta una instantánea de los procesos actuales.
●
PID es una ID de proceso del comando en ejecución (CMD)
●
TTY es un lugar donde se ejecuta el comando en ejecución
●
TIME informa sobre cuánto tiempo usa la CPU mientras ejecuta el
comando
●
CMD es un comando que se ejecuta como un proceso actual
Procesos – Listar procesos - PS
●
Filtrar procesos por usuario
–ps -u USUARIO
●
Mostrar uso de CPU o memoria
–ps -aux
–ps -aux --sort -pcpu
–ps -aux --sort -pmem
–ps -aux --sort -pcpu,+pmem
●
Filtrar por proceso
–ps -C systemd
–ps -Lf -C systemd
Procesos – Listar procesos - TOP
Procesos – Listar procesos - TOP
●
Tiempo de actividad y carga media del sistema
●
Tareas
–Running (ejecutar): procesos ejecutándose actualmente o preparados para ejecutarse.
–Sleeping (hibernar): procesos dormidos esperando que ocurra algo (depende del proceso) para ejecutarse.
–Stopped (detener): ejecución de proceso detenida.
–Zombie: el proceso no está siendo ejecutado. Estos procesos se quedan en este estado cuando el proceso que los ha iniciado muere (padre).
●
us (usuario): tiempo de CPU de usuario.
●
sy (sistema): tiempo de CPU del kernel.
●
id (inactivo): tiempo de CPU en procesos inactivos.
●
wa (en espera): tiempo de CPU en procesos en espera.
●
hi (interrupciones de hardware): interrupciones de hardware.
●
si (interrupciones de software): tiempo de CPU en interrupciones de software.
Procesos – Listar procesos - TOP
●
Memoria física
●
Memoria total.
●
Memoria utilizada.
●
Memoria libre.
●
Memoria utilizada por buffer.
●
Memoria virtual
●
Memoria total.
●
Memoria usada.
●
Memoria libre.
●
Memoria en caché.
Manejo de memoria
●
En el caso de Linux, el Sistema Operativo utiliza toda la memoria que no está
siendo utilizada con el fin de poder acelerar las lecturas en disco, lo cual es
conocido como memoria caché, o buffer. Esta memoria caché es liberada apenas
se necesite memoria RAM para algún otro programa, por lo que si bien, no es
memoria libre, pasa a serlo apenas se le necesite.
Manejo de memoria
Matar procesos
●
kill numero_pid
●
Si no se elimina, podemos forzar la eliminación del proceso con -9:
–kill -9 numero_pid
●
killall nombre_proceso
Saber que esta haciendo un proceso
●
strace Permite vigilar las llamadas al sistema usadas por un determinado programa
y todas las señales que éste recibe.
Revisión de logs
●
Los logs o registros del sistema pueden ser archivos o bases de datos donde se registran
cronológicamente la totalidad de actividades e incidencias importantes o no, que ocurren en el
sistema operativo.
●
Pueden guardar
–Los paquetes que se instalan y desinstalan en el sistema operativo.
●
less: Utilidad para leer archivos
●
zless: Comando que permite visualizar archivos comprimidos
●
tail: Utilidad que sirve para mostrar las 10 últimas líneas de un
archivo o entrada de datos.
●
head: Programa para visualizar las 10 primeras líneas de un archivo o
entrada de datos.
●
cat: muestra el contenido de un archivo
Administración
de usuarios
Introducción
●
Creación de usuarios, modificación de contraseñas
●
Manejo de archivos de usuarios y grupos
Administración de usuarios
●
Administrar las cuentas de usuario, influye directamente en la
definición de permisos de acceso a archivos / directorios y controlar
el acceso recursos de red.
●
Quien ejerce dichas tareas, es el administrador del sistema o root.
●
Existen dos tipos de usuarios: los usuarios regulares y el superusuario
o root.
Administración de usuarios
●
El usuario usuario root, es una cuenta especial reservada para
operaciones de administración del sistema con acceso ilimitado y
control total.
●
Su ID de usuario es el 0. Y en una consola de línea de comandos se
identifica por el signo #.
●
Además por lo general los UID y GID menores a 500 o 1000 suelen ser
para usuarios y grupos de sistema.
●
La tareas son agregar o eliminar usuarios y luego en base a ellos se
modifican permisos.
Administración de usuarios - Configuración
●
Archivos y directorios de configuración
●
/home (usualmente es este)
–El directorio de inicio propio del usuario
●
/etc/passwd
–Las cuentas de usuario
●
/etc/group
–Los grupos a los que pertenecen diferentes usuarios
●
/etc/shadow
–Archivo con contraseñas cifradas
Administración de usuarios - /etc/passwd
●
Cada una de las líneas del archivo contiene la información de usuario distribuida en varios campos separados por puntos.
●
NombreDeUsuario:contraseña:idUsuario:idGrupo:comentario:directorioInicio:shelliniciosesión
●
Nombre de inicio de sesión del usuario.
●
Contraseña encriptada para la cuenta.
●
Id de usuario
●
Id de grupo del usuario
●
Cualquier información del usuario.
●
Directorio de inicio
●
Shell que se ejecuta cuando el usuario inicia sesión. Predeterminada /bin/bash.
Administración de usuarios - /etc/group
●
Todos los usuarios del sistema tienen que pertenecer a un grupo principal definido en el archivo /etc/group.
●
Al crearse un usuario, usualmente se crea automáticamente un grupo con el mismo nombre.
●
Cada línea de los archivo se compone de la siguiente forma:
●
NombreDeGrupo:password:IDGrupo:MiembrosGrupo,Separadosporcoma
Administración de usuarios
●
Comandos de gestión de usuarios
–useradd
–usermod
–passwd
–chage
chage -l usuarioloma
●
●
chage -d 0 cambiar la clave en el próximo login
Administración de grupos
●
Comandos de gestión de grupos
–groupadd
–groupmod
–gpasswd
–groupdel
Manejo de archivos
●
INFORMACIÓN SOBRE ARCHIVOS
●
drwxrwxr-x esto te indica el tipo de archivos y los permisos que tiene. Así en este caso, la primera
letra d indica que es un directorio. Los siguientes conjuntos de letras, se corresponden con los
permisos, de lectura escritura y ejecución. r=lectura, w=escritura, x=ejecución
●
- para archivos regulares
●
b archivo especial tipo bloque
●
c para archivos especiales tipo carácter
●
d en el caso de directorios
●
l esto es para enlaces simbólicos
●
p para los tipos de archivos especiales tipo pipe
●
s esto es para archivos tipo socket
Monitoreo
Monitoreo del sistema y de procesos
Medición de sobrecargas
Cuando tenemos problemas de performance, podemos tomar una muestra de tiempo del estado
del sistema y analizar el consumo de recursos.
TIEMPO DE MONITOREO
SOBRECARGA =
MEDIDA
00:00:01 pgpgin/s pgpgout/s fault/s majflt/s pgfree/s pgscank/s pgscand/s pgsteal/s %vmeff
00:10:01 72,15 98,82 2540,44 0,14 2701,13 0,00 0,00 0,00 0,00
00:20:01 8,58 71,04 3227,10 0,19 4673,28 0,00 0,00 0,00 0,00
00:30:01 9926,21 84,83 5124,47 100,60 7991,28 3478,75 116,70 2700,53 75,11
00:40:01 129,50 127,67 2458,33 1,31 3792,47 0,00 0,00 0,00 0,00
00:50:01 33,44 76,03 1187,67 0,39 1468,69 0,00 0,00 0,00 0,00
01:00:01 15,42 75,34 1133,12 0,12 1488,63 0,00 0,00 0,00 0,00
01:10:01 835,30 7479,82 2413,01 0,11 9114,05 0,00 0,00 0,00 0,00
01:20:01 432,88 15970,02 2647,11 0,00 18059,53 0,00 0,00 0,00 0,00
01:30:01 338,81 15685,45 1353,25 0,01 18061,44 0,00 0,00 0,00 0,00
01:40:02 20,20 16325,67 1843,40 0,01 18605,58 0,00 0,00 0,00 0,00
01:50:01 4,09 16123,72 1591,18 0,00 18388,76 0,00 0,00 0,00 0,00
02:00:01 3,97 22318,77 1397,49 0,00 18562,11 0,00 0,00 0,00 0,00
02:10:02 8,37 21699,48 2596,84 0,01 18190,05 0,00 0,00 0,00 0,00
02:20:02 56840,13 19199,55 5217,12 151,50 32618,32 27961,13 195,46 14696,04 52,19
Media: 4906,86 9681,02 2480,40 18,19 12419,28 2246,41 22,32 1243,14 54,79
•
SAR -B
Las columnas contienen la siguiente información.
• pgpgin / s: Número total de kilo-bytes disponibles para el sistema paginado en (recuperado) del disco duro por segundo.
• caída de pgp/s: Número total de kilo-bytes disponibles para el sistema paginado al disco duro por segundo.
• défauts: Número de fallas de página, menores y mayores, realizadas por el sistema por segundo.
• majflt / s: Número de fallas mayores que cometió el sistema por segundo que requirieron cargar una página de memoria desde el disco.
• pgfree / s: Número de páginas colocadas en la lista libre por el sistema por segundo.
• pgscank / s: Número de páginas escaneadas por el sistema de administración de memoria kswapd demonio por segundo.
• pgscan/s: Número de páginas escaneadas directamente por segundo.
• pg/s de vuelo: número de páginas que el sistema extrajo de la memoria caché por segundo.
• % vmeff: Calculado como pgsteal / pgscanesto es una indicación de la eficiencia de las búsquedas de páginas.
SAR
SAR -b
• TPS: Número total de solicitudes de transferencia por segundo realizadas a dispositivos físicos. Tenga en cuenta que este es un recuento de solicitudes. Puede
que no todos hayan tenido éxito.
• RTP: Número total de solicitudes de lectura por segundo enviadas a dispositivos físicos.
• wtps: Número total de solicitudes de escritura por segundo enviadas a dispositivos físicos.
• DTP: Número total de solicitudes de eliminación por segundo emitidas a dispositivos físicos.
• pan/s: Cantidad total de datos leídos de dispositivos físicos. El cifrado se da en bloques de 512 bytes por segundo.
• brn/s: cantidad total de datos escritos en dispositivos físicos en bloques por segundo.
• bdscd/s: Cantidad total de datos eliminados en bloques por segundo.
iostat
• Mediante el comando iostat podemos informarnos las estadísticas de entrada y salida de dispositivos y generar medidas de rendimiento de uso,
lecturas/escrituras etc. Para obtener una descripción detallada del comando, podemos consultar el manual de dicho comando man iostat 1
Monitoreo por red
LVM
• Que es LVM ?
• El LVM es un módulo que se le agrega al núcleo Linux y genera una abstracción entre los discos físicos y los dispositivos
para accederlos. Con la ayuda de herramientas de administración, el administrador puede acceder a los beneficios de
utilizar LVM. Básicamente lo que se logra es tener un nuevo dispositivo que apunta no a un disco o una partición, sino a
un grupo de discos y particiones como un todo (manejar muchos espacios de disco como si fuera un único disco).
• Funcionamiento de LVM
• Conceptos que se utilizan :
• Volumen Físico
• Los Volúmenes Físicos (PV) son los discos o particiones de un disco
• Grupo de Volumen
• Grupo de Volumen (GV) es un área que cuelga de los PV y se agrupan los LV
• Volumen Lógico
• Los Volúmenes Lógicos (LV) son dispositivos donde se pueden crear sistemas de archivos
LVM
• Niveles de un LVM
• Un LVM se divide en 5 niveles, estos son:
• 1.Volúmenes Físicos o Physical Volumes
• Volúmenes Lógicos o Logical Volumes
• Grupos de volúmenes o Volume Groups
• Extensión Lógica o Logical Extents
• Extensión Física o Physical Extents
LVM
• Volúmenes Físicos (Physical Volumes)
• Son los discos duros físicos o particiones de un disco duro
• Volúmenes Lógicos (Logical Volumes)
• Es el equivalente a una partición de un disco duro, por lo
que puede contener un sistema de archivos como por ejemplo /home.
• Grupos de volúmenes (Volume Groups)
• Es la parte que engloba los volúmenes lógicos (Logical Volumes) y nuestros volúmenes físicos (Physical Volumes),
es decir, es una especie de contenedor donde se sitúan los volúmenes lógicos (Logical
Volumes) y los volúmenes físicos (Physical Volumes).
• Extensión Lógica (Logical Extents)
• Cada volumen físico esta divido en pequeños trozo de datos llamados extensión lógica(logical extents).
• Extensión Física (Physical Extents)
• Cada volumen físico(LV) esta divido en pequeños trozos datos que se llaman extensión física(physical extents), que es
del mismo tamaño que una extensión lógica(LE).
LVM
• Como extender un disco de VMware y agregarlo a un VG On-Line
• Extender el disco de VMware
• echo 1 > /sys/block/sdb/device/rescan
• Extender el volumén físico completo si el PV es un disco entero ó crear una partición y agregarla al VG
• pvresize /dev/sdb
• vgextend vg1 /dev/sdb2
• Realizar el extend del filesystem
• lvextend /dev/mapper/vg1-lv3
• resize2fs /dev/mapper/vg1-lv3
Manejo de volúmenes lógicos
Manejo de volúmenes lógicos