Curso de Introduccin a GNULinux ndice del Curso

  • Slides: 32
Download presentation
Curso de Introducción a GNU/Linux

Curso de Introducción a GNU/Linux

Índice del Curso • Tema 1 – Introducción • Tema 2 – Distribuciones e

Índice del Curso • Tema 1 – Introducción • Tema 2 – Distribuciones e Instalación • Tema 3 – Repaso • Tema 4 – Administración en Linux • Tema 5 – Entorno gráfico • Tema 6 – Kernel de Linux • Tema 7 – Instalación y Configuración de servidores • Tema 8 – Conceptos básicos de seguridad Introducción 2 de 31

Introducción • Que es GNU/Linux • Unix: El comienzo • Historia de GNU/Linux •

Introducción • Que es GNU/Linux • Unix: El comienzo • Historia de GNU/Linux • Situación actual • Sistema multiusuario y multitarea • Usuarios y permisos • Sistema de ficheros • Entrando en Linux Introducción 3 de 31

Qué es GNU/Linux • Linux es un sistema operativo creado inicialmente como un hobby

Qué es GNU/Linux • Linux es un sistema operativo creado inicialmente como un hobby por Linus Torvalds, un estudiante de la Universidad de Helsinki. Linus estaba interesado en Minix, un pequeño sistema UNIX, y decidió desarrollar un sistema que superara los estándares de Minix. • Comenzó su trabajo en 1991 cuando divulgo la versión 0. 0. 2 y trabajó firmemente hasta 1994 fecha en la que se divulgó la versión 1. 0 del kernel Linux. La versión actual es la 2. 4 y el desarrollo continua. • Linux se desarrolla bajo la Licencia Publica General GNU y su código fuente esta disponible para cualquiera. Aun así, esto no significa que Linux y las diferentes distribuciones sean gratuitas -- las compañías y los desarrolladores pueden cobrar por ello siempre y cuando el código fuente este disponible. Linux puede utilizarse para un amplio rango de propósitos incluyendo networking, desarrollo de software y como plataforma para el usuario final. Linux se considera frecuentemente una alternativa excelente y de bajo coste a otros Sistemas Operativos más caros. Introducción 4 de 31

Qué es GNU/Linux • GNU/Linux es un Sistema Operativo multiplataforma, multiusuario y multitarea con

Qué es GNU/Linux • GNU/Linux es un Sistema Operativo multiplataforma, multiusuario y multitarea con compatibilidad POSIX. • Esta compuesto por software libre. Podemos descargarlo gratuitamente o comprarlo a una compañía junto con el soporte técnico. • Hoy día se puede instalar GNU/Linux en casi cualquier plataforma existente, desde 386 hasta superordenadores Cray. • La gran mayoría del software que puede necesitar un usuario domestico o uno profesional están disponibles para GNU/Linux • A pesar de que Unix ha sido tradicionalmente poco amigable, GNU/Linux se acerca cada vez más al entorno domestico. • Se estima que actualmente hay más de 18 millones de usuarios de GNU/Linux en el mundo Introducción 5 de 31

UNIX: El comienzo • Años 60: en los Laboratorios Bell se comienza el desarrollo

