You are on page 1of 47

Administraci on de Servicios y Aplicaciones

Departamento de Sistemas Telem aticos y Computaci on (GSyC)


gsyc-profes (arroba) gsyc.es

Febrero de 2010

GSyC - 2010

Administraci on de Servicios y Aplicaciones

c 2010 GSyC Algunos derechos reservados. Este trabajo se distribuye bajo la licencia Creative Commons Attribution Share-Alike 3.0

GSyC - 2010

Administraci on de Servicios y Aplicaciones

Empaquetado de cheros

Empaquetado de cheros

Almacenar varios cheros en uno solo, no necesariamente con compresi on Utilidad: M as c omodo de manejar (copiar, enviar por correo, etc) Conservar metainformaci on (permisos) o incluso may usculas/min usculas, tildes, etc si los cheros van a pasar por un sistema de cheros diferente
ISO9660 (cdrom) vfat (Windows, discos externos, pendrives) ntfs (Windows)

GSyC - 2010

Administraci on de Servicios y Aplicaciones

Empaquetado de cheros

gzip

Comprime o descomprime 1 chero Extensi on: fichero.z fichero.gz Comprimir y descomprimir (borrando el original): gzip fichero gunzip fichero.gz

GSyC - 2010

Administraci on de Servicios y Aplicaciones

Empaquetado de cheros

Comprimir y descomprimir (manteniendo el original): gzip -c fichero > fichero.gz zcat fichero.gz > fichero zcat fichero.gz | less

GSyC - 2010

Administraci on de Servicios y Aplicaciones

Empaquetado de cheros

tar + gzip

Comprime o descomprime varios cheros, directorios Extensi on: fichero.tar.gz fichero.tgz Empaquetar y comprimir: tar -cvzf fichero.tgz fichero1 fichero2 Descomprimir y desempaquetar: tar -xvzf fichero.tgz Mostrar contenido: tar -tzf fichero.tgz Para empaquetar sin comprimir, basta omitir la opci on z tar -cvf fichero.tar *.jpg tar -xvf fichero.tar

GSyC - 2010

Administraci on de Servicios y Aplicaciones

Empaquetado de cheros

WinZip

A causa de unas licencias restrictivas, originalmente no hab a compresores para Linux. (Pero las aplicaciones Windows saben descomprimir .tgz) Descomprimir: unzip fichero.zip

GSyC - 2010

Administraci on de Servicios y Aplicaciones

Empaquetado de cheros

bz2
Formato que ofrece compresi on m as alta que .gz, (empleando m as CPU y memoria) Comprimir y descomprimir 1 chero, borrando el original bzip2 fichero bunzip2 fichero.bz2 Comprimir y descomprimir 1 chero, manteniendo el original bzip2 -c fichero > fichero.bz2 bunzip2 -c fichero.bz2 > fichero Comprimir y descomprimir varios cheros, manteniendo el original tar -cvjf fichero.bz2 fichero1 fichero2 tar -xvjf fichero.bz2

GSyC - 2010

Administraci on de Servicios y Aplicaciones

Empaquetado de cheros

Disquetes

Podemos montar la disquetera como un sistema de cheros Unix Pero suele ser m as pr actico copiar un .tgz en modo msdos mdir a: mcopy fichero a: mcopy a:fichero

GSyC - 2010

Administraci on de Servicios y Aplicaciones

Empaquetado de cheros

Fragmentaci on de Ficheros

Trocear split -b 1440k cancion.mp3 Recomponer cat trozo* > cancion.mp3 split -b 100MB mi_pelicula.avi

trozo

mi_pelicula.avi

GSyC - 2010

Administraci on de Servicios y Aplicaciones

10

Instalaci on de paquetes

Instalaci on de paquetes

M etodo cl asico para instalar programas: Formato .tgz Descomprimir y seguir las instrucciones del chero README Suele ser del estilo de ./configure make compile make install Sistema de gesti on de paquetes Colecci on de herramientas que automatizan la instalaci on, actualizaci on y eliminaci on de programas.

GSyC - 2010

Administraci on de Servicios y Aplicaciones

