Proyecto

General

Perfil

« Anterior | Siguiente » 

Revisión 492

Tarea instala-flash modificada para optimizar la actualización de flash

Ver diferencias:

tareas_puppet/comunes/instala-flash/leeme.txt
BREVE DESCRIPCION DE LA EJECUCION DEL MODULO
--------------------------------------------
Destino : Servidores de aula, portátiles y workstations con Debian Squeeze.
Acción : Instala y configura el plugin de flash.
Notas : Este módulo puppet está pensado para instalar la versión de flash que corresponda a la arquitectura del cliente.
Descargar previamente los paquetes de flash de 32 y 64 bits y almacenarlos en el directorio /var/www/ficheros/flash
del servidor nfs.
La tarea está pensada para instalar cualquier nueva versión de flash sin tener que modificar completamente la tarea,
cambiando tan sólo los nombres de los paquetes a descargar.
INSTRUCCIONES DE INSTALACION DEL MODULO
---------------------------------------
* Desempaquetar en /etc/puppet/modules
* Editar fichero .pp de la tarea y cambiar los valores de las variables:
$servidor (si almacenamos los paquetes que debe instalar la tarea en otro servidor distinto del nfs)
$rutadescarga (si almacenamos los paquetes en otra ruta diferente de ficheros/java)
$paquete (Cambiar los nombres por la versión actual de los paquetes que queramos instalar)
$servidorweb = "servidor"
$rutadescarga = "ficheros/flash"
case $architecture {
amd64: { $paquete = "install_flash_player_11_linux_amd64.tar.gz" }
i386: { $paquete = "install_flash_player_11_linux_i386.tar.gz" }
* Incluir la linea include "nombre_modulo" en /etc/puppet/manifests/classes/clase-especifica.pp, si vamos a
usar el módulo en servidores LTSP.
* Incluir la linea include "nombre_modulo" en la clase específica de portátiles en la que queramos usarlo.
* Incluir la linea include "nombre_modulo" en la clase específica para workstations.
-------------------------------------------------------------------------------------------------------------
Creado por:
Esteban M. Navas Martín
Administrador informático del IES Valle del Jerte.
Plasencia
10-Octubre-2012
tareas_puppet/comunes/instala-flash/files/actualizaflash
#!/bin/bash
http_proxy=http://ldap:3128 update-flashplugin-nonfree --install
tareas_puppet/comunes/instala-flash/leeme
BREVE DESCRIPCION DE LA EJECUCION DEL MODULO
--------------------------------------------
Tarea para actualizar el plugin de flash en servidores de terminales, portátiles y workstation.
Esta tarea instala el paquete flashplugin-nonfree. Una vez instalado, actualiza el plugin.
La actualización del plugin se realiza ejecutando un script que coloco en:
/usr/local/sbin/actualizaflash
Este script descarga el plugin de flash desde el proxy de ldap, por lo que es necesario aumentar el tamaño máximo de objeto cacheable
en el archivo /etc/squid/squid-cache.conf, por ejemplo a 8MB.
Para eso cambiamos el valor del maximum_object_size en el archivo /etc/squid/squid-cache.conf del servidor ldap:
maximum_object_size 4096 KB
por:
maximum_object_size 8192 KB
Y hacemos que squid relea los ficheros de configuración:
/etc/init.d/squid reload
Si se quiere, siempre se puede volver a forzar la ejecución de la tarea haciend algún cambio en el archivo:
/etc/puppet/modules/instala-flash/files/upgrade_flash
INSTRUCCIONES DE INSTALACION DEL MODULO
---------------------------------------
Desempaquetar en /etc/puppet/modules
* Incluir la linea include "nombre_modulo" en /etc/puppet/manifests/classes/clase-especifica-squeeze.pp si lo vamos a aplicar a servidores ltsp con squeeze.
* Incluir la línea include "nombre_modulo" en /etc/puppet/manifests/clases/especifica-miniportatil-2011.pp si lo vamos a aplicar a portátiles.
* Incluir la línea include "nombre_modulo" en /etc/puppet/manifests/clases/especifica-orkstation.pp si lo vamos a aplicar a equipos workstation.
------------------------------------------------
11-Marzo-2013.
Esteban M. Navas Martín
Administrador informático
IES Valle del Jerte - Plasencia
tareas_puppet/comunes/instala-flash/manifests/init.pp
class instala-flash {
$servidorweb = "servidor"
$rutadescarga = "ficheros/flash"
case $architecture {
amd64: { $paquete = "install_flash_player_11_linux_amd64.tar.gz" }
i386: { $paquete = "install_flash_player_11_linux_i386.tar.gz" }
package { "flashplugin-nonfree":
ensure => latest
}
file { "/var/cache/flashplugin-nonfree":
ensure => directory,
mode => 755
}
file { "/usr/lib/flashplugin-nonfree":
ensure => directory,
mode => 755
}
file {"/etc/upgrade_flash":
source => "puppet://puppetinstituto/instala-flash/upgrade_flash"
}
file { "/root/flash":
ensure => directory,
mode => 755
}
exec { "/usr/bin/wget --limit-rate=2.5m -O /var/cache/flashplugin-nonfree/$paquete http://$servidorweb/$rutadescarga/$paquete":
alias => "descargar-flash",
require => File["/var/cache/flashplugin-nonfree","/root/flash","/usr/lib/flashplugin-nonfree"],
creates => "/var/cache/flashplugin-nonfree/$paquete",
notify => Exec["descomprime-flash"]
}
file {"/usr/local/sbin/actualizaflash":
source => "puppet://puppetinstituto/instala-flash/actualizaflash"
}
exec { "descomprime-flash":
command => "/bin/tar xfvz /var/cache/flashplugin-nonfree/$paquete -C /root/flash/",
require => Exec["descargar-flash"],
creates => "/root/flash/libflashplayer.so",
notify => Exec["copia-usr"]
}
file { "/usr/lib/flashplugin-nonfree/libflashplayer.so":
alias => "instalar-flash",
ensure => file,
owner => root, group => root,
mode => 644,
source => "/root/flash/libflashplayer.so",
require => [Exec["copia-usr"], File["/usr/lib/flashplugin-nonfree"]],
}
exec { "/bin/cp -fr /root/flash/usr/* /usr/":
alias => "copia-usr",
require => [Exec["descargar-flash"], File["/usr/lib/flashplugin-nonfree"]],
creates => "/usr/bin/flash-player-properties",
refreshonly => true
}
exec { "upgrade_flash":
command => '/usr/local/sbin/actualizaflash',
subscribe => File["/etc/upgrade_flash","/usr/local/sbin/actualizaflash"],
refreshonly => true,
require => Package ["flashplugin-nonfree"]
}
}

Exportar a: Unified diff