0% encontró este documento útil (0 votos)
133 vistas12 páginas

Administración y Sistemas Linux

El documento proporciona información sobre los sistemas operativos Linux. Explica que Linux es un sistema operativo de código abierto que existe en múltiples distribuciones como Ubuntu y Fedora. También cubre temas como los tipos de sistemas de archivos como ext4, y las áreas clave de administración de Linux como la administración de usuarios, paquetes y redes. Además, resume los pasos básicos para instalar una distribución de Linux como Ubuntu.

Cargado por

Hernan Fernandez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
133 vistas12 páginas

Administración y Sistemas Linux

El documento proporciona información sobre los sistemas operativos Linux. Explica que Linux es un sistema operativo de código abierto que existe en múltiples distribuciones como Ubuntu y Fedora. También cubre temas como los tipos de sistemas de archivos como ext4, y las áreas clave de administración de Linux como la administración de usuarios, paquetes y redes. Además, resume los pasos básicos para instalar una distribución de Linux como Ubuntu.

Cargado por

Hernan Fernandez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

CENTRO DE EDUCACIÓN TECNICA HUMANISTICA

AGROPECUARIA
CETHA “Hno. NILO CULLEN”

1
TALLER DE SISTEMAS OPERATIVOS II

TEMA 1
ADMNISTRACION PLATAFORMA LINUX

1.1 Tipos de sistemas operativos libres.

Linux es un sistema operativo de código abierto y gratuito basado en el kernel de Linux. Fue creado por Linus Torvalds
en 1991 como un proyecto personal y se ha convertido en uno de los sistemas operativos más populares y utilizados en
todo el mundo.

El sistema operativo Linux se caracteriza por su enfoque en la colaboración y la comunidad. Está compuesto por el
kernel de Linux y una amplia variedad de software de código abierto, como el entorno de escritorio, las utilidades del
sistema y las aplicaciones, que son desarrolladas y mantenidas por una gran comunidad de voluntarios en todo el mundo.

Una de las principales características de Linux es su capacidad de adaptación y flexibilidad. Puede ser utilizado en una
amplia gama de dispositivos, desde servidores y computadoras personales hasta teléfonos móviles, tabletas, televisores
inteligentes, sistemas embebidos y otros dispositivos. Además, Linux es conocido por su estabilidad, seguridad y
eficiencia en el uso de recursos.

Existen muchas distribuciones de Linux, como Ubuntu, Fedora, Debian, CentOS, entre otras, que ofrecen diferentes
enfoques y configuraciones preestablecidas para adaptarse a las necesidades de los usuarios. Estas distribuciones
facilitan la instalación y el uso del sistema operativo Linux, brindando opciones de software adicional y soporte para
diferentes hardware.

En resumen, Linux es un sistema operativo de código abierto y gratuito, altamente personalizable y utilizado en una
amplia variedad de dispositivos. Su enfoque en la colaboración y la comunidad ha llevado al desarrollo de un ecosistema
de software robusto y diverso.

Existen varios tipos de sistemas operativos libres, que se caracterizan por ser de código abierto y permitir a los usuarios
utilizar, modificar y distribuir el software de forma gratuita. Aquí hay algunos ejemplos de sistemas operativos libres:

Linux: Como mencionado anteriormente, Linux es un sistema operativo libre y ampliamente utilizado. Hay muchas
distribuciones de Linux, como Ubuntu, Fedora, Debian, CentOS, Arch Linux, entre otras, que se basan en el kernel de
Linux y ofrecen diferentes características y enfoques.

FreeBSD: FreeBSD es un sistema operativo libre y de código abierto basado en el sistema operativo UNIX original. Se
centra en la estabilidad, seguridad y rendimiento, y es utilizado principalmente en servidores y entornos empresariales.

OpenBSD: OpenBSD es otro sistema operativo libre basado en el sistema operativo UNIX. Se destaca por su enfoque en
la seguridad, con un énfasis en la corrección de errores y la implementación de características de seguridad avanzadas.

NetBSD: NetBSD es un sistema operativo libre y portable que se puede ejecutar en una amplia variedad de plataformas,
desde computadoras personales hasta sistemas embebidos. Se enfoca en la portabilidad y la compatibilidad con
diferentes arquitecturas de hardware.

GNU Hurd: GNU Hurd es un núcleo de sistema operativo en desarrollo como parte del proyecto GNU. A diferencia de
Linux, que utiliza el kernel de Linux, GNU Hurd es un núcleo alternativo que aún se encuentra en desarrollo activo.

Estos son solo algunos ejemplos de sistemas operativos libres. Cada uno tiene sus propias características y enfoques,
pero todos comparten la filosofía de permitir a los usuarios acceder al código fuente, modificarlo y distribuirlo
libremente.

1.2 Sistemas de archivos

El sistema de archivos más comúnmente utilizado en Linux es el sistema de archivos ext4 (Fourth Extended Filesystem).
El ext4 es una evolución del sistema de archivos ext3 y fue diseñado para mejorar el rendimiento y la confiabilidad.