11

Instalaci on de paquetes

Gesti on de paquetes, Debian y derivados Paquetes en formato .deb Se pueden manejar directamente con dpkg, o con apt-get, aptitude, dselect, o synaptic Gesti on de paquetes, RedHat y derivados Paquetes en formato .rpm Se pueden manejar directamente con rpm, o con up2date o yum

GSyC - 2010

Administraci on de Servicios y Aplicaciones

12

Instalaci on de paquetes

El sistema de paquetes de Debian

El sistema de paquetes de Debian

Los paquetes mantienen dependencias entre s , de forma que la instalaci on de un paquete puede: depender de que se instale tambi en otro recomendar que se instale tambi en otro sugerir que se instale tambi en otro entrar en conicto con otro actualmente instalado

GSyC - 2010

Administraci on de Servicios y Aplicaciones

13

Instalaci on de paquetes

dpkg

dpkg
Es la herramienta b asica de gesti on de paquetes, que es usada por las otras (dselect, apt-get, aptitude, synaptic). Usos principales:
dpkg -i paquete_VVV-RRR.deb Instala un paquete dpkg -r paquete Desinstala (remove) un paquete, elimina todo excepto los cheros de conguraci on dpkg -P paquete Purga un paquete, eliminando incluso los cheros de conguraci on

Tiene muchas opciones. Puede esquivarse el esquema de dependencias (peligroso) con las opciones que empiezan por --force-...

GSyC - 2010

Administraci on de Servicios y Aplicaciones

14

Instalaci on de paquetes

dpkg

Versiones de Ubuntu: nombre a~ no.mes Warty Warthog 4.10 Hoary Hedgehog 5.04 Breezy Badger 5.10 Dapper Drake 6.06 LTS Edgy Eft 6.10 Feisty Fawn 7.04 Gutsy Gibbon 7.10 Hardy Heron 8.04 LTS Intrepid Ibex 8.10 Jaunty Jackalope 9.04 Karmic Koala 9.10 Lucid Lynx 10.04 LTS Versi on est andar: soportada 18 meses LTS: Long Term Support: 3 a nos en escritorio y 5 en servidor
GSyC - 2010 Administraci on de Servicios y Aplicaciones 15

Instalaci on de paquetes

dpkg

Ubuntu Desktop / Ubuntu Server Edition / Ubuntu Server Edition JeOS Variantes de Ubuntu: Kubuntu, Xubuntu, Edubuntu, Ubuntu Netbook Edition, Ubuntu MID Edition, Ubuntu Studio

GSyC - 2010

Administraci on de Servicios y Aplicaciones

16

Instalaci on de paquetes

apt

apt

La herramienta m as sencilla de usar y m as potente. Usa repositorios: sitios centralizados donde se almacenan paquetes Las direcciones de los repositorios se indican en el chero /etc/apt/sources.list Los repositorios de ubuntu se dividen en 4 componentes
1 2 3 4

Main. Soportado ocialmente por ubuntu. Libre Restricted. Soportado ocialmente. No libre Universe. No soportado ocialmente. Libre Multiverse. No soportado ocialmente. No libre

Adem as, se pueden a nadir componentes de terceros

GSyC - 2010

Administraci on de Servicios y Aplicaciones

17

Instalaci on de paquetes

apt

# deb cdrom:[Ubuntu 6.06 _Dapper Drake_ - Release i386 (20060531)]/ dapper main deb http://archive.ubuntu.com/ubuntu edgy main restricted deb http://security.ubuntu.com/ubuntu edgy-security main restricted deb http://archive.ubuntu.com/ubuntu edgy-updates main restricted ## All community supported packages, including security- and other updates deb http://archive.ubuntu.com/ubuntu edgy universe multiverse deb http://security.ubuntu.com/ubuntu edgy-security universe multiverse deb http://archive.ubuntu.com/ubuntu edgy-updates universe multiverse # Google Picasa for Linux repository deb http://dl.google.com/linux/deb/ stable non-free

GSyC - 2010

Administraci on de Servicios y Aplicaciones

18

Instalaci on de paquetes

