INACAP Universidad Tecnológica de Chile Sede Santiago Centro Taller de Sistemas Operativos I Red Hat Academy Sesión 01 Introducción a GNU/Linux ¡Bienvenidos al curso! Taller de Sistemas Operativos I: • Ingeniero Manuel López • Correo electrónico: [email protected] [email protected] Sesiones semanales: • 1) sección 1: lun(5-6-7) y vie(7-8). • 2) sección 3: mar(5-6-7) y vie(6a-6b). • 3) sección 6: jue(10-11) y vie(9-10-11) Objetivos del curso: • Conocer y aprender a manejar el sistema operativo GNU/Linux, desde un nivel básico (para uso cotidiano) hasta un nivel intermedio (con fines administrativos y de implementación de soluciones). • Relacionar las clases prácticas con los conocimientos adquiridos en cursos anteriores. Page 2 ¡Bienvenidos al curso! Contenidos del curso: 1. Introducción al sistema operativo GNU/Linux 2. Cómo utilizar el entorno de GNU/Linux. 3. Comandos y herramientas básicas en GNU/Linux, con aplicaciones prácticas. 4. Estudio del currículo de Red Hat Academy, sobre administración básica e intermedia del sistema operativo Red Hat Enterprise Linux 5.5 (RHEL 5). 5. Estudio y aplicación de IPTables (redes y filtrado de paquetes de red). 6. Estudio e implementación de servicios de red en RHEL 5. Page 3 ¿Qué es Red Hat Academy? Red Hat Academy: • Nombre de la iniciativa de Red Hat para capacitación en el uso de herramientas de código abierto. • La iniciativa Red Hat Academy se estableció en 2008 en INACAP, pasando a convertirnos en la primera institución en Latinoamérica en formar este acuerdo con Red Hat. • Esta iniciativa permite contar con profesores capacitados en tecnologías GNU/Linux (basadas en Red Hat), así como poder realizar clases a los alumnos de carreras tecnológicas de las sedes a lo largo del país. • El acuerdo también beneficia a los miembros de la institución con descuentos de un 70% para realizar la prueba de Administrador de Sistemas Certificado de Red Hat (RHCSA) en alguna institución de certificación (como Quintec o LinuxCenter). Page 4 Planificación del curso Tipo de clases: • Teórico-prácticas, con uso de estaciones de trabajo. • Fuerte énfasis en el uso de Red Hat Enterprise Linux (RHEL) mientras se aprenden los conceptos. • Tratar de traer notebook para trabajo personal en el laboratorio LEICA. Pruebas y trabajos: (fechas y porcentajes por definir) • P1: Prueba teórico/práctica de comandos de Bash . • P2: Prueba de administración intermedia de GNU/Linux. • P3: Instalación de un servidor de aplicaciones en sala de clases. • T4: Controles (portafolio). Page 5 Sesión 01 Sesión 01: Introducción a GNU/Linux Page 6 Introducción a GNU/Linux GNU/Linux es un sistema operativo desarrollado por Linus Torvalds y la fundación GNU, desde el año 1991. Sus características son: • inicialmente creado para IBM con procesador Intel 386 o superior. • de código abierto • gratuito (en algunas "encarnaciones") • se entrega en forma de distribución (o "distro"), en algún medio de almacenamiento. Existen algunas distribuciones muy conocidas como: Debian, Red Hat, Ubuntu, Mandrake, Slackware, Suse, Fedora, CentOS, Arch, Linux From Scratch, OpenSuse, Puppy Linux, Turbo Linux, CRUX, Gentoo, Backtrack, Knoppix, Damn Small Linux, gNewSense, etc. Page 7 Introducción a GNU/Linux Linux es el nombre del núcleo (o kernel) del sistema operativo, mientras que el software de apoyo es proporcionado por la fundación GNU (editores de texto, compiladores, intérprete de comandos, etc.) gcc emacs bash awk Linux drivers ifconfig ld Page 8 Xorg *.so glib nano gnome-panel gas fdisk cat Herramientas GNU Introducción a GNU/Linux Linux es el nombre del núcleo (o kernel) del sistema operativo, mientras que el software de apoyo es proporcionado por la fundación GNU (editores de texto, compiladores, intérprete de comandos, etc.) gcc emacs bash awk Linux drivers ifconfig ld Page 9 Xorg *.so glib nano gnome-panel gas fdisk cat Herramientas GNU Distribuciones GNU/Linux Inicialmente, el sistema Linux y las herramientas GNU se distribuían en forma de código fuente, por lo que cada persona que deseara instalar el sistema en su computador IBM compatible, debería compilar y enlazar los códigos fuentes para obtener ejecutables del sistema. Hacia el año 1993-1994 aparece el concepto de distribución GNU/Linux, que proporciona una forma más sencilla de instalación del sistema, a través de programas ya compilados, almacenados en diskettes, CD-ROMs u otros medios de almacenamiento secundario. Las primeras distribuciones populares fueron: Slackware (abril de 1993), Debian (agosto de 1993) y Red Hat (1994). Page 10 Distribuciones GNU/Linux Principales líneas de distribuciones GNU/Linux: Slackware Debian SuSE Red Hat Gentoo Mandrake Frugalware Caldera Conectiva Puppy Linux Ubuntu Guadalinex gNewSense Linux Mint Fedora Core KNOPPIX Linux From Scratch (LFS) Page 11 CentOS Fedora Damn Small Linux (DSL) Red Hat Enterprise Linux Nueva versión de Red Hat GNU/Linux, disponible desde el año 2005. Antiguamente, Red Hat termina en la versión 9, para pasar a llamarse Red Hat Enterprise Linux versión 3. Es la versión comercial de Fedora GNU/Linux Actualmente se encuentra disponible la versión 5.5, además de la nueva versión 6 (con soporte extendido para nuevo hardware, herramientas mejoradas y cambios en la forma de inicialización del sistema). Puede instalarse de forma gratuita, previo registro en la página de Red Hat Network (desde donde puede descargarse el pack de 5 CDs o 1 DVD con todo el software necesario). Sin embargo, si se requiere soporte y actualización de software, será necesario contratar uno de los planes de soporte anual ofrecidos por la empresa (pagando previamente algunos cientos de dólares, como corresponde). Page 12 Ingresando a Red Hat Enteprise Linux 5.2 Para ingresar, basta con encender el computador y esperar a que se cargue el sistema operativo en memoria. Una vez cargado, aparecerá la pantalla de ingreso característica de RHEL 5. Page 13 Ingreso a la interfaz gráfica de usuario de GNOME En el LEICA, utilizar: nombre de usuario = root clave = redhat para el ingreso. Al completar el ingreso, se despliega el escritorio de GNOME. Page 14 Elementos del escritorio de GNOME Menú de sistema Directorio personal Papelera de reciclaje Íconos de notificación y reloj Lanzador de Firefox Barra de tareas Lista de unidades de disco Escritorio Muestra el escritorio Page 15 Lista de escritorios virtuales (4) Menú de sistema A través del menú, se pueden acceder a algunos de los softwares instalados de mayor uso frecuente. Categorías de software Page 16 Consola de comandos Sin embargo, la mayor parte del trabajo en este curso se realizará mediante comandos de texto, los cuales serán escritos en la consola de comandos, conocida también como intérprete de comandos. En GNU/Linux actualmente (es decir, también en RHEL 5), el intérprete de comandos estándar se denomina bash (Bourne-Again Shell). Para abrir una consola de comandos, basta con: • hacer click derecho sobre el Escritorio • seleccionar la opción Abrir terminal. • se abrirá entonces una ventana de GNOME con una consola de comandos. Page 17 Pseudoconsola virtual A las consolas de comandos en ventana se las suele denominar con el nombre de pseudoconsola virtual, de las cuales se pueden crear varias instancias, en ventanas separadas o en pestañas distintas dentro de una misma ventana. Page 18 Consola virtual En GNU/Linux también se puede trabajar con consolas de pantalla completa, denominadas con el nombre de consola virtual. Estas ocupan toda la pantalla, por lo que no se podrá tener acceso a las ventanas del escritorio durante algún tiempo. Cada consola virtual recibe un número identificador desde el 1 al 6 (consola 1, consola 2, etc.) Para cambiarse a algunas de las 6 consolas virtuales disponibles en RHEL 5, se deben presionar en conjunto las teclas: <CTRL> + <ALT> + {<F1>...<F6>} Para volver al escritorio de GNOME se presionan en conjunto las teclas: <CTRL> + <ALT> + <F7> Page 19 Elementos de una consola virtual Tanto las consolas como las seudoconsolas virtuales comparten algunos elementos similares: Nombre del S.O., versión y nombre interno (Tikanga) Versión del kernel de Linux en uso (2.6.18) y modelo del procesador (i686) Nombre de la estación de trabajo (localhost) y petición de nombre de usuario y contraseña para ingresar al sistema. Page 20 Ingreso a la consola virtual Ingrese los datos de nombre de usuario y contraseña para poder utilizar la consola virtual. Al hacerlo, considere que la contraseña no se muestra por razones de seguridad; sin embargo, todo tecla que presione está siendo ingresada al sistema. Al ingresar correctamente, podrá visualizar el prompt de bash, donde podrá escribir comandos de GNU/Linux. Prompt del intérprete bash Page 21 Prompt de bash El prompt de bash indica información importante acerca del sistema en uso actualmente: [root@localhost ~]# Identificador del rol de usuario: Nombre del usuario actual Nombre de la estación de trabajo actual Page 22 # -> administrador $ -> usuario normal Nombre del directorio de disco actual Comandos básicos en GNU/Linux A continuación, se mostrarán comandos básicos útiles para comenzar a interactuar con el sistema. 1) whoami • Muestra el nombre del usuario que está utilizando actualmente esta consola virtual (y que, por lo tanto, ingresó utilizando su nombre de usuario y su contraseña). En este caso, el usuario actual se denomina root, el cual corresponde al administrador general del sistema GNU/Linux. Page 23 Comandos básicos en GNU/Linux 2) ls • Muestra un listado con los archivos del directorio actual. En este caso, los archivos que contiene el directorio actual son 6. El archivo que aparece desplegado en color azul corresponde a un directorio de disco. Page 24 Comandos básicos en GNU/Linux 3) ls -l • Muestra un listado con los archivos del directorio actual, especificando atributos adicionales. La información que se muestra en columnas corresponde, de izquierda a derecha, a: (1) tipo de archivo y permisos; (2) número de enlaces duros al archivo; (3) dueño del archivo; (4) grupo del archivo; (5) tamaño en bytes del archivo; (6) fecha y hora de acceso; y, (7) nombre del archivo. Page 25 Comandos básicos en GNU/Linux 4) date • Muestra la fecha y la hora actual del sistema, indicando además el huso horario ajustado en el computador (CLT - Chilean Timezone). Page 26 Comandos básicos en GNU/Linux 5) cal • Muestra el calendario del mes actual por consola. • Probar también los comandos siguientes: cal 2011 cal 08 2011 (¿Qué resultado producen estos comandos?) Page 27 Comandos básicos en GNU/Linux 6) clear • Limpia la consola y lleva el cursor al extremo superior izquierdo de la pantalla. Page 28 Comandos básicos en GNU/Linux 7) nano • Abre un editor de texto para trabajo en consola. Escriba un texto cualquiera en el editor. Luego, guárdelo en el disco, presionando las teclas <CTRL> + <O>. Escriba un nombre de archivo; en este caso escriba archivo.txt y presione <ENTER>. Luego, salga del editor presionando las teclas <CTRL> + <X> Por último, liste los archivos del directorio actual y examine si guardó correctamente o no el archivo. Page 29 Comandos básicos en GNU/Linux 8) nano archivo.txt • Abre el editor nano para visualizar el archivo de nombre archivo.txt. Salga del editor presionando las teclas <CTRL> + <X>. 9) cat archivo.txt • Permite visualizar el contenido de un archivo directamente desde la consola, sin necesidad de ingresar al editor de texto. Page 30 Comandos básicos en GNU/Linux 10) pwd • Muestra la ruta completa del directorio actual de trabajo (es decir, del directorio dentro del cual se está trabajando actualmente en la consola de comandos). En este caso, el directorio actual de trabajo es /root. En la sesión 2 se analizarán en mayor detalle los conceptos asociados a archivos y directorios de disco. Page 31 Comandos básicos en GNU/Linux 11) who • Indica cuáles son los usuarios actualmente conectados al sistema GNU/Linux. Para hacer correctamente esta experiencia, se necesita que: » sea abierta una pseudoconsola virtual (es decir, una consola en el escritorio de GNOME) » las consolas virtuales 2 y 3, utilizando el nombre de usuario y contraseña. En GNU/Linux, un usuario puede tener abiertas múltiples sesiones con el mismo usuario. Page 32 . Comandos básicos en GNU/Linux La información que se muestra en el comando who indica, en 4 columnas, lo siguiente, de izquierda a derecha: (1) nombre del usuario que está conectado al sistema; (2) número de la consola o pseudoconsola en la que trabaja el usuario; (3) fecha de ingreso; y, (4) hora de ingreso al sistema. La nomenclatura tty2 es el nombre interno que se le da en GNU/Linux a una consola virtual (de pantalla completa); en este caso, es la que se abrió con la combinación de teclas <CTRL> + <ALT> + <F2>. En cambio, la nomenclatura pts/1 hace referencia a la primera pseudoconsola abierta en el escritorio de GNOME. Por último, la nomenclatura :0 hace referencia a la existencia de la interfaz gráfica de GNOME en el sistema actualmente. Page 33 Comandos básicos en GNU/Linux 12) logout • Permite abandonar la sesión actual de usuario y volver a la pantalla de ingreso de usuario. 13) exit • No sólo abandona la sesión actual de usuario, sino que también cierra el intérprete de comandos. Normalmente es similar a logout. Page 34 Comandos básicos en GNU/Linux 14) ssh [email protected] • Permite iniciar una sesión de usuario remota en un computador remoto. La sesión se iniciará con el nombre de usuario root (en este ejemplo), mientras que la dirección IP del computador remoto se indica (en este ejemplo) como 192.168.0.1. • Para abandonar la sesión de usuario remota, utilice el comando logout o exit. 15) reboot • Utilice este comando para reiniciar el computador desde la consola (utilícelo con precaución). 16) shutdown -h now • Apaga el computador en este mismo momento, sin consultar a los programas si han terminado o no sus tareas propias. Page 35 Comandos básicos en GNU/Linux 17) passwd • Permite cambiar la clave del usuario root por otra diferente. • Notar que, primero se debe escribir la nueva contraseña y luego repetirla; sin embargo, al igual que en la pantalla de ingreso de usuario, al escribir la contraseña no se escribirá en pantalla, aunque sí está siendo capturada por el comando. . Page 36 Comandos básicos en GNU/Linux 18) bc • Invoca a la calculadora por consola de GNU, con la que se pueden realizar operaciones matemáticas. • Para salir de la calculadora, escriba el comando quit y presione <ENTER>. Page 37 Comandos básicos en GNU/Linux 19) man ls • Muestra el manual de GNU para el comando especificado como parámetro. • Para desplazarse por el manual, utilice las teclas de cursor. • Para salir del manual, presione la tecla <Q>. Page 38 Comandos básicos en GNU/Linux 20) info ls • Muestra el libro de información de GNU para el comando especificado como parámetro. Es un complemento al manual de GNU, invocado con el comando man. • Para desplazarse por la información, utilice las teclas de cursor. • Para salir del libro en pantalla, presione la tecla <Q>. Page 39 Comandos básicos en GNU/Linux 21) which firefox • Indica cuál es la ruta de instalación del programa o comando indicado como parámetro. Si lo indicado no es un programa instalado, se muestra un aviso de inexistencia (... no cd in (.....), por ejemplo). 22) history • Lista todos los comandos que el usuario ha ingresado hasta ahora. Normalmente se almacenan hasta 500 líneas de comando como máximo. • El comando history -c borra completamente el historial de comandos. Page 40 Fin Fin de la sesión 01 Próxima sesión: Estudio de la jerarquía de archivos en GNU/Linux Page 41