Beruflich Dokumente
Kultur Dokumente
Febrero de 2010
GSyC - 2010
c 2010 GSyC Algunos derechos reservados. Este trabajo se distribuye bajo la licencia Creative Commons Attribution Share-Alike 3.0
GSyC - 2010
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
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
Empaquetado de cheros
Comprimir y descomprimir (manteniendo el original): gzip -c fichero > fichero.gz zcat fichero.gz > fichero zcat fichero.gz | less
GSyC - 2010
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
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
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
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
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
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
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
12
Instalaci on de paquetes
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
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
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
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
GSyC - 2010
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
18
Instalaci on de paquetes
apt
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
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
21
Instalaci on de paquetes
apt
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
22
Localizar cheros
Localizar cheros
GSyC - 2010
23
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
24
GSyC - 2010
25
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
26
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
27
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
28
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
29
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
30
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
31
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 ...
Hay otro directorio cuyos servicios se activan siempre, antes de los del nivel correspondiente
/etc/rcS.d
GSyC - 2010
32
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
33
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)
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
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
35
Niveles de ejecuci on
GSyC - 2010
36
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
37
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
38
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
39
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
40
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
41
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
42
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
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
44
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
45
GSyC - 2010
46
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
47