Vista previa del material en texto
Taller básico de Taller básico de GNU/LinuxGNU/Linux Taller básico de GNU/LinuxTaller básico de GNU/Linux Prof. Matías García ~ www.profmatiasgarcia.com.arProf. Matías García ~ www.profmatiasgarcia.com.ar Cuántos Sistemas Operativos existen?Cuántos Sistemas Operativos existen? Existen al rededor de 600 Sistemas Operativos. Algunos son privativos y otros cuentan con licencias libres. Con diferentes arquitecturas, tecnologías y usos, cada uno tiene su público. https://en.wikipedia.org/wiki/List_of_operating_systems https://www.operating-system.org/betriebssystem/_english/os-liste.htm https://en.wikipedia.org/wiki/List_of_operating_systems https://www.operating-system.org/betriebssystem/_english/os-liste.htm Taller básico de GNU/LinuxTaller básico de GNU/Linux Prof. Matías García ~ www.profmatiasgarcia.com.arProf. Matías García ~ www.profmatiasgarcia.com.ar Qué es GNU Linux?Qué es GNU Linux? Es un Sistema Operativo, como MacOS, MS Windows o Android, pero de código abierto (Open Source) y gratuito. Es Software Libre. Kernel: Linux Herramientas básicas del S.O.: GNU . Es decir, GNU Linux es el software necesario para que tu PC te permita utilizar programas como: editores de texto, juegos, navegadores de Internet, reproductores multimedia, etc. GNU Linux puede usarse mediante una interfaz gráfica al igual que MS Windows o MacOS, pero también puede usarse mediante línea de comandos como MS-DOS o UNIX. GNU Linux es seguro y sigue la filosofía de los sistemas UNIX; su robusto sistema de permisos y usuarios no permite a los mismos borrar ni instalar programas, ni tocar archivos del sistema. Esto sólo lo puede hacer el superusuario o 'root', que es el único que tiene los permisos adecuados para hacerlo. Taller básico de GNU/LinuxTaller básico de GNU/Linux Prof. Matías García ~ www.profmatiasgarcia.com.arProf. Matías García ~ www.profmatiasgarcia.com.ar Qué es GNU Linux?Qué es GNU Linux? Es uno de los sistemas operativos más robustos, estables y rápidos. Tiene una gran variedad de entornos gráficos. Es multitarea: Se pueden utilizar varios programas a la vez. Es multiusuario: varios usuarios pueden usar la misma maquina al mismo tiempo, ya sea mediante terminales serie, terminales virtuales o por red. Es multiplataforma: hay una amplia gama de plataformas hardware soportadas: x64, x86(386, 486, Pentium, Pentium Pro, Pentium II, k5, k6, athlon,...),m68k (Amiga, Atari),Dec Alpha,Sun SPARC, ARM, MIPS, y PowerPC. Tiene protección de la memoria entre procesos, de manera que uno de ellos no puede colgar el sistema. Es un sistema fiable; se utiliza para tareas de alta complejidad y rendimiento, mas del 90% de los servidores en internet tienen GNU Linux. Taller básico de GNU/LinuxTaller básico de GNU/Linux Prof. Matías García ~ www.profmatiasgarcia.com.arProf. Matías García ~ www.profmatiasgarcia.com.ar Qué es GNU Linux?Qué es GNU Linux? Existen muchísimas distribuciones GNU Linux: Cada una incluye un conjunto de herramientas, software preinstalado Distintas formas de empaquetar los programas Distintos entornos gráficos En general compatibles entre si Entre las mas comunes están: Ubuntu, Debian, Fedora, Linux Mint, CentOS, Elementary OS, Huayra Linux, openSuse, Red Hat, Arch, Manjaro, Kali Linux, SteamOS... Linux se desarrolla bajo la Licencia Publica General GNU y su código fuente esta disponible para cualquiera. Aun así, esto no significa que las diferentes distribuciones sean gratuitas, las compañías y los desarrolladores pueden cobrar por ello siempre y cuando el código fuente este disponible. Taller básico de GNU/LinuxTaller básico de GNU/Linux Prof. Matías García ~ www.profmatiasgarcia.com.arProf. Matías García ~ www.profmatiasgarcia.com.ar Breve historia...Breve historia... Andrew Tanenbaum desarrolló un sistema operativo parecido a UNIX (llamado Minix) para enseñar a sus alumnos el diseño de un sistema operativo. Un estudiante finlandés llamado Linus Torvalds, constatando que no era posible extender Minix, decidió escribir su propio sistema operativo compatible con UNIX, al cual llamo Linux. Linux tiene su origen en UNIX. Éste apareció en los años sesenta, desarrollado por los investigadores Dennis Ritchie y Ken Thompson, de los Laboratorios Telefónicos Bell. Richard Stallman decide desarrollar un OS libre basado en UNIX al cual llama GNU (GNU's not UNIX). También crea la Free Software Foundation donde desarrollan gran parte del software para ese OS. Taller básico de GNU/LinuxTaller básico de GNU/Linux Prof. Matías García ~ www.profmatiasgarcia.com.arProf. Matías García ~ www.profmatiasgarcia.com.ar UNIX: El comienzo UNIX: El comienzo Años 60: en los Laboratorios Bell se comienza el desarrollo de Multics, un OS multiusuario, multitarea, multicomplicado. Nunca se terminó. Años 70: Thompson y Ritchie empiezan a escribir un sistema operativo, deciden llamarlo UNIX. Kernigan y Ritchie crean el lenguaje C. En 1972 UNIX se reescribe en C, con lo que puede ejecutarse en cualquier maquina que tenga un compilador de C. Se convierte en el primer SO realmente portable. AT&T pone a disposición del público el código fuente. Años 80: UNIX se extiende y aparecen variantes (Ej: BSD). AT&T decide no seguir con UNIX y las variantes comerciales toman el mercado. El código fuente no se distribuye y los programas no pueden modificarse ni compartirse. Esta situación desagrada a la mayoría de los usuarios, las abusivas licencias comerciales rompían el espíritu de colaboración. Taller básico de GNU/LinuxTaller básico de GNU/Linux Prof. Matías García ~ www.profmatiasgarcia.com.arProf. Matías García ~ www.profmatiasgarcia.com.ar GNUGNU Richard Stallman, del MIT, se decide a cambiar las cosas y comienza a escribir un SO libre, que pudiera ser copiado y modificado por quien quisiera. Se basa en UNIX intentando mejorarlo donde pudiera. Elige el nombre para recalcar la diferencia entre UNIX (mayoritariamente comercial) y su sistema (que será libre): GNU (Gnu’s Not UNIX). Para administrar los recursos disponibles del proyecto GNU crea la Free Software Foundation y esta desarrolla la licencia GPL. A finales de los 80 la FSF ya tenía gran cantidad de los programas necesarios implementados pero les faltaba una parte importante: el kernel. Su propio kernel, llamado Hurd, tardaría bastante en estar listo (a día de hoy todavía no lo está). Taller básico de GNU/LinuxTaller básico de GNU/Linux Prof. Matías García ~ www.profmatiasgarcia.com.arProf. Matías García ~ www.profmatiasgarcia.com.ar LinuxLinux En 1990 el IEEE publico un estándar sobre Sistemas Operativos, que especificaba como debía ser el interfaz externo de las diversas áreas de un Sistema Operativo. Se llamó POSIX: Portable Operating System Interface. En aquellos momentos uno de los núcleos más conocidos era Minix, desarrollado como un proyecto educativo por Andrew Tanenbaum y distribuido con su libro sobre diseño de Sistemas Operativos. En 1991 en el grupo de noticias comp.os.minix, un estudiante de la Universidad de Helsinki, Linus Benedict Torvalds, anunció que estaba trabajando en un Sistema Operativo basado en Minix. Decidió hacerlo libre y accesible para todos y pronto empezó a desarrollarse rápidamente gracias a colaboradores de todo el mundo. “Do you pine for the nice days of minix-1.1, when men were men and wrote their own device drivers? [...] I'm working on a free version of a minix- lookalike for AT-386 computers. It has finally reached the stage where it's even usable, [...] and I am willing to put out the sources for wider distribution. It is just version 0.02, but I've successfully run bash/gcc/gnu- make/gnu-sed/compress etc under it.“ Taller básico de GNU/LinuxTaller básico de GNU/Linux Prof. Matías García ~ www.profmatiasgarcia.com.arProf. Matías García ~ www.profmatiasgarcia.com.ar Antes de instalarAntes de instalar Requerimientos de Hardware: Existen distribuciones GNU Linux para equipos “viejos”con bajos recursos, que serian obsoletos para otros sistemas operativos. Por Ej. se podría instalar en un PC 386 con 4MB de RAM y 20MB de HD un ArchLinux. Hardware soportado: https://www.linuxjournal.com/supportedhardware Elegir la distribución: https://distrowatch.com/?language=ES Elegir la forma de instalación: ● Único OS – Dual-Boot – Virtualizado Realizar backup de la información importante Hacer lugar para la instalación: Desfragmentar – Redimensionar particiones. Configurar arranque desde la BIOS/UEFI del equipo. Deshabilitar Secure Boot https://www.linuxjournal.com/supportedhardware https://distrowatch.com/?language=ES Taller básico de GNU/LinuxTaller básico de GNU/Linux Prof. Matías García ~ www.profmatiasgarcia.com.arProf. Matías García ~ www.profmatiasgarcia.com.ar Entornos gráficosEntornos gráficos Trata de poner, con un conjunto de imágenes y objetos gráficos, la información y acciones disponibles de una PC a un click del mouse. Existen varios entornos gráficos de escritorio para Linux: Los clásicos Gnome y KDE, Unity para Ubuntu, XFCE y LXDE para PCs con pocos recursos, los mas nuevos Plasma, Mate, Cinnamon y Pantheon. Equivalente al entorno de ventanas de MS Windows. Compatibles entre sí Cuestión de gustos Se pueden instalar varios en una misma PC, dependiendo la distribución de GNU Linux instalada. Taller básico de GNU/LinuxTaller básico de GNU/Linux Prof. Matías García ~ www.profmatiasgarcia.com.arProf. Matías García ~ www.profmatiasgarcia.com.ar ConfiguraciónConfiguración básica básica Taller básico de GNU/LinuxTaller básico de GNU/Linux Prof. Matías García ~ www.profmatiasgarcia.com.arProf. Matías García ~ www.profmatiasgarcia.com.ar Actualización del sistemaActualización del sistema Las actualizaciones son imprescindibles en cualquier sistema operativo, bien sea de Microsoft, bien sea UNIX, de Apple, GNU Linux, etc, ya que solucionan vulnerabilidades y mejoran su funcionamiento. En las distribuciones GNU Linux no solo vamos a obtener las actualizaciones del sistema operativo en si, sino tambien de la mayorıa del software que tenemos instalado en la PC, de tal forma que es un proceso mucho mas rapido y compacto que en otros sistemas operativos. Existen comandos de actualización que pueden ser ejecutados directamente desde la consola, facilitando enormemente la tarea de actualización. $ yum update (Fedora, CentOS) $ yast (Suse) $ apt-get update (Debian, Ubuntu, Mint...) $ apt-get upgrade Taller básico de GNU/LinuxTaller básico de GNU/Linux Prof. Matías García ~ www.profmatiasgarcia.com.arProf. Matías García ~ www.profmatiasgarcia.com.ar Instalación de softwareInstalación de software La instalación de software se puede realizar por interfaz gráfica o por consola. Para instalar aplicaciones en GNU Linux mediante la consola, usamos el comando apt-get. Aunque algunos usuarios prefieren el uso de aptitude: una interfaz para APT que tiene fama de resolver mejor las dependencias que apt-get, y de eliminar paquetes inútiles. Ejemplo: $ sudo apt-get install firefox o $ sudo aptitude install firefox El comando apt-get también funciona para desinstalar software añadiendo el sufijo remove, y si además añadimos la orden --purge podemos eliminar todos los datos de un programa, para que no quede rastro de él en nuestro sistema. Ejemplo: $ sudo apt-get remove --purge firefox Taller básico de GNU/LinuxTaller básico de GNU/Linux Prof. Matías García ~ www.profmatiasgarcia.com.arProf. Matías García ~ www.profmatiasgarcia.com.ar Usuarios y permisosUsuarios y permisos La forma de definir que puede y que no puede hacer un usuario es a través de los permisos de los ficheros. Cada fichero tiene asociados TRES tipos de permisos diferentes: Permiso de lectura: permite ver el contenido del fichero. Permiso de escritura: permite alterar el contenido del fichero. Permiso de ejecución: permite ejecutar el fichero (en un directorio permite acceder a él). Los permisos de un fichero solo pueden ser alterados por su propietario y por el administrador, el usuario root. Cada usuario estará asociado a un grupo, compuesto por usuarios con características comunes. Se definen TRES conjuntos de usuarios: El propietario del fichero Los miembros del grupo del propietario del fichero El resto de usuarios. Para cada uno de estos grupos definiremos los tres permisos diferentes. Taller básico de GNU/LinuxTaller básico de GNU/Linux Prof. Matías García ~ www.profmatiasgarcia.com.arProf. Matías García ~ www.profmatiasgarcia.com.ar Sistema de archvios/ficherosSistema de archvios/ficheros En el sistema de ficheros de los UNIX, todo, absolutamente todo, está representado por un fichero. No existe el concepto de extensiones, un programa es un fichero que tiene permisos para ser ejecutado o no. Tampoco existen diferentes unidades lógicas correspondientes a los diferentes sistemas de archivos. Todo lo que hay en el sistema cuelga del directorio raíz /. El árbol de directorios de UNIX tiene una estructura bastante rígida, que hace fácil la búsqueda de ficheros de configuración, ayuda, etc. cuando hace falta. bin boot dev etc home lib opt proc root tmp usr var / Taller básico de GNU/LinuxTaller básico de GNU/Linux Prof. Matías García ~ www.profmatiasgarcia.com.arProf. Matías García ~ www.profmatiasgarcia.com.ar Sistema de archivos/ficherosSistema de archivos/ficheros /bin: Abreviación de la palabra binaries (del inglés, ejecutables). Aquí se guardan muchos de los programas básicos y esenciales para el funcionamiento del sistema como los comandos ls, cp, etc. /boot: En este directorio se encuentran los ficheros del núcleo del sistema, los que ejecuta al arrancar. /dev: Viene del ingles device (dispositivo). Este directorio contiene ficheros que representan los dispositivos del sistema. Estos ficheros son fundamentales para que el sistema funcione correctamente. /etc: Aquí se encuentran ficheros relativos a la configuración local del sistema, y de los programas, por ejemplo: /etc/passwd guarda información de cada uno de los usuarios. /home: De este directorio cuelgan los los directorios de inicio (home directory) de los usuarios “normales” (todos excepto el root). /mnt: Generalmente de este directorio cuelgan los ficheros de los dispositivos “montados” en el sistema, es decir, ficheros que son accesibles desde el sistema en ese momento. /usr: Están la mayoría de los programas, las bibliotecas de funciones, las fuentes del kernel, etc.. De /usr cuelgan otros directorios lib y bin, que tienen las bibliotecas y los ejecutables que utilizan normalmente los usuarios, pero que no son imprescindibles para el sistema, como awk, diff, grep, etc. Taller básico de GNU/LinuxTaller básico de GNU/Linux Prof. Matías García ~ www.profmatiasgarcia.com.arProf. Matías García ~ www.profmatiasgarcia.com.ar La consolaLa consola Ventana en la que se teclean los comandos que se quieren ejecutar. También recibe el nombre de interprete de comandos, terminal o Shell. Puede ser mas difícil de aprender (a veces) Hay que aprenderse los comandos Pero muuuucho mas flexible El usuario no depende de las opciones que hay en la GUI Es mucho mas eficiente Al no haber clicks y movimientos de cursor, permite automatizar tareas repetitivas. También optimiza la posibilidad de ejecutar tareas en nodos remotos. Los comandos se ejecutan tecleando su nombre y la tecla Enter Los comandos aceptan opciones y argumentos Suelen tener las siguientes formas: $ comando --opción $ comando –o $ comando --opción=bla $ comando –o bla Taller básico de GNU/LinuxTaller básico de GNU/Linux Prof. Matías García ~ www.profmatiasgarcia.com.arProf. Matías García ~ www.profmatiasgarcia.com.ar La consola: DirectoriosLa consola: Directorios Crear un directorio $ mkdir nombredir Borrarun directorio (vacio) $ rmdir nombredir Moverse a un directorio $ cd nombredir Averiguar cual es el directorio actual $ pwd Obtener la lista de los ficheros en el directorio actual $ ls [directorio|fichero] Opciones $ ls -l: Con detalles $ ls -a: Todos (incluidos ocultos) $ ls -t: Ordenar por fecha de modificación $ ls –r: Ordenación inversa Se pueden combinar las opciones. Ej: $ ls -lrt Taller básico de GNU/LinuxTaller básico de GNU/Linux Prof. Matías García ~ www.profmatiasgarcia.com.arProf. Matías García ~ www.profmatiasgarcia.com.ar La consola: FicherosLa consola: Ficheros Fecha y hora de la última modificación Tamaño del fichero en bytes (usar ls –h para formatos más legibles) al que pertenece Usuario Grupo Triadas de permisos: x: ejecución w: escritura r: lectura r-xr-xrwx usuario (u) grupo (g) otros (o) -: fichero d: directorio l: link (enlace) Nombre Al hacer un listado largo de un fichero (ls –l) o directorio (ls –ld) obtenemos: -rw-r--r-- 1 user1 group 205 2019-10-23 17:51 fichero.txt drwxr-xr-x 2 user2 group 4096 2019-10-28 10:53 directorio Taller básico de GNU/LinuxTaller básico de GNU/Linux Prof. Matías García ~ www.profmatiasgarcia.com.arProf. Matías García ~ www.profmatiasgarcia.com.ar La consola: FicherosLa consola: FicherosBorrar un fichero $ rm fichero Renombrar un fichero $ mv fichero_orig fichero_final Cambiar de directorio un fichero $ mv fichero_orig path/fichero_final Copiar un fichero $ cp dirorigen/fichero_orig dirfinal/fichero_final Copiar un directorio $ cp –r dirorigen dirfinal Cambiar los permisos de los ficheros $ chmod [u|g|o|a][+|-][r|w|x] fichero Ej: chmod u+x fichero Cambiar propietario de un fichero $ chown propietario fichero Buscar un fichero $ find <directorio> fichero Símbolos especiales: ? Un caracter * Conjunto de caracteres Taller básico de GNU/LinuxTaller básico de GNU/Linux Prof. Matías García ~ www.profmatiasgarcia.com.arProf. Matías García ~ www.profmatiasgarcia.com.ar La consola: otrosLa consola: otros Ayuda sobre un comando $ man comando Interrumpir un comando ejecutado <CTRL + c> Ayuda para completar comandos y nombre de ficheros <TAB> Editores de ficheros $ vi fichero $ nano fichero $ pluma fichero Ejecutar un script $ sh script Ejecutar un programa $./programa Conocer la ip de nuestra PC $ ifconfig Descomprimir archivos tar.gz $ tar xvf <archivo.tar> Cambio de contraseña del usuario $ passwd Taller básico de GNU/LinuxTaller básico de GNU/Linux Prof. Matías García ~ www.profmatiasgarcia.com.arProf. Matías García ~ www.profmatiasgarcia.com.ar La consola: procesosLa consola: procesos Un proceso es toda acción que se lleva a cabo dentro de un sistema UNIX. Un proceso siempre es lanzado desde otro proceso. Procesos padre (parent process) y procesos hijo (child process). PID: número identificador de los procesos. Asignado directamente por el sistema. Distinto para todos los procesos que se ejecutan simultáneamente en el sistema. $ ps –ef lista de procesos ejecutándose en el computador, independientemente del terminal. root 118 1 0 Aug 20 ? 0:20 LmSpool root 123 1 0 Aug 20 ? 1:01 LnMailslot matias 4550 2665 10 10:37 55 console 0:00 ps-ef Ocho campos: 1: Usuario que ordena la ejecución del proceso (UID). 2: Número de identificación del proceso (PID). 3: Número de identificación del proceso padre (PPID). 4: Tiempo de utilización del procesador para reparto de gastos. 5: Fecha u hora de comienzo del proceso. 6: Terminal desde la que se ejecuta el proceso. 7: Tiempo de ejecución del proceso. 8: Nombre del proceso. Para abortar la ejecución de un proceso $ kill PID Preguntas...Preguntas...Preguntas...Preguntas... www.profmatiasgarcia.com.arwww.profmatiasgarcia.com.ar Taller básico de GNU/LinuxTaller básico de GNU/Linux Prof. Matías García ~ www.profmatiasgarcia.com.arProf. Matías García ~ www.profmatiasgarcia.com.ar Webgrafía y LicenciaWebgrafía y Licencia Free Software Foundation https://www.fsf.org/ Aguilar Sierra, Alejandro. “Curso básico de Linux”. (2002) Fernandez Escudero, Felix. “Curso GNU/Linux.” IES Virgen de la Paloma, Madrid (2013) Murillo García, José Luis. “¿Software Libre?”. http://edulibre.info/IMG/pdf/Software_libre_y_educacion.pdf Este documento se encuentra bajo Licencia Creative Commons 2.5 Argentina (BY-NC-SA), por la cual se permite su exhibición, distribución, copia y posibilita hacer obras derivadas a partir de la misma, siempre y cuando se cite la autoría del Prof. Matías E. García y sólo podrá distribuir la obra derivada resultante bajo una licencia idéntica a ésta. Autor: Matías E. GarcíaMatías E. García .. Prof. & Tec. en Inform tica AplicadaáProf. & Tec. en Inform tica Aplicadaá www.profmatiasgarcia.com.arwww.profmatiasgarcia.com.ar info@profmatiasgarcia.com.arinfo@profmatiasgarcia.com.ar http://www.profmatiasgarcia.com.ar/ mailto:info@profmatiasgarcia.com.ar http://creativecommons.org/licenses/by-nc-sa/2.5/ar/ Taller básico de GNU/LinuxTaller básico de GNU/Linux Prof. Matías García ~ www.profmatiasgarcia.com.arProf. Matías García ~ www.profmatiasgarcia.com.ar Descripción de la CharlaDescripción de la Charla Título: Ahora que tengo Linux en la compu, qué hago??? Modalidad: Taller 60/90 minutos. Descripción: Taller básico sobre GNU Linux. Se presentara el uso básico del sistema, configuración, actualización y utilización. Se explicara el manejo de archivos, instalación de software y utilización de programas de ofimática, audio y vídeo. Se diferenciara entre distribuciones y entornos de escritorio. Ventajas del uso del Software Libre frente al Privativo. Está destinada a los recién llegados al mundo del Software Libre. Está destinada a quienes llegan por primera vez al Software Libre, instalaron recientemente una distribución GNU/Linux y desean aprender las primeras nociones y dar los primeros pasos en el uso de un sistema operativo libre. Nivel: todos Disertante: Prof. Matías E. Garcia, matias@profmatiasgarcia.com.ar Temas: Software Libre, GNU Linux, Sistemas Operativos Observaciones: Necesitare de un proyector, llevo mi propia Notebook. Diapositiva 1 Diapositiva 2 Diapositiva 3 Diapositiva 4 Diapositiva 5 Diapositiva 6 Diapositiva 7 Diapositiva 8 Diapositiva 9 Diapositiva 10 Diapositiva 11 Diapositiva 12 Diapositiva 13 Diapositiva 14 Diapositiva 15 Diapositiva 16 Diapositiva 17 Diapositiva 18 Diapositiva 19 Diapositiva 20 Diapositiva 21 Diapositiva 22 Diapositiva 23 Diapositiva 24 Diapositiva 25 Diapositiva 26