apt

Uso b asico de apt


El primer front-end fue dselect, muy potente y con un p esimo interfaz de usuario Desde l nea de mandatos se puede usar apt-get A partir de 2005 se recomienda usar aptitude, que tiene la misma sintaxis que apt-get aptitude update apt-get update Consulta el repositorio para saber qu e paquetes hay disponibles (no instala nada) aptitude safe-upgrade apt-get upgrade Actualiza todos los paquetes instalados a la u ltima versi on disponible (sin cambiar de distribuci on) aptitude install paquete apt-get install paquete Instala un paquete (resolviendo conictos) ERROR FRECUENTE: Hacer solo aptitude update no actualiza los paquetes. Normalmente lo que queremos es sudo aptitude update; sudo aptitude upgrade
GSyC - 2010 Administraci on de Servicios y Aplicaciones 19

Instalaci on de paquetes

apt

Aunque indiquemos a nuestro sistema de paqueter a que instale la u ltima versi on de un paquete, tal vez no sea posible. Se dice que el paquete est a retenido (hold) El paquete depende de otro no incluido en la distribuci on actual El administrador lo ha retenido a mano (no le gusta, da problemas...) Un paquete retenido para apt-get puede no estar retenido para aptitude. Y viceversa.
aptitude: sudo aptitude hold nombre_del paquete sudo aptitude unhold nombre_del paquete apt-get: sudo install feta sudo feta hold nombre_del paquete sudo feta unhold nombre_del paquete

GSyC - 2010

Administraci on de Servicios y Aplicaciones

20

Instalaci on de paquetes

apt

aptitude remove paquete Desinstalar un paquete (resolviendo conictos) aptitude --purge remove paquete Purgar un paquete (resolviendo conictos) aptitude dist-upgrade Actualiza agresivamente todos los paquetes instalados, lo que puede incluir el paso a la versi on m as reciente de la distribuci on aptitude clean Borrar las copias descargadas de los .deb

GSyC - 2010

Administraci on de Servicios y Aplicaciones

21

Instalaci on de paquetes

apt

Otros mandatos interesantes

En los repositorios hay muchos paquetes C omo saber cu al necesito? aptitude search cadena Buscar una cadena en el nombre o descripci on de un paquete. Indica el estado del paquete (instalado, no instalado, borrado...) aptitude show paquete Muestra descripci on del paquete dpkg-reconfigure paquete Recongurar un paquete

GSyC - 2010

Administraci on de Servicios y Aplicaciones

22

Localizar cheros

Localizar cheros

whereis find find . | grep fichero locate updatedb

Busca un ejecutable en PATH Busca un chero Filtra la b usqueda

Busca un chero (en una base de datos) Actualiza la base de datos

GSyC - 2010

Administraci on de Servicios y Aplicaciones

23

Hora. Parada del sistema

Hora. Parada del sistema

shutdown -h now halt Detiene el sistema shutdown -r now reboot Reinicia el sistema sleep n Duerme la shell segundos sleep 28800 ; halt Detiene la m aquina al cabo de 8 horas

GSyC - 2010

Administraci on de Servicios y Aplicaciones

24

Hora. Parada del sistema

Poner fecha y hora:


Autom aticamente: Demonio ntpd, cliente de Network Time Protocol Manualmente date -s AAAA-MM-DD date -s HH:MM

GSyC - 2010

Administraci on de Servicios y Aplicaciones

25

Hora. Parada del sistema

Casi siempre hay varias soluciones para una tarea. Generales o particulares find . |grep cadena find . -name cadena\* sleep 60 | shutdown -h now shutdown -h 1 etc, etc Todas sirven. No? Cu al es mejor? Cuando somos novatos en un sistema, con una soluci on general sabremos resolver ese problema y otros parecidos Cuando conocemos mejor un sistema y dominamos las soluciones generales, las soluciones particulares suelen ser m as ecientes

GSyC - 2010

Administraci on de Servicios y Aplicaciones

26

Administraci on de los demonios

Administraci on de los demonios