Docente: Yeri Rada Blanco Página 2


TALLER DE SISTEMAS OPERATIVOS II

El sistema de archivos ext4 es compatible con la mayoría de las distribuciones de Linux y ofrece características como:

Tamaño máximo del sistema de archivos: Puede admitir sistemas de archivos de hasta 1 exabyte (1 millón de terabytes)
de tamaño.

Tamaño máximo del archivo: Puede manejar archivos individuales de hasta 16 terabytes.

Tamaño de bloque variable: Permite el uso de bloques de diferentes tamaños para adaptarse a diferentes tamaños de
archivo y optimizar el rendimiento.

Journaling: Utiliza un sistema de registro (journaling) para asegurar la integridad del sistema de archivos y acelerar la
recuperación en caso de fallos.

Además de ext4, existen otros sistemas de archivos utilizados en Linux, como:

ext3: El sistema de archivos ext3 es la versión anterior al ext4. Aunque tiene menos características y rendimiento en
comparación con ext4, sigue siendo compatible y utilizado en muchas distribuciones.

Btrfs: Btrfs (B-tree file system) es un sistema de archivos moderno que ofrece características avanzadas como la
administración de instantáneas (snapshots), compresión, duplicación y administración de dispositivos en caliente.

XFS: XFS es un sistema de archivos diseñado para manejar grandes volúmenes de datos y ofrecer un rendimiento
eficiente en sistemas de almacenamiento masivo.

ZFS: ZFS es un sistema de archivos de alto rendimiento y escalable que fue desarrollado originalmente para Solaris, pero
también está disponible en Linux. Ofrece características avanzadas como compresión, instantáneas y almacenamiento en
RAID.

Cada sistema de archivos tiene sus propias características y beneficios, y la elección del sistema de archivos dependerá
de las necesidades y requisitos específicos del sistema y del caso de uso.

1.3 Administración de Linux

La administración de Linux se refiere a la gestión y configuración del sistema operativo Linux para garantizar su
funcionamiento adecuado y seguro. Aquí hay algunas áreas clave de la administración de Linux:

Administración de usuarios y grupos: Linux permite la creación y gestión de usuarios y grupos para controlar el acceso y
los permisos de los diferentes usuarios del sistema. Esto incluye la creación de cuentas de usuario, asignación de
permisos, gestión de contraseñas y administración de grupos.

Configuración del sistema: La configuración del sistema incluye la personalización de las opciones de configuración de
Linux según las necesidades del entorno. Esto puede involucrar la configuración de parámetros de red, ajuste del
rendimiento del sistema, configuración de servicios y programas, y gestión de archivos de configuración.

Administración de paquetes: Linux utiliza sistemas de gestión de paquetes para instalar, actualizar y eliminar software de
manera eficiente. Los administradores de Linux suelen utilizar herramientas como APT (Advanced Packaging Tool) en
distribuciones basadas en Debian y Ubuntu, o YUM (Yellowdog Updater, Modified) en distribuciones basadas en Red
Hat y CentOS, para administrar los paquetes del sistema.

Administración de almacenamiento: Esto implica la gestión de dispositivos de almacenamiento, como discos duros,
particiones y sistemas de archivos. Los administradores de Linux pueden crear, redimensionar y formatear particiones,
montar y desmontar sistemas de archivos, y configurar opciones de almacenamiento avanzadas, como RAID (Redundant
Array of Independent Disks).

Docente: Yeri Rada Blanco Página 3


TALLER DE SISTEMAS OPERATIVOS II

Administración de redes: Linux proporciona herramientas para la configuración y administración de redes, incluida la
configuración de interfaces de red, resolución de nombres, enrutamiento, firewall y configuración de servicios de red,
como DHCP (Dynamic Host Configuration Protocol) y DNS (Domain Name System).

Monitoreo del sistema y solución de problemas: La administración de Linux también implica supervisar el rendimiento
del sistema, el uso de recursos, los registros del sistema y la detección y solución de problemas. Los administradores
utilizan herramientas como top, htop, sar y registros del sistema para identificar problemas, analizar el rendimiento y
solucionar errores.

Estos son solo algunos aspectos de la administración de Linux. La administración de Linux es un campo amplio y
diverso, y los administradores de sistemas pueden tener responsabilidades adicionales según las necesidades específicas
del entorno y las aplicaciones que se ejecuten en el sistema.

1.4 Instalación de Linux

La instalación del sistema operativo Linux puede variar dependiendo de la distribución que elijas, ya que cada una puede
tener su propio proceso de instalación. Sin embargo, en general, estos son los pasos básicos para instalar Linux:

Obtén la distribución de Linux: Descarga la distribución de Linux que deseas instalar. Puedes obtenerla desde el sitio
web oficial de la distribución o desde otros repositorios confiables. Las distribuciones populares incluyen Ubuntu,
Fedora, Debian, CentOS, entre otras.