UNIX: El comienzo • Años 60: en los Laboratorios Bell se comienza el desarrollo de Multics, un SO 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 (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. Introducción 6 de 31

GNU (I) • Esta situación desagrada a la mayoría de los usuarios, las abusivas

GNU (I) • Esta situación desagrada a la mayoría de los usuarios, las abusivas licencias comerciales rompían el espíritu de colaboración. • 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 Fundation y esta desarrolla la licencia GPL Introducción 7 de 31

GNU (II) FSF “Free as in ‘free speech’ not ‘free beer’” • La Free

GNU (II) FSF “Free as in ‘free speech’ not ‘free beer’” • La Free Software Fundation es la principal responsable del proyecto GNU. • Actualmente se encuentran disponibles 2068 paquetes de software. Los más conocidos: Bash, gcc, Emacs, gdb, Glibc, Gnome, Gnu. PG, sin olvidar Hurd: el kernel del sistema GNU aun en desarrollo. • Existen muchos más programas distribuidos bajo licencia GPL Introducción 8 de 31

GNU (III) GPL • Licencia Pública General (http: //www. gnu. org/copyleft/gpl. html) • Garantiza

GNU (III) GPL • Licencia Pública General (http: //www. gnu. org/copyleft/gpl. html) • Garantiza al usuario del programa la libertad para copiar, compartir, intercambiar y/o modificar el programa a su antojo. • Si el usuario distribuye el programa a otra persona debe dar a ésta los mismos derechos que tenía el usuario original. Es decir, no se puede impedir que el software que es libre siga siendo libre para siempre. • No existe ninguna garantía sobre el programa, el usuario es el único responsable de todas las consecuencias que el uso del programa pudiera acarrear. Introducción 9 de 31

GNU (IV) GPL (II) • No obstante, usuarios o compañías podrían optar por ofrecer

GNU (IV) GPL (II) • No obstante, usuarios o compañías podrían optar por ofrecer garantía sobre un programa GNU a los usuarios a cambio de un precio. • Libre no es lo mismo que gratuito, las empresas tienen derecho a vender el software, y a ofrecer garantías o soporte técnico a cambio de un precio. Naturalmente, no pueden eliminar al usuario sus derechos a intercambiar y modificar el programa. • La licencia establece que si se utilizan partes de un programa GPL en otro programa, entonces el programa resultante debe estar también protegido por la GPL (para evitar que el software deje de ser libre). Introducción 10 de 31

Linux (I) • A finales de los 80 la FSF ya tenía gran cantidad

Linux (I) • 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á). • En 1990 el IEEE publico un estandar 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. Introducción 11 de 31

Linux (II) • En 1991 en el grupo de noticias comp. os. minix, un

Linux (II) • 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/gnumake/gnu-sed/compress etc under it. “ Introducción 12 de 31

Situación actual (I) • Linux posee todas las características que tienen los Unix modernos,

Situación actual (I) • Linux posee todas las características que tienen los Unix modernos, incluyendo: multitarea real, memoria virtual, librerías compartidas, carga bajo demanda, ejecutables compartidos, administración de memoria eficiente, y redes TCP/IP. • GNU/Linux es usado por multitud de empresas y organismos por su reconocida estabilidad y escalabilidad. Es el sistema operativo más usado en servidores de Internet. • El futuro se presenta prometedor para GNU/Linux. Cada vez más empresas y particulares confían en él como sistema operativo. En los últimos tiempos ha ido ganando terreno como ordenador de sobremesa para aplicaciones personales. La orientación de Linux hacia aplicaciones de escritorio no le ha hecho perder su estabilidad y capacidad para aplicaciones críticas. Introducción 13 de 31

Situación actual (II) • Más de la mitad de las páginas web de Internet

Situación actual (II) • Más de la mitad de las páginas web de Internet son servidas con software libre (link is external): el servidor web Apache y Lighttpd. • La compañía Google utiliza de manera extensiva GNU/Linux (link is external), no sólo en sus escritorios de trabajo, sino también en los servidores que atienden las millones de consultas que reciben cada día. • La mayoría de estudios de Hollywood utilizan GNU/Linux (link is external): Disney, Dreamworks, Pixar, Industrial Light & Magic, Filmax o Sony Pictures son sólo algunas de las compañías que utilizan este sistema operativo tanto como estaciones de trabajo como en sus servidores. Películas como Titanic, Piratas del Caribe o Star Wars: Episode II fueron renderizadas gracias a Linux. • Más de 85% de los 500 supercomputadores más potentes utiliza un sistema libre (link is external). Un ejemplo es el Mare. Nostrum, supercomputador instalado en. Introducción Barcelona (el más potente de Europa) 14 de y 31 que utiliza Su. SE Linux.

Situación actual (III) • Mozilla Firefox, el navegador libre descendiente del antiguo Netscape ha

Situación actual (III) • Mozilla Firefox, el navegador libre descendiente del antiguo Netscape ha conseguido superar la barrera de los 500 millones de descargas (link is external) (30 millones de ellas de la última versión: Firefox 3), llegando a cuotas de uso (link is external) de entre el 20% y el 40% en Europa. • El Ayuntamiento de Zaragoza anunció en 2007 (link is external) que instalaría Open. Office. org en todos sus ordenadores, y que se pasaría a GNU/Linux para ahorrar las costosas licencias de Windows • Países como Brasil (link is external) y ciudades como Munich (link is external) han dejado claro su apoyo al software libre y, con distintas iniciativas, están implementando soluciones libres en su territorio. Introducción 15 de 31

Sistema multiusuario y multitarea • Un sistema operativo multitarea y multiusuario permite que varias

Sistema multiusuario y multitarea • Un sistema operativo multitarea y multiusuario permite que varias personas puedan estar ejecutando programas al mismo tiempo en un mismo ordenador. • Generalmente, los sistemas corrientes tienen un único procesador. Éste se las apaña para repartir el tiempo entre los diversos PROCESOS (programas en ejecución) que corren en él, de manera que parezcan ejecutarse "a la vez", como si cada uno tuviera una CPU a su disposición. • Por otro lado, cada proceso corresponde a un usuario, normalmente el que lo ejecuta, y no puede acceder sino a las zonas del sistema a las que el propio usuario tiene acceso. Así, los procesos ejecutados por un usuario no se mezclan con los ejecutados por otro y tampoco pueden acceder, en principio, a datos ajenos. Introducción 16 de 31

Usuarios y permisos (I) • Cuando un sistema es utilizado por diferentes personas es

Usuarios y permisos (I) • Cuando un sistema es utilizado por diferentes personas es necesario un método para poder diferenciarlas. A cada usuario se le asigna un nombre de usuario (login) diferente que será el que utilice para entrar al sistema. • Una cuenta es más que un nombre. Son todos los ficheros, recursos e información correspondientes al usuario. El termino se ha heredado del entorno bancario y aparece debido a la necesidad de cobrar por los servicios prestados. • Además de las cuentas personales, existen otros usuarios definidos para tareas administrativas, como el root o administrador, y también cuentas que no pertenecen a ningún usuario ‘real’ sino que son utilizadas por los demonios del sistema. Introducción 17 de 31

Usuarios y permisos (II) • La forma de definir que puede y que no

Usuarios y permisos (II) • 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 al administrador. Introducción 18 de 31

Usuarios y permisos (III) • Pero solo estos permisos no son suficientes, queremos otorgar

Usuarios y permisos (III) • Pero solo estos permisos no son suficientes, queremos otorgar diferentes permisos a diferentes grupos de usuarios. • 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. Introducción 19 de 31

Usuarios y permisos (IV) • Ejemplo 1: comando ls -rwxr-xr-x root ls El propietario

Usuarios y permisos (IV) • Ejemplo 1: comando ls -rwxr-xr-x root ls El propietario puede leer, modificar y ejecutar el fichero. Su grupo y el resto solo leerlo y ejecutarlo. • Ejemplo 2: directorio personal drwx-----jtpfevaa profesores jtpfevaa El propietario puede ver, modificar y acceder al contenido del directorio. Su grupo y el resto no pueden hacer nada. • Ejemplo 3: directorio tmp drwxrwxrwx root tmp Todo el mundo puede ver, modificar y acceder al directorio. Introducción 20 de 31

Sistema de ficheros (I) Todo es un fichero • En el sistema de ficheros

Sistema de ficheros (I) Todo es un fichero • 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. • 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 /. Introducción 21 de 31

Sistema de ficheros (II) Árbol de directorios • El árbol de directorios de UNIX

Sistema de ficheros (II) Árbol de directorios • 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. Introducción 22 de 31

Sistema de ficheros (III) Directorio /bin • /bin: Abreviación de la palabra binaries (del

Sistema de ficheros (III) Directorio /bin • /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. Directorio /boot • /boot: En este directorio se encuentran los ficheros del núcleo del sistema, los que ejecuta al arrancar. Introducción 23 de 31

Sistema de ficheros (IV) Directorio /dev • /dev: Viene del ingles device (dispositivo). Este

Sistema de ficheros (IV) Directorio /dev • /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. Directorio /etc • /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 Introducción 24 de 31

Sistema de ficheros (V) Directorio /home • /home: De este directorio cuelgan los directorios

Sistema de ficheros (V) Directorio /home • /home: De este directorio cuelgan los directorios de inicio (home directory) de los usuarios “normales” (todos excepto el root y las cuentas que no pertenecen a un usuario real). Directorio /lib • /lib: En este directorio se encuentran las bibliotecas del sistema, ya sean bibliotecas de funciones, de imágenes, sonidos, iconos, etc. . Introducción 25 de 31

Sistema de ficheros (VI) Directorio /man • /man: Aquí se encuentran la mayoría de

Sistema de ficheros (VI) Directorio /man • /man: Aquí se encuentran la mayoría de las paginas del manual de cada prograam. Para acceder a los manuales se utiliza el comando man seguido del nombre del programa. Otras veces están en /usr/man o /usr/local/man. Directorio /mnt • /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. Introducción 26 de 31

Sistema de ficheros (VII) Directorio /proc • /proc: En este directorio se encuentran ficheros

Sistema de ficheros (VII) Directorio /proc • /proc: En este directorio se encuentran ficheros virtuales, que no existen realmente. Al intentar verlos obtendremos información acerca del sistema. Cada proceso en ejecución tiene asociado un directorio. Directorio /root • /root: Este es el directorio home del usuario root, tradicionalmente el administrador del sistemas. Recibe este nombre por ser el propietario del directorio / (directorio raíz o root directory en ingles). Introducción 27 de 31

Sistema de ficheros (VIII) Directorio /sbin • /sbin: Aquí, al igual que en /bin

Sistema de ficheros (VIII) Directorio /sbin • /sbin: Aquí, al igual que en /bin se guardan muchos programas pero estos solo son usados por el administrador del sistema, por ejemplo: el comando exit, el comando halt, el comando reboot, etc. Directorio /tmp • /tmp: En el directorio /tmp se guardan archivos de carácter temporal, es decir, si un programa necesita mantener cierta información guardada, pero que no será necesaria en otro momento, la guardara en el directorio /tmp. Introducción 28 de 31

Sistema de ficheros (IX) Directorio /usr • /usr: En /usr están la mayoría de

Sistema de ficheros (IX) Directorio /usr • /usr: En /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, Directorio /var • /var: Este directorio guarda los ficheros “variables”, como los ficheros donde se guardan los errores, los logs del sistema, los directorios del SPOOL de la impresora (el buffer de la impresora por decirlo de algún modo). Introducción 29 de 31

Entrando en Linux Login • Lo primero que hay que hacer para entrar en

Entrando en Linux Login • Lo primero que hay que hacer para entrar en el sistema es identificarse como un usuario concreto (introducir el nombre de usuario o login) y probar que, efectivamente, se es dicho usuario (introducir la clave asociada o password). Shell • Una vez autenticados, el sistema cargará el interprete de comandos (también llamado shell) asociado a nuestro usuario en el fichero /etc/passwd. A partir de este momento y hasta que desconectemos (logout, a través del comando exit) podremos introducir comandos que el interprete ejecutara (si tenemos los permisos adecuados), arrancar Introducción 30 de 31 programas, etc. .

Links • • Linux: www. linux. org Linux kernel: www. kernel. org Proyecto GNU:

Links • • Linux: www. linux. org Linux kernel: www. kernel. org Proyecto GNU: www. gnu. org Linux Counter: counter. li. org Proyecto de Documentación de Linux: tldp. org Proyecto Lu. CAS: es. tldp. org Distribuciones: www. redhat. com, www. debian. org, www. suse. com • BSD: www. freebsd. org, www. openbsd. org, www. netbsd. org Introducción 31 de 31

Preguntas ¿ ? Introducción 32 de 31

Preguntas ¿ ? Introducción 32 de 31