Administracion de Servidores.pdf
-
Upload
flavia-choque -
Category
Documents
-
view
11 -
download
2
Transcript of Administracion de Servidores.pdf
Administracion de Servicios y Aplicaciones
Departamento de Sistemas Telematicos y Computacion (GSyC)
gsyc-profes (arroba) gsyc.es
Febrero de 2010
GSyC - 2010 Administracion de Servicios y Aplicaciones 1
c©2010 GSyCAlgunos derechos reservados.
Este trabajo se distribuye bajo la licenciaCreative Commons Attribution Share-Alike 3.0
GSyC - 2010 Administracion de Servicios y Aplicaciones 2
Empaquetado de ficheros
Empaquetado de ficheros
Almacenar varios ficheros en uno solo, no necesariamente concompresionUtilidad:
Mas comodo de manejar (copiar, enviar por correo, etc)
Conservar metainformacion (permisos) o inclusomayusculas/minusculas, tildes, etc si los ficheros van a pasarpor un sistema de ficheros diferente
ISO9660 (cdrom)vfat (Windows, discos externos, pendrives)ntfs (Windows)
GSyC - 2010 Administracion de Servicios y Aplicaciones 3
Empaquetado de ficheros
gzip
Comprime o descomprime 1 ficheroExtension: fichero.z fichero.gz
Comprimir y descomprimir (borrando el original):gzip ficherogunzip fichero.gz
GSyC - 2010 Administracion de Servicios y Aplicaciones 4
Empaquetado de ficheros
Comprimir y descomprimir (manteniendo el original):gzip -c fichero > fichero.gzzcat fichero.gz > ficherozcat fichero.gz | less
GSyC - 2010 Administracion de Servicios y Aplicaciones 5
Empaquetado de ficheros
tar + gzip
Comprime o descomprime varios ficheros, directoriosExtension: 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 opcion ztar -cvf fichero.tar *.jpgtar -xvf fichero.tar
GSyC - 2010 Administracion de Servicios y Aplicaciones 6
Empaquetado de ficheros
WinZip
A causa de unas licencias restrictivas, originalmente no habıacompresores para Linux. (Pero las aplicaciones Windows sabendescomprimir .tgz)
Descomprimir: unzip fichero.zip
GSyC - 2010 Administracion de Servicios y Aplicaciones 7
Empaquetado de ficheros
bz2
Formato que ofrece compresion mas alta que .gz, (empleando masCPU y memoria)
Comprimir y descomprimir 1 fichero, borrando el originalbzip2 ficherobunzip2 fichero.bz2
Comprimir y descomprimir 1 fichero, manteniendo el originalbzip2 -c fichero > fichero.bz2bunzip2 -c fichero.bz2 > fichero
Comprimir y descomprimir varios ficheros, manteniendo eloriginaltar -cvjf fichero.bz2 fichero1 fichero2tar -xvjf fichero.bz2
GSyC - 2010 Administracion de Servicios y Aplicaciones 8
Empaquetado de ficheros
Disquetes
Podemos montar la disquetera como un sistema de ficherosUnix
Pero suele ser mas practico copiar un .tgz en modo msdosmdir a:mcopy fichero a:mcopy a:fichero
GSyC - 2010 Administracion de Servicios y Aplicaciones 9
Empaquetado de ficheros
Fragmentacion de Ficheros
Trocearsplit -b 1440k cancion.mp3 trozo
Recomponercat trozo* > cancion.mp3
split -b 100MB mi_pelicula.avi mi_pelicula.avi
GSyC - 2010 Administracion de Servicios y Aplicaciones 10
Instalacion de paquetes
Instalacion de paquetes
Metodo clasico para instalar programas:Formato .tgzDescomprimir y seguir las instrucciones del fichero READMESuele ser del estilo de
./configuremake compilemake install
Sistema de gestion de paquetesColeccion de herramientas que automatizan la instalacion,actualizacion y eliminacion de programas.
GSyC - 2010 Administracion de Servicios y Aplicaciones 11
Instalacion de paquetes
Gestion de paquetes, Debian y derivadosPaquetes en formato .debSe pueden manejar directamente con dpkg, o conapt-get, aptitude, dselect, o synaptic
Gestion de paquetes, RedHat y derivadosPaquetes en formato .rpmSe pueden manejar directamente con rpm, o con up2date oyum
GSyC - 2010 Administracion de Servicios y Aplicaciones 12
Instalacion de paquetes El sistema de paquetes de Debian
El sistema de paquetes de Debian
Los paquetes mantienen dependencias entre sı, de forma que lainstalacion de un paquete puede:
depender de que se instale tambien otro
recomendar que se instale tambien otro
sugerir que se instale tambien otro
entrar en conflicto con otro actualmente instalado
GSyC - 2010 Administracion de Servicios y Aplicaciones 13
Instalacion de paquetes dpkg
dpkg
Es la herramienta basica de gestion de paquetes, que es usadapor las otras (dselect, apt-get, aptitude, synaptic).
Usos principales:
dpkg -i paquete_VVV-RRR.debInstala un paquetedpkg -r paqueteDesinstala (remove) un paquete, elimina todo excepto losficheros de configuraciondpkg -P paquetePurga un paquete, eliminando incluso los ficheros deconfiguracion
Tiene muchas opciones. Puede esquivarse el esquema dedependencias (peligroso) con las opciones que empiezan por--force-...
GSyC - 2010 Administracion de Servicios y Aplicaciones 14
Instalacion de paquetes dpkg
Versiones de Ubuntu:
nombre a~no.mes
Warty Warthog 4.10Hoary Hedgehog 5.04Breezy Badger 5.10Dapper Drake 6.06 LTSEdgy Eft 6.10Feisty Fawn 7.04Gutsy Gibbon 7.10Hardy Heron 8.04 LTSIntrepid Ibex 8.10Jaunty Jackalope 9.04Karmic Koala 9.10Lucid Lynx 10.04 LTS
Version estandar: soportada 18 mesesLTS: Long Term Support: 3 anos en escritorio y 5 en servidor
GSyC - 2010 Administracion de Servicios y Aplicaciones 15
Instalacion de paquetes dpkg
Ubuntu Desktop / Ubuntu Server Edition / Ubuntu Server EditionJeOSVariantes de Ubuntu: Kubuntu, Xubuntu, Edubuntu, UbuntuNetbook Edition, Ubuntu MID Edition, Ubuntu Studio
GSyC - 2010 Administracion de Servicios y Aplicaciones 16
Instalacion de paquetes apt
apt
La herramienta mas sencilla de usar y mas potente.
Usa repositorios: sitios centralizados donde se almacenanpaquetes
Las direcciones de los repositorios se indican en el fichero/etc/apt/sources.list
Los repositorios de ubuntu se dividen en 4 componentes1 Main. Soportado oficialmente por ubuntu. Libre2 Restricted. Soportado oficialmente. No libre3 Universe. No soportado oficialmente. Libre4 Multiverse. No soportado oficialmente. No libre
Ademas, se pueden anadir componentes de terceros
GSyC - 2010 Administracion de Servicios y Aplicaciones 17
Instalacion de paquetes apt
# deb cdrom:[Ubuntu 6.06 _Dapper Drake_ - Release i386 (20060531)]/ dapper main restricted
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 Administracion de Servicios y Aplicaciones 18
Instalacion de paquetes apt
Uso basico de apt
El primer front-end fue dselect, muy potente y con un pesimointerfaz de usuarioDesde lınea de mandatos se puede usar apt-getA partir de 2005 se recomienda usar aptitude, que tiene la mismasintaxis que apt-get
aptitude update ≡ apt-get updateConsulta el repositorio para saber que paquetes haydisponibles (no instala nada)aptitude safe-upgrade ≡ apt-get upgradeActualiza todos los paquetes instalados a la ultima versiondisponible (sin cambiar de distribucion)aptitude install paquete ≡ apt-get install paqueteInstala un paquete (resolviendo conflictos)
ERROR FRECUENTE: Hacer solo aptitude update no actualiza lospaquetes. Normalmente lo que queremos essudo aptitude update; sudo aptitude upgrade
GSyC - 2010 Administracion de Servicios y Aplicaciones 19
Instalacion de paquetes apt
Aunque indiquemos a nuestro sistema de paqueterıa que instale laultima version de un paquete, tal vez no sea posible. Se dice que elpaquete esta retenido (hold)
El paquete depende de otro no incluido en la distribucionactual
El administrador lo ha retenido a mano (no le gusta, daproblemas...)Un paquete retenido para apt-get puede no estar retenidopara aptitude. Y viceversa.
aptitude:sudo aptitude hold nombre_del paquetesudo aptitude unhold nombre_del paqueteapt-get:sudo install fetasudo feta hold nombre_del paquetesudo feta unhold nombre_del paquete
GSyC - 2010 Administracion de Servicios y Aplicaciones 20
Instalacion de paquetes apt
aptitude remove paqueteDesinstalar un paquete (resolviendo conflictos)
aptitude --purge remove paquetePurgar un paquete (resolviendo conflictos)
aptitude dist-upgradeActualiza agresivamente todos los paquetes instalados, lo quepuede incluir el paso a la version mas reciente de ladistribucion
aptitude cleanBorrar las copias descargadas de los .deb
GSyC - 2010 Administracion de Servicios y Aplicaciones 21
Instalacion de paquetes apt
Otros mandatos interesantes
En los repositorios hay muchos paquetes ¿Como saber cualnecesito?
aptitude search cadenaBuscar una cadena en el nombre o descripcion de un paquete.Indica el estado del paquete (instalado, no instalado,borrado...)
aptitude show paqueteMuestra descripcion del paquete
dpkg-reconfigure paqueteReconfigurar un paquete
GSyC - 2010 Administracion de Servicios y Aplicaciones 22
Localizar ficheros
Localizar ficheros
whereis Busca un ejecutable en PATH
find Busca un ficherofind . | grep fichero Filtra la busqueda
locate Busca un fichero (en una base de datos)
updatedb Actualiza la base de datos
GSyC - 2010 Administracion de Servicios y Aplicaciones 23
Hora. Parada del sistema
Hora. Parada del sistema
shutdown -h now ≡ haltDetiene el sistema
shutdown -r now ≡ rebootReinicia el sistema
sleep nDuerme la shell segundos
sleep 28800 ; haltDetiene la maquina al cabo de 8 horas
GSyC - 2010 Administracion de Servicios y Aplicaciones 24
Hora. Parada del sistema
Poner fecha y hora:
Automaticamente: Demonio ntpd, cliente de Network TimeProtocolManualmentedate -s AAAA-MM-DDdate -s HH:MM
GSyC - 2010 Administracion de Servicios y Aplicaciones 25
Hora. Parada del sistema
Casi siempre hay varias soluciones para una tarea. Generales oparticulares
find . |grep cadenafind . -name cadena\*
sleep 60 | shutdown -h nowshutdown -h 1
etc, etc
Todas sirven. ¿No? ¿Cual es mejor?
Cuando somos novatos en un sistema, con una soluciongeneral sabremos resolver ese problema y otros parecidos
Cuando conocemos mejor un sistema y dominamos lassoluciones generales, las soluciones particulares suelen ser maseficientes
GSyC - 2010 Administracion de Servicios y Aplicaciones 26
Administracion de los demonios
Administracion de los demonios
Los demonios son programas relativamente normales, con algunasparticularidades
Ofrecen servicios (impresion, red, ejecucion periodica detareas, logs, etc)
Suelen estar creados por el proceso de arranque init (ppid=1)
Sus nombres suelen acaban en d
Se ejecutan en background
No estan asociados a un usuario en una terminal
Se inician y se detienen de manera uniforme
GSyC - 2010 Administracion de Servicios y Aplicaciones 27
Administracion de los demonios
El codigo de un demonio puede estar en cualquier lugar del sistemade ficheros. Pero siempre se coloca en /etc/init.d/midemonioun script para manejarlo
/etc/init.d/midemonio startInicia el servicio
/etc/init.d/midemonio stopDetiene el servicio
/etc/init.d/midemonio restartDetiene e inicia el servicio. Suele ser necesario para releerlos ficheros de configuracion si se han modificado(/etc/midemonio)
Con frecuencia tambien esta disponible
/etc/init.d/midemonio reloadLee el fichero de configuracion sin detener el servicio
GSyC - 2010 Administracion de Servicios y Aplicaciones 28
Administracion de los demonios Niveles de ejecucion
Niveles de ejecucion
¿Que demonios se ponen en marcha cuando se inicia elsistema?
La mayorıa de los Linux usan el sistema de arranque deSystem VBSD tiene su propio sistema (que tambien lo empleaSlackware)
Un Nivel de ejecucion (runlevel) es una configuracion dearranque. Para cada nivel, se define un conjunto de demoniosque deben ejecutarse
GSyC - 2010 Administracion de Servicios y Aplicaciones 29
Administracion de los demonios Niveles de ejecucion
Supongamos una fabrica. Diferentes niveles (estados), nosecuenciales. Al entrar en un nivel se apagan ciertos sistemas y seencienden 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 - Produccion 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 Administracion de Servicios y Aplicaciones 30
Administracion de los demonios Niveles de ejecucion
El responsable de conectar y desconectarlo todo sera el vigilante deseguridad, ası que hay que dejarle unas instrucciones muy claras:
ordinal [encender|apagar] nombre_del_sistema
Codigo Significado Mandato
S10motor-ppal 1o encender motor principal /etc/init.d/motor-ppal start
S20motor-aux 2o encender motor auxiliar /etc/init.d/motor-aux start
K10alarma 1o apagar alarma /etc/init.d/alarma stop
S mayuscula: Conectar (Start)K mayuscula: 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 Administracion de Servicios y Aplicaciones 31
Administracion de los demonios Niveles de ejecucion
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 losdel nivel correspondiente
/etc/rcS.d
GSyC - 2010 Administracion de Servicios y Aplicaciones 32
Administracion de los demonios Niveles de ejecucion
Dentro de los directorios hay enlaces simbolicos
Apuntan al script en /etc/init.d que controla el demonio
Cada nombre del enlace indica conexion/desconexion, ordinaly 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 queempiezen por K (de Kill). Les pasa el parametro stop
A continuacion, ejecuta por orden todos los scripts en/etc/rcN.d que empiezen por S (de Start). Les pasa elparametro start
Debian hace optimizaciones: Solo enciende lo apagado, solo apagalo encendido
GSyC - 2010 Administracion de Servicios y Aplicaciones 33
Administracion de los demonios Niveles de ejecucion
Niveles comunes:
0 Halt (Parada del sistema)
1 Modo monousuario, usuario root, sin red
2-5 Diversos modos multiusuario
6 Reboot (Reiniciar el sistema)
Red Hat y derivados:
2 No se utiliza (definible por el administrador)
3 Modo multiusuario completo, solo consola de texto
4 No se utiliza (definible por el administrador)
5 Modo multiusuario completo, con X Window
Debian y derivados:
No hay diferencia del 2 al 5. Se usa el 2 por omision,
el resto queda libre para el administrador
who -r Indica el nivel de ejecucion actualrunlevel Indica el nivel de ejecucion actual
GSyC - 2010 Administracion de Servicios y Aplicaciones 34
Administracion de los demonios Niveles de ejecucion
El nivel por omision se puede cambiar con telinit
En la mayorıa de los Unix todo este proceso se configura en/etc/inittab
Pero Ubuntu usa upstart, que se configura en /etc/event.d(aunque si hay un /etc/inittab, lo segura
GSyC - 2010 Administracion de Servicios y Aplicaciones 35
Administracion de los demonios Niveles de ejecucion
Ejemplo del contenido de /etc/rc2.d/
S10acpid S18hplip S20postfix S89atd
S10powernowd.early S19cupsys S20powernowd S89cron
S10sysklogd S20apmd S20rsync S90binfmt-support
S10wacom-tools S20festival S20ssh S98usplash
Ejemplo del contenido de /etc/rc6.d/
K19cupsys K25mdadm S15wpa-ifupdown S50lvm
K19setserial K25nfs-user-server S20sendsigs S50mdadm-raid
K20dbus K30etc-setserial S30urandom S60umountroot
K20laptop-mode K50alsa-utils S31umountnfs.sh S90halt
GSyC - 2010 Administracion de Servicios y Aplicaciones 36
Tareas periodicas
Tareas periodicas
Automatizan la gestion 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:
cronanacron. Permite ejecutar algo programado para un momentoen que el sistema estaba apagadoat. Ejecuta una tarea a la hora indicada por stdin
GSyC - 2010 Administracion de Servicios y Aplicaciones 37
Tareas periodicas
Usos de las tareas periodicas
Generacion de informes periodicos (fin de mes, etc.)
Estado de las comunicaciones
Borrado de ficheros temporales (/tmp, /var/tmp)
Tareas de respaldo de informacion
Control de los procesos presentes en el sistema
Parada del sistema segun horarios de trabajo
Recordatorios
Descarga de software en horarios de poco trafico
GSyC - 2010 Administracion de Servicios y Aplicaciones 38
Tareas periodicas cron
cron
Es uno de los demonios esenciales de un sistema, siempreesta arrancado (/usr/sbin/cron)
Se encarga de ejecutar tareas programadas para undeterminado momento, bajo la identidad del usuario que loprogramo y con precision de 1 minuto
Se controla a traves del uso de determinados ficheros deconfiguracion (solo para el superusuario) y mediante el uso dela orden “crontab” (para todos los usuarios).
GSyC - 2010 Administracion de Servicios y Aplicaciones 39
Tareas periodicas 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 command
16 * * * * ping 193.147.71.119 -c 1
0 9 4 * * echo "regar plantas"
0 15,18 * * 1-5 echo "hora de salir" | wall
m: Minuto. De 0 a 59h: Hora. De 0 a 23dayofmonth: de 0 a 31month: de 1 a 12dayofweek: de 0 a 7. 0=7=domingo, 1=lunes, 2=martes. . .Cada lınea es una tarea
GSyC - 2010 Administracion de Servicios y Aplicaciones 40
Tareas periodicas Formato de la tabla de cron
* -> todos1-4 -> 1,2,3 y 41,4 -> 1 y 4*/3 -> cada 31-15/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 queel segundo
Si especifico dia de la semana y dia del mes, la tarea seejecuta cuando cualquiera de los dos coincide
GSyC - 2010 Administracion de Servicios y Aplicaciones 41
Tareas periodicas Formato de la tabla de cron
Momentos “especiales” (solo Linux)
En lugar de especificar los 5 primeros campos, se puede usar unacadena de las siguientes:
@reboot: Se ejecuta al iniciarse la maquina.
@yearly: Se ejecuta una vez al ano.
@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 Administracion de Servicios y Aplicaciones 42
Tareas periodicas Formato de la tabla de cron
Entorno de ejecucion de las tareas
Cada tarea de cron se ejecuta por una shell /bin/sh. (amenos que definamos otra cosa en SHELL)
Causa de errores frecuentes: El PATH con el que cron buscael mandato no es el del usuario, sino /usr/bin:/bin.Soluciones:
Indicar PATH en la tablaEspecificar el path absoluto del mandato (p.e./usr/local/bin/mimandato)
Quien ejecuta las tareas no es el dueno de la tabla, sino cron.Aunque emplea su id y algunas variables de entorno del duenode la tabla, como LOGNAME y HOME.
La entrada estandar de cada tarea se redirige de /dev/null,la salida estandar y la de error se envıan por correo electronicoal propietario de la tarea (si hay servidor de correo)
GSyC - 2010 Administracion de Servicios y Aplicaciones 43
Tareas periodicas Formato de la tabla de cron
Se pueden poner comentarios con # pero no en cualquierposicion, solo siguiendo el patron principio de lınea, 0 o masespacios, 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 Administracion de Servicios y Aplicaciones 44
Tareas periodicas Formato de la tabla de cron
Ejercicio
Supongamos que
Queremos ejecutar una tarea, cada minuto, a la hora decomer (de 14:00 a 15:00)
Queremos ejecutar una tarea, cada minuto, a la hora dedormir (de 23:00 a 7:00)
Queremos ejecutar una tarea los Martes y 13
¿Es correcta esta tabla?
# m h dayofmonth month dow command* 14-15 * * * echo "Estamos comiendo"* 23-7 * * * echo "Estamos durmiendo"0 9 13 * 2 echo "Hoy es Martes y 13"
GSyC - 2010 Administracion de Servicios y Aplicaciones 45
Tareas periodicas Formato de la tabla de cron
¡No! Todas las entradas de la tabla tenıan algun error
# m h dayofmonth month dow command* 14-15 * * * echo "OJO: de 14:00 a 15:59"* 23-7 * * * echo "RANGO ILEGAL, 23>7"0 9 13 * 2 echo "Hoy es Martes o es 13"
GSyC - 2010 Administracion de Servicios y Aplicaciones 46
Tareas periodicas Edicion de la tabla de cron
Edicion de la tabla de cron
crontab -eEdita la tabla de cron del usuario. Usa el editor por omision(normalmente vim). Podemos usar otro cambiando la variablede entorno EDITOR
crontab -lMuestra tabla de cron
crontab mi_tablaEl fichero mi tabla pasa a ser nueva tabla de cron
GSyC - 2010 Administracion de Servicios y Aplicaciones 47