Sunteți pe pagina 1din 31

eman ta zabal zazu

Universidad
del Pas Vasco

Curso de Introduccin a
GNU/Linux

Euskal Herriko
Unibertsitatea

ndice del Curso


Tema 1 Introduccin
Tema 2 Distribuciones e Instalacin
Tema 3 Repaso
Tema 4 Administracin en Linux
Tema 5 Entorno grfico
Tema 6 Kernel de Linux
Tema 7 Instalacin y Configuracin de
servidores
Tema 8 Conceptos bsicos de seguridad
Introduccin

2 de 31

Introduccin
Que es GNU/Linux
Unix: El comienzo
Historia de GNU/Linux
Situacin actual
Sistema multiusuario y multitarea
Usuarios y permisos
Sistema de ficheros
Entrando en Linux
Introduccin

3 de 31

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 pequeo sistema UNIX, y decidi desarrollar un
sistema que superara los estndares de Minix.

Comenz su trabajo en 1991 cuando divulgo la versin 0.0.2 y trabaj


firmemente hasta 1994 fecha en la que se divulg la versin 1.0 del kernel
Linux. La versin actual es la 2.4 y el desarrollo continua.
Linux se desarrolla bajo la Licencia Publica General GNU y su cdigo
fuente esta disponible para cualquiera. Aun as, esto no significa que Linux y
las diferentes distribuciones sean gratuitas -- las compaas y los
desarrolladores pueden cobrar por ello siempre y cuando el cdigo fuente este
disponible. Linux puede utilizarse para un amplio rango de propsitos
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 ms caros.

Introduccin

4 de 31

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 compaa junto con el soporte
tcnico.
Hoy da se puede instalar GNU/Linux en casi cualquier
plataforma existente, desde 386 hasta superordenadores Cray.
La gran mayora del software que puede necesitar un usuario
domestico o uno profesional estn disponibles para GNU/Linux
A pesar de que Unix ha sido tradicionalmente poco amigable,
GNU/Linux se acerca cada vez ms al entorno domestico.
Se estima que actualmente hay ms de 18 millones de usuarios de
GNU/Linux en el mundo

Introduccin

5 de 31

UNIX: El comienzo

Aos 60: en los Laboratorios Bell se comienza el desarrollo de


Multics, un SO multiusuario, multitarea, multicomplicado.
Nunca se termin.

Aos 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
disposicin del pblico el cdigo fuente.

Aos 80: Unix se extiende y aparecen variantes (BSD). AT&T


decide no seguir con Unix y las variantes comerciales toman el
mercado. El cdigo fuente no se distribuye y los programas no
pueden modificarse ni compartirse.

Introduccin

6 de 31

GNU (I)

Esta situacin desagrada a la mayora de los usuarios, las


abusivas licencias comerciales rompan el espritu de
colaboracin.

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 (Gnus Not Unix).

Para administrar los recursos disponibles del proyecto GNU crea


la Free Software Fundation y esta desarrolla la licencia GPL

Introduccin

7 de 31

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 ms
conocidos: Bash, gcc, Emacs, gdb,
Glibc, Gnome, GnuPG, sin olvidar
Hurd: el kernel del sistema GNU aun
en desarrollo.

Existen muchos ms programas distribuidos bajo licencia GPL

Introduccin

8 de 31

GNU (III)
GPL

Licencia Pblica 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 tena el usuario original. Es decir,
no se puede impedir que el software que es libre siga siendo libre
para siempre.

No existe ninguna garanta sobre el programa, el usuario es el


nico responsable de todas las consecuencias que el uso del
programa pudiera acarrear.

Introduccin

9 de 31

GNU (IV)
GPL (II)

No obstante, usuarios o compaas podran optar por ofrecer


garanta 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 garantas o soporte tcnico 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 tambin protegido por la GPL (para evitar que el software
deje de ser libre).

Introduccin

10 de 31

Linux (I)

A finales de los 80 la FSF ya tena gran cantidad de los


programas necesarios implementados pero les faltaba una parte
importante: el kernel. Su propio kernel, llamado Hurd, tardara
bastante en estar listo (a da de hoy todava no lo est).

En 1990 el IEEE publico un estandar sobre Sistemas Operativos,


que especificaba como deba 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 ncleos ms conocidos era


Minix, desarrollado como un proyecto educativo por Andrew
Tanenbaum y distribuido con su libro sobre diseo de Sistemas
Operativos.

Introduccin

11 de 31

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 rpidamente 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.

Introduccin

12 de 31

Situacin actual (I)

Hoy da (Marzo de 2003), Linux va ya por la versin estable 2.4.


Posee todas las caractersticas que tienen los Unix modernos,
incluyendo: multitarea real, memoria virtual, libreras
compartidas, carga bajo demanda, ejecutables compartidos,
administracin 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
ms usado en servidores de Internet.

