Académique Documents
Professionnel Documents
Culture Documents
Electrónica y Telecomunicaciones
Laboratorio de Redes y Servicios
Ing. Téc. Telecomunicaciones
Esp. Telemática
2º curso
Servidores UNIX
(Kubuntu GNU/Linux)
Curso 2009 – 2010
1 Introducción
GNU + Linux
Software libre
Multiplataforma, multiproceso, multiusuario,
multitarea.
Soporte clusters
Uso: escritorio, servidor, supercomputadoras
(top500), sistemas embebidos, etc.
Apoyo multinacionales: IBM, Sun
Microsystems, HP, Novell, etc.
En la administración pública: Alemania,
China, España, etc. 2
1 Introducción
www.top500.org
3
1 Introducción
Proyecto GNU
• GNU is Not Unix
• Objetivo: Sistema operativo
completo libre
• Iniciado en 1983 por
Richard Stallman
• Libertades: ejecución, copia,
modificación y distribución
• Licencia General Pública de GNU (GPL)
o Copyleft
o Variantes: Gnu Free Documentation License (GFDL),
Lesser GPL (LGPL)
• En 1985 la Free Software Fundation (FSF)
4
o Para soportar el proyecto GNU
1 Introducción
Linux
• El proyecto GNU:
o Editor de textos (Emacs), Compilador (GCC), librerías y
utilidades UNIX
o Faltaba kernel. GNU/Hurd aún en desarrollo ...
• Primera versión del kernel Linux en 1991
• Por Linus Torvalds
• Licencia GPL
• Núcleo monolítico híbrido
o Ring 0: kernel, acceso HW
o Ring 3: modo usuario, sin privil.
• Arquitectura discutida por
Tanenbaum
5
o Minix vs Linux
1 Introducción
Linux (cont)
• Actualmente kernel más
portado:
o PCs, PDAs, Router, Consolas,
MainFrames
• Versiones x.y.z,
actualmente 2.6
o Par: estable
o Impar: desarrollo
• Mascota: pingüino Tux
6
1 Introducción
Hurd
• Kernel GNU bajo licencia GPL
• Compatible POSIX
• Arquitectura microkernel
o Actualmente sólo sobre GNU Mach
(CMU)
o Múltiples servidores simultáneos
• Siglas
o Hird of Unix-Replacing Daemons (Hurd)
o Hurd of Interfaces Representing Depth (Hird)
o “Manada de Ñúes”
• Otros sistemas UNIX que corren sobre Mach
o NEXTSTEP, Mac OS X, MkLinux, etc.
7
o Microkernel y (un único) servidor UNIX
1 Introducción
Hurd (cont)
• Servidores (Debian)
o auth, crash, exec, ext2fs, fifo, firmlink, ftpfs, fwd,
hostmux, ifsock, init,
isofs, magic, new-fifo, nfs, null, pfinet, pflocal, proc,
storeio, symlink, term, ufs, usermux.
• Limitaciones
o Partición máx 2 GB
o Drivers correspondientes a la versión 2.0 del kernel
Linux
o RAM máx 768 MB
o No soporte audio, USB, PPP, DHCP, etc.
8
1 Introducción
GNU + Kernel
• GNU/Linux (“Linux”)
• GNU/Hurd
• GNU/kFreeBSD
9
2 Distribuciones
10
2 Distribuciones
11
2 Distribuciones
Debian
• Creada en 1993, actualmente versión 5.0
• Filosofía software libre
• Comunidad de desarrolladores y usuarios
• Independiente a empresas
• Tres ramas de desarrollo
o stable
o testing
o unstable
• Sistema APT
12
2 Distribuciones
RedHat
• Creada en 1994, actualmente RHEL 5
• Distribución comercial Red Hat
• En 2003 separación en:
o Red Hat Enterprise Linux (RHEL)
Ediciones de servidor y de estación de trabajo
o Fedora Core (FC)
Comunidad Fedora
Actualmente Fedora 12
13
2 Distribuciones
Ubuntu
• Creada en 2004, actualmente Karmic 9.10
• Basada en Debian GNU/Linux
o Demasiada burocracia
o Actualidad vs estabilidad
o Desarrolladores en ambos proyectos
• Patrocinada por Canonical Ltd.
• Enfocada a ordenadores de escritorio
• Facilidad de uso y de instalación
• Eslogan: “Linux for Human Beings”
• Lanzamientos regulares (cada 6 meses)
• Ubuntu (GNOME), Kubuntu (KDE) 14
2 Distribuciones
Ubuntu
• Mark
Shuttleworth
15
3 Arquitectura
Kernel
• Núcleo monolítico híbrido (módulos)
o Ring 0: kernel, acceso HW
o Ring 3: modo usuario, sin privilegios
• Arquitectura discutida por Tanenbaum
o Minix vs Linux
http://www.dina.dk/~abraham/Linus_vs_Tanenbaum.html
• Versiones X.Y.Z
o Estable
o Desarrollo
• GUI fuera del kernel
16
3 Arquitectura
17
3 Arquitectura
Kernel
• Posibilidades de kernel
o Stock kernel
o Custom Kernel
• Recompilar kernel
$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux2.6.X.tar.bz2
Descomprimir en /usr/src/linux
# make menuconfig (o make xconfig)
# make
# make install
# make modules_install
18
3 Arquitectura: Kernel custom
19
3 Arquitectura: Kernel custom
20
3 Arquitectura: Kernel custom
21
3 Arquitectura
Entorno gráfico
• Servidor X
o Se encarga de dibujar en
pantalla
o Puede estar en un equipo
diferente
o Xfree86, X.org, etc.
• Gestor de ventanas
o Simplifica la utilización de ventanas
o Kwin, Metacity, Compiz, Beryl, etc.
• Escritorio
o Organiza gráficamente funcionalidades
o KDE, GNOME, etc.
22
3 Arquitectura
Organización en directorios
/ proc/ home/
bin/, sbin/ etc/ root/
boot/ usr/ ...
dev/ var/
mnt/ tmp/
“Todo es un fichero”
• /dev/
Concepto de montaje
23
3 Arquitectura
Ext3 – 2001
• Añadidos
o Journalling
o Mayor direccionamiento
o Crecimiento dinámico del sistema de ficheros
• Compatible con ext2 (sin los añadidos)
o Convertir un ext2 a un ext3:
# tune2fs j /dev/hdaX
• Desventajas
o Defragmentación
o Funcionalidades
26
3 Arquitectura: Sistemas de Ficheros
Ext4 – 2006
• Tamaños de 260 bytes
• Añade extent para evitar defragmentación
• Compatible con ext3 (si no se usa extent)
ReiserFS (Reiser3) – 2001
• Características similares a ext3
• Mejor rendimiento con fichero pequeños
• Reiser4 más eficiente, reimplementación desde 0
Soporta muchos más:
• adfs, affs, autofs, coda, coherent, cramfs, devpts, efs, ext, ext2, ext3, hfs,
hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, nfs4, ntfs, proc, qnx4, ramfs,
reiserfs, romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos, usbfs, vfat, xenix, xfs,
xiafs, etc. 27
4 Administración
28
4 Administración: Gestión de paquetes
30
4 Administración: Gestión de paquetes
32
4 Administración: Gestión de paquetes
TARBALL
• Formato tradicional de UNIX, extensión *.tar.gz
• Normalmente las fuentes
• Más difícil de mantener: instalación,
dependencias, eliminación, actualización, etc.
• Consultar ficheros README, INSTALL
• Por defecto:
$ ./configure
$ make
# make install
# make uninstall
• DEB, RPM, etc. suelen partir de un TARBALL
33
4 Administración: Servicios
Proceso de arranque
• BIOS (Basic Input/Output System)
o Permitir arrancar programas desde diferentes medios
o Funciones básicas de manejo del hardware
• MBR
o Primeros 512 bytes, código ejecutable
• Gestor de arranque
o Permite elegir entre diferentes SSOO y paso params
o Ej: LILO, GRUB, etc.
• Kernel
o Detecta HW, carga controladores, monta unidades,
etc.
o Ejecuta INIT 34
4 Administración: Servicios
Proceso de arranque
• INIT
o Primer proceso tras el kernel, modo usuario
o Arranca terminales
o Ejecuta todos los programas asociados a un runlevel
o /etc/inittab
• RUNLEVEL
o Número que identifica un grupo de programas
o Cuando se entra en ese runlevel: se ejecutan los
programas
o Cuando se sale del runlevel: se detienen los
programas
o Runlevels habituales
0: Halt 1: Single user
35
25: Multiusuario 6: Reboot
4 Administración: Servicios
Demonios
• Funcionan en segundo plano
• Inicio UNIX System V
• Normalmente scripts para iniciar/parar/recargar/etc
/etc/init.d/demonio start|stop|restart|reload
• Por cada runlevel, enlaces simbólicos a los scripts
deseados
/etc/rcX.d/S11demonio > /etc/init.d/demonio
• Los enlaces simbólicos se ejecutan por orden
alfabético
o El número del principio determinará el orden de ejecución
• Actualmente otras alternativas
o Arrancan procesos de forma asíncrona
o Ej.: Upstart, Initng, etc. 36
4 Administración: Red
Dispositivos/interfaces
• /dev/ethX, /dev/wlanX
Comandos
• ifconfig, iwconfig, ifup, ifdown
• route
• dhclient
• /etc/init.d/networking
Ficheros
• /etc/resolv.conf
• /etc/network/interfaces
NetworkManager
37
4 Administración: Logs
Se guardan en /var/log
• Sistema
o syslog, daemon.log, mail.log, kern.log, Xorg.0.log, etc.
• Aplicaciones
o apache/error.log, apache/access.log
Visualización
• Consola
o tail, more, less, etc.
• Gráfica
o KSystemLog, etc.
Utilidades
• syslog
• dmesg 38
4 Administración: Logs
39
4 Administración: Logs
syslog
• Comportamiento como en BSD
• Logs del sistema, del kernel y de las aplicaciones
• Se puede almacenar en local o en un equipo remoto
• Agrupados en servicios (mail, kern, auth, etc.) y
prioridades (info, warning, err, debug, etc.)
• Configuración en /etc/syslog.conf:
*.* /var/log/syslog
mail.err /var/log/mail.err
kern.* @hostname
• Se guarda un histórico comprimido:
syslog, syslog.1.gz, syslog.2.gz, ..., syslog.6.gz
dmesg
• Muestra el ring buffer del kernel 40
4 Administración: Comandos de Administrador
43