Crea un medio de instalación: Una vez que hayas descargado la distribución de Linux, deberás crear un medio de
instalación, como un DVD o una unidad USB booteable. Si estás utilizando una unidad USB, puedes utilizar
herramientas como Rufus, Etcher o UNetbootin para crearla.

Arranca desde el medio de instalación: Inserta el DVD o conecta la unidad USB en tu computadora y reinicia el sistema.
Asegúrate de que tu computadora esté configurada para arrancar desde el medio de instalación. Esto generalmente se
puede configurar en la BIOS o en la configuración de arranque de tu computadora.

Inicia el proceso de instalación: Una vez que hayas arrancado desde el medio de instalación, se iniciará el proceso de
instalación de Linux. El proceso puede variar según la distribución, pero generalmente se te pedirá que selecciones el
idioma, la distribución del teclado y otras configuraciones básicas.

Configura la partición del disco: Durante la instalación, se te pedirá que configures la partición del disco. Aquí puedes
optar por instalar Linux junto a otro sistema operativo en una partición dual, o puedes realizar una instalación completa
en todo el disco. Puedes elegir el esquema de partición y formatear las particiones según tus necesidades.

Selecciona las opciones de configuración: A medida que avances en el proceso de instalación, se te pedirá que realices
varias configuraciones, como crear una cuenta de usuario, establecer una contraseña, seleccionar el entorno de escritorio
y configurar opciones de red.

Finaliza la instalación: Una vez que hayas completado todas las configuraciones necesarias, se iniciará el proceso de
instalación. Esto puede llevar algunos minutos. Una vez finalizado, se te notificará que la instalación se ha completado
con éxito.

Reinicia el sistema: Después de la instalación, se te pedirá que reinicies el sistema. Retira el medio de instalación y
permite que la computadora se reinicie normalmente.

Estos son los pasos básicos para la instalación de Linux. Es importante tener en cuenta que los pasos exactos pueden
variar según la distribución que elijas. Al seguir las instrucciones proporcionadas por la distribución y prestar atención a
las opciones de configuración durante la instalación, podrás instalar Linux en tu sistema.

Docente: Yeri Rada Blanco Página 4


TALLER DE SISTEMAS OPERATIVOS II

1.5 Manejo de Linux Modo Gráfico

El manejo de Linux en modo gráfico se realiza a través de un entorno de escritorio, que proporciona una interfaz gráfica
de usuario (GUI) para interactuar con el sistema operativo. Hay varios entornos de escritorio populares disponibles para
Linux, como GNOME, KDE, Xfce, Cinnamon, MATE, entre otros. A continuación, se describen algunas tareas comunes
en el manejo de Linux en modo gráfico:

Interfaz de usuario: Una vez que hayas iniciado sesión en tu sistema Linux, se cargará el entorno de escritorio. Aquí
tendrás un escritorio con iconos, menús y una barra de tareas. Puedes hacer clic en los iconos para abrir aplicaciones,
utilizar los menús para acceder a diferentes configuraciones y utilizar la barra de tareas para cambiar entre aplicaciones
abiertas.

Exploración de archivos: En el entorno de escritorio, generalmente tendrás un administrador de archivos que te permite
explorar, copiar, mover y eliminar archivos y carpetas. Puedes abrir el administrador de archivos haciendo clic en el
icono correspondiente en el escritorio o en el menú de aplicaciones.

Aplicaciones: Linux en modo gráfico te permite ejecutar aplicaciones de manera similar a otros sistemas operativos.
Puedes buscar y ejecutar aplicaciones desde el menú de aplicaciones, hacer clic en los iconos de las aplicaciones en el
escritorio o utilizar el lanzador de aplicaciones en la barra de tareas. Además, puedes instalar y desinstalar aplicaciones
utilizando el administrador de paquetes específico de tu distribución de Linux.

Personalización: Linux en modo gráfico ofrece muchas opciones de personalización para adaptar el entorno de escritorio
a tus preferencias. Puedes cambiar el fondo de pantalla, los temas, los iconos y los efectos visuales. Además, puedes
agregar y quitar elementos de la barra de tareas y el escritorio según tus necesidades.

Configuración del sistema: A través del entorno de escritorio, también puedes acceder a la configuración del sistema para
realizar ajustes en diversas áreas. Esto puede incluir la configuración de red, la administración de usuarios y grupos, la
configuración de energía, la configuración de hardware, entre otros.

Gestión de ventanas: Linux en modo gráfico te permite administrar las ventanas de las aplicaciones abiertas. Puedes
mover, redimensionar, minimizar, maximizar y cerrar ventanas utilizando los botones en las barras de título. Además,
puedes utilizar múltiples escritorios virtuales para organizar tus ventanas y cambiar entre ellos.

Estas son algunas de las tareas comunes en el manejo de Linux en modo gráfico. La experiencia puede variar según el
entorno de escritorio y las preferencias individuales. Cada entorno de escritorio tiene sus propias características y
herramientas adicionales que puedes explorar para aprovechar al máximo Linux en modo gráfico.

1.6 Manejo de Linux modo consola