El futuro se presenta prometedor para GNU/Linux. Cada vez


ms empresas y particulares confan en l como sistema
operativo. En los ltimos tiempos ha ido ganando terreno como
ordenador de sobremesa para aplicaciones personales. La
orientacin de Linux hacia aplicaciones de escritorio no le ha
hecho perder su estabilidad y capacidad para aplicaciones
crticas.

Introduccin

13 de 31

Situacin actual (II)


Busqueda en Google:
Windows: 63.200.,000
Microsoft: 33.100.000
Mac OS: 3.570.000

Linux: 59.600.000
Unix: 15.900.000
BSD: 3.530.000

Introduccin

14 de 31

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 apaa para repartir el tiempo entre los diversos
PROCESOS (programas en ejecucin) que corren en l, de manera
que parezcan ejecutarse "a la vez", como si cada uno tuviera una
CPU a su disposicin.
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.

Introduccin

15 de 31

Usuarios y permisos (I)


Cuando un sistema es utilizado por diferentes personas es
necesario un mtodo 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 ms que un nombre. Son todos los ficheros,
recursos e informacin correspondientes al usuario. El
termino se ha heredado del entorno bancario y aparece
debido a la necesidad de cobrar por los servicios prestados.
Adems de las cuentas personales, existen otros usuarios
definidos para tareas administrativas, como el root o
administrador, y tambin cuentas que no pertenecen a
ningn usuario real sino que son utilizadas por los
demonios del sistema.

Introduccin

16 de 31

Usuarios y permisos (II)


La forma de definir que puede y que no puede hacer
un usuario es a travs 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 ejecucin: 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.
Introduccin

17 de 31

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 caractersticas 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.
Introduccin

18 de 31

Usuarios y permisos (IV)


Ejemplo 1: comando ls
-rwxr-xr-x
root
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
root
tmp
Todo el mundo puede ver, modificar y acceder al directorio.

Introduccin

19 de 31

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
lgicas
correspondientes a los diferentes sistemas de archivos. Todo
lo que hay en el sistema cuelga del directorio raz /.

Introduccin

20 de 31

Sistema de ficheros (II)


rbol de directorios
El rbol de directorios de UNIX tiene una estructura
bastante rgida, que hace fcil la bsqueda de ficheros de
configuracin, ayuda, etc. cuando hace falta.

Introduccin

21 de 31

Sistema de ficheros (III)


Directorio /bin
/bin: Abreviacin de la palabra binaries (del ingls,
ejecutables). Aqu se guardan muchos de los programas
bsicos y esenciales para el funcionamiento del sistema como
los comandos ls, cp, etc.

Directorio /boot
/boot: En este directorio se encuentran los ficheros del ncleo
del sistema, los que ejecuta al arrancar.

Introduccin

22 de 31

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 configuracin
local del sistema, y de los programas, por ejemplo:
/etc/passwd guarda informacin de cada uno de los usuarios

Introduccin

23 de 31

Sistema de ficheros (V)


Directorio /home
/home: De este directorio cuelgan los 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 imgenes,
sonidos, iconos, etc..

Introduccin

24 de 31

Sistema de ficheros (VI)


Directorio /man
/man: Aqu se encuentran la mayora 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 estn 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.

Introduccin

25 de 31

Sistema de ficheros (VII)


Directorio /proc
/proc: En este directorio se encuentran ficheros virtuales, que
no existen realmente. Al intentar verlos obtendremos
informacin acerca del sistema. Cada proceso en ejecucin
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 raz o
root directory en ingles).

Introduccin

26 de 31

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 carcter
temporal, es decir, si un programa necesita mantener cierta
informacin guardada, pero que no ser necesaria en otro
momento, la guardara en el directorio /tmp.

Introduccin

27 de 31

Sistema de ficheros (IX)


Directorio /usr
/usr: En /usr estn la mayora 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 algn modo).

Introduccin

28 de 31

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 (tambin llamado shell) asociado a nuestro usuario
en el fichero /etc/passwd. A partir de este momento y hasta
que desconectemos (logout, a travs del comando exit)
podremos introducir comandos que el interprete ejecutara (si
tenemos los permisos adecuados), arrancar programas, etc..

Introduccin

29 de 31

Links

Linux: www.linux.org
Linux kernel: www.kernel.org
Proyecto GNU: www.gnu.org
Linux Counter: counter.li.org
Proyecto de Documentacin de Linux: tldp.org
Proyecto LuCAS: es.tldp.org
Distribuciones: www.redhat.com, www.debian.org,
www.suse.com
BSD: www.freebsd.org, www.openbsd.org,
www.netbsd.org
Introduccin

30 de 31

Preguntas

?
Introduccin

31 de 31

S-ar putea să vă placă și