Los demonios son programas relativamente normales, con algunas particularidades Ofrecen servicios (impresi on, red, ejecuci on peri odica de tareas, logs, etc) Suelen estar creados por el proceso de arranque init (ppid=1) Sus nombres suelen acaban en d Se ejecutan en background No est an asociados a un usuario en una terminal Se inician y se detienen de manera uniforme

GSyC - 2010

Administraci on de Servicios y Aplicaciones

27

Administraci on de los demonios

El c odigo de un demonio puede estar en cualquier lugar del sistema de cheros. Pero siempre se coloca en /etc/init.d/midemonio un script para manejarlo /etc/init.d/midemonio start Inicia el servicio /etc/init.d/midemonio stop Detiene el servicio /etc/init.d/midemonio restart Detiene e inicia el servicio. Suele ser necesario para releer los cheros de conguraci on si se han modicado (/etc/midemonio) Con frecuencia tambi en est a disponible /etc/init.d/midemonio reload Lee el chero de conguraci on sin detener el servicio

GSyC - 2010

Administraci on de Servicios y Aplicaciones

28

Administraci on de los demonios

Niveles de ejecuci on

Niveles de ejecuci on

Qu e demonios se ponen en marcha cuando se inicia el sistema? La mayor a de los Linux usan el sistema de arranque de System V BSD tiene su propio sistema (que tambi en lo emplea Slackware) Un Nivel de ejecuci on (runlevel) es una conguraci on de arranque. Para cada nivel, se dene un conjunto de demonios que deben ejecutarse

GSyC - 2010

Administraci on de Servicios y Aplicaciones

29

Administraci on de los demonios

Niveles de ejecuci on

Supongamos una f abrica. Diferentes niveles (estados), no secuenciales. Al entrar en un nivel se apagan ciertos sistemas y se encienden otros
Nivel 1 - Noche Al entrar en este nivel apagar 01 motores 02 luces principales Al entrar en este nivel encender 01 alarma 02 luces_auxiliares Nivel 2 - Producci on normal Al entrar en este nivel apagar 01 alarma 02 luces auxiliares Al entrar en este nivel encender .... Nivel 3- Mantenimiento Al entrar en este nivel apagar 01 motores ....

GSyC - 2010

Administraci on de Servicios y Aplicaciones

30

Administraci on de los demonios

Niveles de ejecuci on

El responsable de conectar y desconectarlo todo ser a el vigilante de seguridad, as que hay que dejarle unas instrucciones muy claras:
ordinal C odigo S10motor-ppal S20motor-aux K10alarma [encender|apagar] Signicado 1o encender motor principal 2o encender motor auxiliar 1o apagar alarma nombre_del_sistema Mandato /etc/init.d/motor-ppal start /etc/init.d/motor-aux start /etc/init.d/alarma stop

S may uscula: Conectar (Start) K may uscula: Desconectar (Kill) Dentro de cada nivel, las tareas se ordenan desde 00 hasta 99 (con un cero a la izquierda para los valores del 0 al 9)

GSyC - 2010

Administraci on de Servicios y Aplicaciones

31

Administraci on de los demonios

Niveles de ejecuci on

El vigilante de seguridad es el proceso init. Hay un directorio por nivel: Debian y derivados
/etc/rc0.d /etc/rc1.d ...

Red Hat y derivados


/etc/rc.d/rc0.d /etc/rc.d/rc1.d ...

Hay otro directorio cuyos servicios se activan siempre, antes de los del nivel correspondiente
/etc/rcS.d

GSyC - 2010

Administraci on de Servicios y Aplicaciones

32

Administraci on de los demonios

Niveles de ejecuci on

Dentro de los directorios hay enlaces simb olicos Apuntan al script en /etc/init.d que controla el demonio Cada nombre del enlace indica conexi on/desconexi on, ordinal y script a manejar Cuando entra en el nivel N, el proceso init se encarga de Ejecutar por orden todos los scripts en /etc/rcN.d que empiezen por K (de Kill). Les pasa el par ametro stop A continuaci on, ejecuta por orden todos los scripts en /etc/rcN.d que empiezen por S (de Start). Les pasa el par ametro start Debian hace optimizaciones: Solo enciende lo apagado, solo apaga lo encendido