El manejo de Linux en el modo consola se refiere a la interacción con el sistema operativo a través de una interfaz de
línea de comandos, también conocida como terminal o consola. A continuación se describen algunas tareas comunes en
el manejo de Linux en el modo consola:

Navegación en el sistema de archivos: Puedes utilizar comandos como cd (change directory) para cambiar de directorio,
ls para listar los archivos y carpetas en un directorio, y pwd (print working directory) para mostrar el directorio actual.

Gestión de archivos y directorios: Puedes crear directorios con el comando mkdir, crear archivos con touch, copiar
archivos y directorios con cp, moverlos con mv y eliminarlos con rm.

Administración de usuarios y permisos: En la consola, puedes crear y administrar usuarios y grupos utilizando comandos
como useradd, usermod, groupadd, groupmod. Además, puedes establecer permisos de archivos y directorios con chmod
y cambiar la propiedad de archivos y directorios con chown y chgrp.

Docente: Yeri Rada Blanco Página 5


TALLER DE SISTEMAS OPERATIVOS II

Instalación y gestión de paquetes: Puedes utilizar el sistema de gestión de paquetes de tu distribución para instalar,
actualizar y eliminar software desde la consola. Por ejemplo, en distribuciones basadas en Debian y Ubuntu, puedes
utilizar comandos como apt-get o apt para administrar los paquetes.

Configuración del sistema: Muchas configuraciones del sistema se pueden realizar desde la consola. Puedes editar
archivos de configuración utilizando editores de texto como nano, vi o vim. Además, puedes configurar la red, los
servicios, los archivos de hosts, los archivos de resolución DNS, entre otros, utilizando comandos y archivos de
configuración apropiados.

Gestión de procesos: Puedes ver los procesos en ejecución en el sistema utilizando comandos como ps o top, y puedes
administrarlos utilizando comandos como kill para finalizar procesos.

Automatización de tareas: Puedes crear scripts de shell utilizando lenguajes como Bash para automatizar tareas
repetitivas y realizar secuencias de comandos más complejas.

Estos son solo algunos ejemplos de tareas comunes en el manejo de Linux en el modo consola. La consola ofrece una
gran cantidad de herramientas y comandos poderosos para administrar y configurar el sistema operativo. Con el tiempo y
la práctica, puedes desarrollar habilidades avanzadas en la consola de Linux para realizar diversas tareas y personalizar
tu experiencia según tus necesidades.

1.7 Comandos avanzados


En Linux, hay una amplia gama de comandos avanzados que pueden ser utilizados para realizar tareas más complejas y
específicas. A continuación, se mencionan algunos comandos avanzados comunes en Linux:

`grep`: Permite buscar patrones de texto dentro de archivos o la salida de otros comandos. Es muy útil para realizar
búsquedas y filtrar información.

find: Permite buscar archivos y directorios en función de diferentes criterios, como nombre, tamaño, fecha de
modificación, entre otros.

sed: Es un editor de flujo que se utiliza para realizar transformaciones en el texto, como sustituciones, eliminaciones y
ediciones.

awk: Es una herramienta de procesamiento de texto que permite realizar operaciones avanzadas en archivos de texto,
como la extracción de campos, cálculos y transformaciones complejas.

rsync: Es utilizado para sincronizar y transferir archivos y directorios de manera eficiente entre sistemas locales o
remotos. Es especialmente útil para realizar copias de seguridad y replicación de datos.

tar: Permite crear, manipular y extraer archivos y directorios empaquetados en formato tar. Se utiliza comúnmente junto
con otras herramientas, como gzip o bzip2, para comprimir y descomprimir archivos.

ssh: Permite acceder de forma segura a sistemas remotos a través de una conexión cifrada. Puede utilizarse para ejecutar
comandos en un sistema remoto o para transferir archivos de forma segura.

screen y tmux: Son utilidades que permiten crear y administrar sesiones de terminal múltiples en una sola ventana. Son
especialmente útiles para mantener sesiones activas incluso cuando se cierra la conexión SSH.

lsof: Muestra una lista de los archivos abiertos por los procesos en el sistema. Es útil para diagnosticar problemas
relacionados con el acceso a archivos.

strace: Permite rastrear y registrar las llamadas al sistema realizadas por un programa, lo que puede ser útil para el
análisis y la depuración.

Docente: Yeri Rada Blanco Página 6


TALLER DE SISTEMAS OPERATIVOS II

Estos son solo algunos ejemplos de comandos avanzados en Linux. La variedad de comandos disponibles en Linux es
extensa, y cada uno tiene su propio conjunto de opciones y argumentos. Puedes consultar la documentación de cada
comando o utilizar las páginas de manual (`man`) para obtener más información sobre su uso y funcionalidad.

1.8 Redirección, pipes y agregación.

En Linux, la redirección, los pipes y la agregación son técnicas poderosas que permiten manejar la entrada, salida y
manipulación de datos en la línea de comandos. A continuación, se explica cada uno de ellos:

Redirección (>, >>, <): La redirección se utiliza para redirigir la entrada o salida estándar de un comando hacia un
archivo o desde un archivo. Los operadores de redirección más comunes son:

>: Redirige la salida estándar de un comando hacia un archivo, sobrescribiendo el contenido existente en el archivo si ya
existe.
Ejemplo: ls > lista_archivos.txt guarda la lista de archivos en el archivo "lista_archivos.txt".

>>: Redirige la salida estándar de un comando hacia un archivo, pero agrega el contenido al final del archivo sin
sobrescribirlo.
Ejemplo: ls >> lista_archivos.txt agrega la lista de archivos al final del archivo "lista_archivos.txt".

<: Redirige la entrada estándar de un comando desde un archivo.


Ejemplo: sort < archivo.txt toma la entrada estándar del comando "sort" del archivo "archivo.txt".

Pipes (|): Los pipes se utilizan para redirigir la salida de un comando como entrada al siguiente comando. Permite
encadenar comandos para realizar operaciones más complejas. El símbolo de pipe | se utiliza para conectar los
comandos. Por ejemplo:

Ejemplo: ls -l | grep ".txt" lista los archivos en formato largo y luego filtra solo los archivos que contienen ".txt".

Agregación (2>, 2>>, &>): La agregación se utiliza para redirigir los mensajes de error estándar (stderr) y salida estándar
(stdout) hacia un archivo o la salida de la consola. Los operadores de agregación más comunes son:

2>: Redirige los mensajes de error estándar hacia un archivo.


Ejemplo: comando_inexistente 2> errores.txt guarda los mensajes de error en el archivo "errores.txt".

2>>: Agrega los mensajes de error estándar al final de un archivo.


Ejemplo: comando_inexistente 2>> errores.txt agrega los mensajes de error al final del archivo "errores.txt".

&>: Redirige tanto la salida estándar como los mensajes de error estándar hacia un archivo o la salida de la consola.
Ejemplo: comando 2>&1 > salida.txt redirige tanto la salida estándar como los mensajes de error estándar al archivo
"salida.txt".

Estas técnicas de redirección, pipes y agregación son muy útiles para combinar comandos, filtrar datos, guardar
resultados en archivos y controlar la entrada y salida de información en la línea de comandos de Linux.

1.9 Programación en Shell

La programación en shell de Linux se refiere a la escritura de scripts o programas utilizando los comandos y
características del shell, que es el intérprete de comandos del sistema operativo. El shell más común en Linux es Bash
(Bourne Again SHell), aunque también existen otros shells como sh, csh, ksh, entre otros.
La programación en shell de Linux implica escribir secuencias de comandos que se ejecutan de forma secuencial,
permitiendo automatizar tareas y realizar operaciones más complejas. A continuación, se mencionan algunos conceptos y
características básicas de la programación en shell de Linux:
Docente: Yeri Rada Blanco Página 7
TALLER DE SISTEMAS OPERATIVOS II

1. Variables: Se pueden definir variables para almacenar valores y utilizarlos en el script. Las variables se asignan
utilizando el signo de igual (=) sin espacios alrededor. Ejemplo: nombre="Juan"
2. Expresiones: Se pueden realizar operaciones matemáticas y manipular cadenas de texto utilizando expresiones.
Para las operaciones matemáticas se utiliza el doble paréntesis (( )) y para las cadenas de texto se utilizan las
comillas. Ejemplo: resultado=$((2 + 3)), saludo="Hola, $nombre"
3. Estructuras de control: Se pueden utilizar estructuras de control como if, for, while, case, para tomar decisiones
y repetir acciones según ciertas condiciones.
4. Funciones: Se pueden definir funciones para encapsular bloques de código y reutilizarlos en el script. Las
funciones se definen utilizando la palabra clave function o simplemente su nombre seguido de paréntesis ().
Ejemplo:
function saludar { echo "Hola, $1" } saludar "Juan"
5. Lectura de entrada: Se puede solicitar al usuario que ingrese valores utilizando el comando read, que almacena
la entrada en una variable. Ejemplo: read -p "Ingresa tu nombre: " nombre
6. Control de flujo: Se puede redirigir la salida, la entrada y manejar errores utilizando las técnicas de redirección,
pipes y agregación mencionadas anteriormente.
Estos son solo algunos aspectos básicos de la programación en shell de Linux. Los scripts de shell pueden ser bastante
poderosos y se utilizan ampliamente para automatizar tareas, administrar sistemas y realizar operaciones complejas en el
entorno de línea de comandos. Existen numerosos recursos y tutoriales disponibles en línea para aprender más sobre la
programación en shell de Linux.

1.10 Variables

En Linux, las variables son utilizadas para almacenar información y hacer referencia a ella en scripts o comandos de
línea de comandos. A continuación, se mencionan los tipos de variables más comunes en Linux:
1. Variables de entorno: Son variables predefinidas que contienen información sobre el entorno del sistema.
Algunos ejemplos de variables de entorno comunes son:
 PATH: Contiene una lista de directorios en los que el sistema busca ejecutables.
 HOME: Representa la ruta del directorio de inicio del usuario actual.
 USER o USERNAME: Almacena el nombre de usuario del usuario actual.
 SHELL: Indica la ruta del shell actual que se está utilizando.
