Вы находитесь на странице: 1из 43

Departamento de

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

 Otros SSOO libres


• FreeBSD
• OpenBSD
• etc.

9
2 Distribuciones

 Diferentes organizaciones ofrecen sus


distribuciones
 “Sabores” de GNU/Linux
 Conjunto de aplicaciones
 Diferencias:
• Sistema de paquetes (deb, rpm, tarballs, etc.)
• Política de funcionamiento
• Facilidades de administración

10
2 Distribuciones

 Según el sistema de paquetes


• Basadas en rpm: RedHat, SuSE, Mandrake, YDL,
etc.
• Basadas en deb: Debian, K/Ubuntu, Knoppix, etc.
• Basadas en tarballs: Slackware, SLAX, etc.
• Casos intermedios: Fedora, Gentoo, etc.
 Live CD/DVD
• Ejecución desde el CD/DVD sin instalar en el HD
• Permiten instalarlo posteriormente

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/linux­2.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

 Formatos binarios soportados


• Inicialmente a.out (assembler output)
• Actualmente ELF (Extensible Linking Format)
o Ejecutables, objeto, librerías dinámicas, core dumps,
etc.
• binfmt_misc
o Capacidad del kernel Linux
o Permite formatos binarios arbitrarios pasándolos a
aplicaciones usuario
o Java -> Máquina virtual Java
o Ejecutables Win16/32 -> Wine
o Ejecutables .NET -> Mono
24
3 Arquitectura: Sistemas de Ficheros

 Ext (extended file system) – 1992


• Sistema de ficheros inicial de linux
• Creado para solventar limitaciones de minix
o Tamaño de partición 2GB
o Nombre de ficheros de 255 caracteres
 Ext2 – 1993
• Soluciona limitaciones de ext
o Nuevas funcionalidades
o Tamaño de partición de 4 TB
o Nombres de fichero de 255 caracteres
• Extensible. Añadidos posteriores:
o Atributos extendidos
o ACLs de POSIX 25
3 Arquitectura: Sistemas de Ficheros

 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

 Forma gráfica vs consola


• Remoto
• Similar entre distribuciones
• Automatización
 Desde consola
• Ficheros de configuración en /etc
• Ficheros de log en /var/log
• Usuario vs root: su y sudo
• Programación en shell: redireccionamientos,
tuberías, estructuras de programación,
comandos del sistema.

28
4 Administración: Gestión de paquetes

 Concepto paquete software


• Ficheros
o Código ejecutable
o Datos: imágenes, sonidos, DB, etc.
• Metainformación
o Nombre, descripción, versión, autor, dependencias,
tamaño, etc.
 Sistema de paquetes
• Diferentes opciones: RPM, DEB, TARBALL,
EBUILD, etc.
• Simplifica gestión del sistema
o Instalación, eliminación, actualización, dependencias,
etc. 29
4 Administración: Gestión de paquetes

 RPM (Red Hat Package Manager)


• Desarrollado por Red Hat
• Utilizado: Red Hat, Fedore, SuSE, etc.
• Ficheros:
<name>-<version>-<release>.<arch>.rpm
• Base de datos en: /var/lib/rpm
• Interfaz de bajo nivel: comando rpm
# rpm ­i fichero.rpm # rpm ­e paquete
$ rpm ­qa
• Interfaces de más alto nivel:
o up2date, yum, YaST, APT

30
4 Administración: Gestión de paquetes

 DPKG (Debian PacKaGe)


• Desarrollado por Debian
• Utilizado: Debian, Knoppix, Ubuntu, etc.
• Ficheros:
<name>_<version-release>_<arch>.deb
• Base de datos en: /var/lib/dpkg
• Además de meta-info, tb incluyen scripts
• Interfaz de bajo nivel: comando dpkg
# dpkg ­i fichero.deb # dpkg ­r paquete
# dpkg ­r –purge paquete # dpkg­reconfigure paquete
$ dpkg ­l $ dpkg ­L
• Interfaces de más alto nivel:
o APT, aptitude, synaptic, adept, etc. 31
4 Administración: Gestión de paquetes

 APT (Advanced Packaging Tool)


• Desarrollado por Debian
• Front-end para dpkg (actualmente tb para otros)
• Gestiona automáticamente dependencias
• Fichero de configuración con repositorios:
/etc/apt/sources.list:
type url distribution [component1] [componenent2] [...]
• Comandos (aptitude):
# aptitude update # aptitude install paquete
# aptitude remove paquete # aptitude purge paquete
# aptitude safe­upgrade # aptitude full­upgrade
$ aptitude search patrón $ aptitude show paquete

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
2­5: 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

 Ejecución como root:


• su vs sudo
 Gestión de usuarios:
• useradd, userdel, usermod, chage, groupadd, groupdel, groups, etc.
 Cambio permisos:
• chmod, chown, chattr, etc.
 Configuración de red:
• ifconfig, iwconfig, iwlist, route, netstat, iptables, etc.
 Gestión paquetes:
• dpkg, tasksel, rpm, apt-get, aptitude, etc.
 Gestión discos/sistemas de ficheros:
• fdisk, mkfs, mount, umount, setquota, quota, etc.
 Listado dispositivos:
• lspci, lsusb, udevinfo, etc.
41
4 Administración: Ficheros de Configuración

 Ejecución como root:


• /etc/sudoers
 Gestión de usuarios:
• /etc/passwd, /etc/shadow, /etc/group, /etc/gshadow, /etc/skel/
 Cambio permisos:
• /etc/apparmor.d
 Configuración de red:
• /etc/host, /etc/resolv.conf, /etc/network/interfaces, /etc/init.d/
 Gestión paquetes:
• /etc/apt/sources.list
 Gestión discos/sistemas de ficheros:
• /etc/fstab
 Dispositivos:
• /dev/, /sys/, /etc/udev/
42
Referencias

 “Fundamentos de Sistemas Operativos”


Silberschatz, Galvin, Gagne
McGraw-Hill, 2006
 http://www.wikipedia.org
 http://www.top500.org
 http://www.debian.org

43

Вам также может понравиться