GSyC - 2010

Administraci on de Servicios y Aplicaciones

33

Administraci on de los demonios

Niveles de ejecuci on

Niveles comunes:
0 1 2-5 6 Halt (Parada del sistema) Modo monousuario, usuario root, sin red Diversos modos multiusuario Reboot (Reiniciar el sistema)

Red Hat y derivados:


2 3 4 5 No se utiliza (definible por el administrador) Modo multiusuario completo, solo consola de texto No se utiliza (definible por el administrador) Modo multiusuario completo, con X Window

Debian y derivados:
No hay diferencia del 2 al 5. Se usa el 2 por omisi on, el resto queda libre para el administrador

who -r runlevel
GSyC - 2010

Indica el nivel de ejecuci on actual Indica el nivel de ejecuci on actual


Administraci on de Servicios y Aplicaciones 34

Administraci on de los demonios

Niveles de ejecuci on

El nivel por omisi on se puede cambiar con telinit En la mayor a de los Unix todo este proceso se congura en /etc/inittab
Pero Ubuntu usa upstart, que se congura en /etc/event.d (aunque si hay un /etc/inittab, lo segur a

GSyC - 2010

Administraci on de Servicios y Aplicaciones

35

Administraci on de los demonios

Niveles de ejecuci on

Ejemplo del contenido de /etc/rc2.d/


S10acpid S10powernowd.early S10sysklogd S10wacom-tools S18hplip S19cupsys S20apmd S20festival S20postfix S20powernowd S20rsync S20ssh S89atd S89cron S90binfmt-support S98usplash

Ejemplo del contenido de /etc/rc6.d/


K19cupsys K19setserial K20dbus K20laptop-mode K25mdadm K25nfs-user-server K30etc-setserial K50alsa-utils S15wpa-ifupdown S20sendsigs S30urandom S31umountnfs.sh S50lvm S50mdadm-raid S60umountroot S90halt

GSyC - 2010

Administraci on de Servicios y Aplicaciones

36

Tareas peri odicas

Tareas peri odicas

Automatizan la gesti on del sistema Fiabilidad. Protegen frente a olvidos Se ejecutan en el momento preciso (d a y hora) Ayudan o detectan situaciones de error Facilitan el control del sistema Programas:
cron anacron. Permite ejecutar algo programado para un momento en que el sistema estaba apagado at. Ejecuta una tarea a la hora indicada por stdin

GSyC - 2010

Administraci on de Servicios y Aplicaciones

37

Tareas peri odicas

Usos de las tareas peri odicas Generaci on de informes peri odicos (n de mes, etc.) Estado de las comunicaciones Borrado de cheros temporales (/tmp, /var/tmp) Tareas de respaldo de informaci on Control de los procesos presentes en el sistema Parada del sistema seg un horarios de trabajo Recordatorios Descarga de software en horarios de poco tr aco

GSyC - 2010

Administraci on de Servicios y Aplicaciones

38

Tareas peri odicas

cron

cron

Es uno de los demonios esenciales de un sistema, siempre est a arrancado (/usr/sbin/cron) Se encarga de ejecutar tareas programadas para un determinado momento, bajo la identidad del usuario que lo program o y con precisi on de 1 minuto Se controla a trav es del uso de determinados cheros de conguraci on (solo para el superusuario) y mediante el uso de la orden crontab (para todos los usuarios).

GSyC - 2010

Administraci on de Servicios y Aplicaciones

39

Tareas peri odicas

Formato de la tabla de cron

Formato de la tabla de cron

SHELL=/bin/bash MAILTO=koji PATH=/usr/local/bin:/usr/bin:/bin # m h dayofmonth month dow 16 * * * * 0 9 4 * * 0 15,18 * * 1-5

command ping 193.147.71.119 -c 1 echo "regar plantas" echo "hora de salir" | wall

m: Minuto. De 0 a 59 h: Hora. De 0 a 23 dayofmonth: de 0 a 31 month: de 1 a 12 dayofweek: de 0 a 7. 0=7=domingo, 1=lunes, 2=martes. . . Cada l nea es una tarea

GSyC - 2010

Administraci on de Servicios y Aplicaciones

40

Tareas peri odicas

Formato de la tabla de cron

* 1-4 1,4 */3 1-15/3

-> -> -> -> ->

todos 1,2,3 y 4 1 y 4 cada 3 los primeros 15, cada 3

La tabla de cron debe acabar con una l nea en blanco En los rangos, es necesario que el primer valor sea menor que el segundo Si especico dia de la semana y dia del mes, la tarea se ejecuta cuando cualquiera de los dos coincide

GSyC - 2010

Administraci on de Servicios y Aplicaciones

41

Tareas peri odicas

Formato de la tabla de cron

Momentos especiales (solo Linux)

En lugar de especicar los 5 primeros campos, se puede usar una cadena de las siguientes: @reboot: Se ejecuta al iniciarse la m aquina. @yearly: Se ejecuta una vez al a no. @monthly: Se ejecuta una vez al mes. @weekly: Se ejecuta una vez por semana. @daily: Se ejecuta una vez al d a. @hourly: Se ejecuta una vez por hora.

GSyC - 2010

Administraci on de Servicios y Aplicaciones

42

Tareas peri odicas

Formato de la tabla de cron

Entorno de ejecuci on de las tareas


Cada tarea de cron se ejecuta por una shell /bin/sh. (a menos que denamos otra cosa en SHELL) Causa de errores frecuentes: El PATH con el que cron busca el mandato no es el del usuario, sino /usr/bin:/bin. Soluciones:
Indicar PATH en la tabla Especicar el path absoluto del mandato (p.e. /usr/local/bin/mimandato)

Quien ejecuta las tareas no es el due no de la tabla, sino cron. Aunque emplea su id y algunas variables de entorno del due no de la tabla, como LOGNAME y HOME. La entrada est andar de cada tarea se redirige de /dev/null, la salida est andar y la de error se env an por correo electr onico al propietario de la tarea (si hay servidor de correo)
GSyC - 2010 Administraci on de Servicios y Aplicaciones 43

Tareas peri odicas

Formato de la tabla de cron

Se pueden poner comentarios con # pero no en cualquier posici on, solo siguiendo el patr on principio de l nea, 0 o m as espacios, almohadilla En las asignaciones variable=valor, el valor no se expande. Por tanto, no pueden hacerse cosas como p.e. PATH = $HOME/bin:$PATH

GSyC - 2010

Administraci on de Servicios y Aplicaciones

44

Tareas peri odicas

Formato de la tabla de cron

Ejercicio
Supongamos que Queremos ejecutar una tarea, cada minuto, a la hora de comer (de 14:00 a 15:00) Queremos ejecutar una tarea, cada minuto, a la hora de dormir (de 23:00 a 7:00) Queremos ejecutar una tarea los Martes y 13 Es correcta esta tabla?
# m * * 0 h dayofmonth 14-15 * 23-7 * 9 13 month dow * * * * * 2 command echo "Estamos comiendo" echo "Estamos durmiendo" echo "Hoy es Martes y 13"

GSyC - 2010

Administraci on de Servicios y Aplicaciones

45

Tareas peri odicas

Formato de la tabla de cron

No! Todas las entradas de la tabla ten an alg un error


# m * * 0 h dayofmonth 14-15 * 23-7 * 9 13 month dow * * * * * 2 command echo "OJO: de 14:00 a 15:59" echo "RANGO ILEGAL, 23>7" echo "Hoy es Martes o es 13"

GSyC - 2010

Administraci on de Servicios y Aplicaciones

46

Tareas peri odicas

Edici on de la tabla de cron

Edici on de la tabla de cron

crontab -e Edita la tabla de cron del usuario. Usa el editor por omisi on (normalmente vim). Podemos usar otro cambiando la variable de entorno EDITOR crontab -l Muestra tabla de cron crontab mi_tabla El chero mi tabla pasa a ser nueva tabla de cron

GSyC - 2010

Administraci on de Servicios y Aplicaciones

47