2. Variables definidas por el usuario: Son variables creadas y definidas por el usuario para almacenar información
personalizada. Estas variables pueden ser utilizadas en scripts o comandos. Algunos ejemplos de variables
definidas por el usuario son:
 nombre="Juan": Almacena el nombre "Juan" en la variable "nombre".
 edad=25: Almacena el valor 25 en la variable "edad".
3. Variables especiales: Son variables especiales que se utilizan para referirse a valores particulares en scripts o
comandos. Algunos ejemplos de variables especiales son:
 $0: Almacena el nombre del script o comando actual.
 $1, $2, $3, etc.: Almacenan los argumentos proporcionados al script o comando en la línea de
comandos.
 $#: Almacena el número de argumentos proporcionados al script o comando.
 $?: Almacena el código de salida del último comando ejecutado.
Es importante tener en cuenta que en Linux, las variables generalmente son sensibles a mayúsculas y minúsculas, lo que
significa que "nombre" y "NOMBRE" se consideran variables diferentes.
Para acceder al valor de una variable, se utiliza el símbolo de dólar ($) seguido del nombre de la variable. Por ejemplo,
$nombre accede al valor almacenado en la variable "nombre".
Las variables en Linux pueden ser utilizadas para almacenar información temporal, parámetros de configuración y
resultados intermedios en scripts o comandos, lo que permite una mayor flexibilidad y automatización en el entorno de
línea de comandos.

1.11 Comando Shell

Existen numerosos comandos en el shell de Linux que te permiten realizar una variedad de tareas en el sistema. A
continuación, se mencionan algunos comandos comunes en Linux:
1. ls: Lista los archivos y directorios en el directorio actual o en un directorio específico.

Docente: Yeri Rada Blanco Página 8


TALLER DE SISTEMAS OPERATIVOS II

2. cd: Cambia de directorio.


3. pwd: Muestra el directorio de trabajo actual.
4. mkdir: Crea un nuevo directorio.
5. rm: Elimina archivos y directorios.
6. cp: Copia archivos y directorios.
7. mv: Mueve (cambia el nombre) archivos y directorios.
8. cat: Muestra el contenido de un archivo.
9. grep: Busca patrones de texto en archivos o en la salida de otros comandos.
10. echo: Muestra mensajes o variables en la salida estándar.
11. chmod: Modifica los permisos de un archivo o directorio.
12. chown: Cambia el propietario de un archivo o directorio.
13. chgrp: Cambia el grupo de un archivo o directorio.
14. head: Muestra las primeras líneas de un archivo.
15. tail: Muestra las últimas líneas de un archivo.
16. wc: Cuenta el número de líneas, palabras y caracteres en un archivo.
17. sort: Ordena las líneas de un archivo.
18. find: Busca archivos y directorios en función de diferentes criterios.
19. tar: Crea, extrae o comprime archivos en formato tar.
20. ssh: Inicia una conexión SSH a un sistema remoto.
21. ping: Envía paquetes de ICMP a un host para verificar la conectividad de red.
22. ifconfig: Muestra y configura las interfaces de red.
23. ps: Muestra los procesos en ejecución.
24. kill: Envía una señal a un proceso para finalizarlo.
25. man: Muestra el manual de un comando específico.
Estos son solo algunos ejemplos de comandos shell en Linux. Hay muchos más comandos disponibles, cada uno con sus
propias opciones y funcionalidades. Puedes explorar más comandos utilizando las páginas de manual (man) o buscando
recursos en línea para aprender sobre comandos adicionales y cómo utilizarlos de manera efectiva.

TEMA 2
CONTENEDORES

2.1 Arquitectura de los contenedores


La arquitectura de los contenedores en Linux se basa en el uso de tecnologías como el kernel de Linux, los espacios de
nombres (namespaces) y los grupos de control (cgroups). Estas tecnologías permiten la creación de entornos aislados y
ligeros, conocidos como contenedores, donde se pueden ejecutar aplicaciones de forma independiente.
A continuación, se describen los componentes clave de la arquitectura de contenedores en Linux:
1. Kernel de Linux: El kernel de Linux es la base del sistema operativo y proporciona los servicios fundamentales
para la ejecución de los contenedores. El kernel de Linux incluye características como los espacios de nombres
y los cgroups, que son esenciales para el aislamiento y la gestión de recursos de los contenedores.
2. Espacios de nombres (Namespaces): Los espacios de nombres son una característica del kernel de Linux que
permite la creación de entornos aislados y separados, donde cada contenedor tiene su propio espacio de
nombres para recursos específicos, como procesos, redes, usuarios, archivos, entre otros. Esto garantiza que los
procesos y recursos dentro de un contenedor sean invisibles y no interfieran con otros contenedores o con el
sistema host.
3. Grupos de control (cgroups): Los grupos de control son una característica del kernel de Linux que permite
limitar y controlar los recursos utilizados por los procesos. Los cgroups se utilizan para asignar y gestionar
recursos como CPU, memoria, E/S de disco, red, entre otros, para cada contenedor. Esto permite establecer
políticas de asignación de recursos y garantizar que los contenedores no compitan entre sí por recursos
limitados.
4. Imágenes de contenedor: Las imágenes de contenedor son archivos que contienen un sistema de archivos con
todas las dependencias y componentes necesarios para ejecutar una aplicación en un contenedor. Estas
imágenes se crean utilizando herramientas como Docker, que permiten empaquetar una aplicación y todas sus
dependencias en una imagen independiente y portátil.
5. Orquestadores de contenedores: Los orquestadores de contenedores, como Kubernetes, son herramientas que
facilitan la administración, el despliegue y la gestión de contenedores en entornos de producción. Estos

Docente: Yeri Rada Blanco Página 9


TALLER DE SISTEMAS OPERATIVOS II

orquestadores proporcionan funcionalidades avanzadas, como el escalado automático, la recuperación ante


fallos, la gestión de redes y la distribución de cargas de trabajo en múltiples nodos.
En resumen, la arquitectura de los contenedores en Linux se basa en el uso del kernel de Linux, los espacios de nombres,
los grupos de control y las imágenes de contenedor. Estas tecnologías permiten la creación de entornos aislados y
portátiles donde se pueden ejecutar aplicaciones de forma independiente, lo que brinda flexibilidad, escalabilidad y
eficiencia en el despliegue de aplicaciones.

2.2 Probando imágenes y su funcionalidad en un contenedor

Para probar imágenes y su funcionalidad en un contenedor, puedes seguir estos pasos:


1. Instala Docker: Primero, asegúrate de tener Docker instalado en tu sistema. Docker es una herramienta popular
para la creación y administración de contenedores en Linux. Puedes seguir las instrucciones de instalación
específicas para tu distribución de Linux en la documentación oficial de Docker.
2. Descarga una imagen: Utiliza el comando docker pull seguido del nombre de la imagen que deseas descargar
desde un repositorio público, como Docker Hub. Por ejemplo, para descargar la imagen de Ubuntu, puedes
ejecutar el siguiente comando:
docker pull ubuntu
3. Ejecuta un contenedor: Utiliza el comando docker run para ejecutar un contenedor basado en la imagen
descargada. Puedes especificar opciones adicionales según tus necesidades, como la asignación de puertos, la
vinculación de volúmenes, etc. Por ejemplo, para ejecutar un contenedor de Ubuntu interactivo, puedes usar el
siguiente comando:
docker run -it ubuntu
4. Explora el contenedor: Una vez que el contenedor esté en ejecución, estarás dentro de su entorno aislado.
Puedes ejecutar comandos y probar la funcionalidad de la imagen. Por ejemplo, puedes instalar paquetes,
ejecutar aplicaciones o realizar pruebas específicas.
5. Sal del contenedor: Cuando hayas terminado de probar el contenedor, puedes salir de él. Puedes presionar Ctrl
+ D o ejecutar el comando exit dentro del contenedor para salir y volver al shell del sistema host.
Estos son los pasos básicos para probar imágenes y su funcionalidad en un contenedor utilizando Docker. Recuerda que
también puedes crear tus propias imágenes personalizadas con un Dockerfile y luego probarlas de manera similar.
Además, existen herramientas y plataformas adicionales, como Docker Compose y Kubernetes, que pueden ayudarte a
orquestar y gestionar contenedores en entornos más complejos.

2.3 Docker, instalación y comandos para gestión para imágenes

Para instalar Docker en Linux y utilizar los comandos para la gestión de imágenes, puedes seguir los siguientes pasos:
1. Instalación de Docker:
 Actualiza el sistema operativo ejecutando los siguientes comandos:
sudo apt update
sudo apt upgrade
 Instala las dependencias necesarias para Docker:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
 Agrega la clave GPG oficial de Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-
archive-keyring.gpg
 Añade el repositorio de Docker al sistema:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg]
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list >
/dev/null
 Actualiza nuevamente el sistema e instala Docker:
sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io
 Verifica que Docker se haya instalado correctamente:
sudo docker run hello-world
2. Comandos para la gestión de imágenes en Docker:
 Descargar una imagen desde Docker Hub:

Docente: Yeri Rada Blanco Página 10


TALLER DE SISTEMAS OPERATIVOS II

sudo docker pull nombre_de_la_imagen


 Ver la lista de imágenes descargadas:
sudo docker images
 Ejecutar un contenedor basado en una imagen:
sudo docker run nombre_de_la_imagen
 Detener un contenedor en ejecución:
sudo docker stop ID_del_contenedor
 Eliminar un contenedor:
sudo docker rm ID_del_contenedor
 Eliminar una imagen:
sudo docker rmi nombre_de_la_imagen
 Ejecutar un comando dentro de un contenedor en ejecución:
sudo docker exec ID_del_contenedor comando
 Ver los logs de un contenedor:
sudo docker logs ID_del_contenedor
Estos son solo algunos ejemplos de comandos básicos para la gestión de imágenes en Docker. Docker ofrece una amplia
gama de comandos y opciones para administrar imágenes, contenedores, volúmenes, redes, etc. Puedes consultar la
documentación oficial de Docker para obtener más información y aprender sobre funcionalidades avanzadas.

TEMA 3
UTILITARIOS

3.1 Compresores – antivirus

Existen varios utilitarios en Linux que proporcionan funcionalidades adicionales y facilitan diversas tareas. A
continuación, se mencionan algunos de los utilitarios más comunes en Linux:
1. grep: Utilizado para buscar patrones de texto en archivos o en la salida de otros comandos.
2. sed: Un editor de flujo de texto utilizado para realizar transformaciones en el contenido de archivos o en la
entrada de texto.
3. awk: Un procesador de textos y lenguaje de programación utilizado para buscar, filtrar y manipular datos en
texto estructurado.
4. cut: Utilizado para extraer secciones de líneas de texto o campos específicos de archivos de texto o de la
entrada estándar.
5. sort: Ordena las líneas de texto de acuerdo con un criterio especificado, como el orden alfabético.
6. uniq: Elimina líneas duplicadas de archivos de texto o de la entrada estándar.
7. wc: Cuenta el número de líneas, palabras y caracteres en un archivo o en la entrada estándar.
8. find: Busca archivos y directorios en función de diferentes criterios, como nombre, tamaño o fecha de
modificación.
9. xargs: Utilizado para construir y ejecutar comandos a partir de la entrada estándar o de los argumentos.
10. tar: Utilizado para crear, extraer y manipular archivos de archivo (archivos .tar) que pueden contener uno o más
archivos y directorios.
11. zip y unzip: Utilizados para comprimir y descomprimir archivos en formato .zip.
12. ssh: Proporciona acceso seguro a través de la red a máquinas remotas utilizando el protocolo SSH (Secure
Shell).
13. rsync: Utilizado para copiar y sincronizar archivos y directorios localmente o entre sistemas remotos.
14. top y htop: Muestran información en tiempo real sobre los procesos en ejecución y el uso de recursos del
sistema.
15. screen y tmux: Permiten crear y administrar sesiones de terminal multiplexadas, lo que facilita la ejecución de
múltiples tareas en una sola ventana o sesión de terminal.
16. ncdu: Proporciona un análisis de uso de disco interactivo y eficiente para ayudar a identificar qué archivos y
directorios están ocupando espacio en el disco.

Docente: Yeri Rada Blanco Página 11


TALLER DE SISTEMAS OPERATIVOS II

Estos son solo algunos ejemplos de utilitarios en Linux. Hay muchos más disponibles, cada uno con su propia
funcionalidad y uso específico. Puedes explorar más utilitarios utilizando la línea de comandos, consultando la
documentación o buscando recursos en línea.

En Linux, hay varios compresores y herramientas antivirus disponibles. A continuación, se mencionan algunos de los
compresores y antivirus más comunes:
Compresores:
1. gzip: Un compresor de archivos que utiliza el algoritmo de compresión gzip.
2. bzip2: Un compresor de archivos que utiliza el algoritmo de compresión bzip2, que generalmente ofrece una
mejor compresión que gzip.
3. zip: Un compresor de archivos que crea archivos comprimidos en formato zip, compatible con otras
plataformas.
4. tar: Aunque no es un compresor en sí mismo, el comando tar se utiliza comúnmente en combinación con otros
compresores, como gzip o bzip2, para crear archivos tar comprimidos.
Antivirus:
1. ClamAV: Un antivirus de código abierto y gratuito que puede ser utilizado en Linux para detectar y eliminar
malware, virus y otros tipos de amenazas.
2. Sophos Antivirus: Un antivirus comercial que ofrece una versión gratuita para uso personal en Linux.
Proporciona protección contra virus, malware y otras amenazas.
3. Avast for Linux: Avast, un antivirus conocido, también ofrece una versión gratuita para Linux que puede
utilizarse para escanear y proteger el sistema contra amenazas.
Es importante tener en cuenta que Linux es generalmente más resistente a los virus y malware en comparación con otros
sistemas operativos. La mayoría de las distribuciones Linux cuentan con mecanismos de seguridad incorporados, como
permisos de archivo y sistemas de gestión de paquetes seguros, que ayudan a proteger el sistema. Sin embargo, puede ser
útil tener un antivirus instalado, especialmente si se comparten archivos con sistemas Windows u otros sistemas
operativos.
Recuerda que antes de instalar cualquier software, es recomendable investigar y asegurarse de que sea compatible con tu
distribución Linux específica y cumplir con los requisitos y recomendaciones del proveedor del software.

Docente: Yeri Rada Blanco Página 12

También podría gustarte