15 may 2013

Instalar paquetes que requieren respuesta del usuario de forma desatendida

A veces queremos instalar un paquete que requiere respuestas por parte del usuario para su instalación, pero queremos que la instalación se realice de forma desatendida. 

Una forma de solucionar este problema es usar preseed, es decir: preestablecer las respuestas en un archivo, det tal manera que al realizar la instalación, el sistema no pregunte al usuario.

Vamos a ver cómo podemos conseguirlo con un ejemplo:

Imaginemos que queremos instalar el paquete ocsinventory-agent de forma desatendida en una serie de clientes, sabiendo que este paquete pregunta al usuario qué método va a usar para inventariar el cliente (local o http), y, en caso de que se elija http, también preguntará la IP del servidor de inventariado.

Lo primero que necesitamos tener instalado es el paquete debconf-utils. Así que, si no lo tenemos instalado aún, lo instalamos:

# apt-get install debconf-utils

Una vez que tenemos las herramientas, instalamos el paquete en cuestión (en el ejemplo: ocsinventory-agent) normalmente:

# apt-get install ocsinventory-agent

Nos hará las preguntas de configuración. Las respondemos con los datos que queramos configurar.

Una vez instalado, ejecutamos el comando debconf-get-selections, de manera que filtremos las preguntas y respuestas del paquete que acabamos de instalar y las almacenemos en un fichero.

Siguiendo con el ejemplo:

# debconf-get-selections | grep ocsinventory-agent > ocsinventory-agent.seed

Si ahora quisiéramos instalar el paquete ocsinventory-agent en un cliente, sin que nos hiciera las preguntas, no tendríamos más que ejecutar los siguientes comandos:

# debconf-set-selections ocsinventory-agent.seed && apt-get -y install ocsinventory-agent 

Y eso es todo. Sencillo, ¿verdad?

Paquetes de firefox 21.0 para instalar en las máquinas de los IES

A continuación dejo dos enlaces para descargar los paquetes de 32 y 64 bits creados "de forma rápida" para instalar firefox 21.0 en el directorio /opt/firefox/ de las máquinas del instituto. 

Importante: Estos paquetes tan sólo colocan firefox en /opt/firefox/. No cambian el enlace de /usr/bin/iceweasel a /opt/firefox/firefox para que se siga pudiendo usar iceweasel como navegador por defecto. 

Para realizar el cambio de iceweasel a firefox o firefox a iceweasel, tengo dos tareas puppet:
  • activa-firefox 
  • activa-iceweasel 
De este modo, si quiero que los portátiles, los servidores ltsp o los workstation usen firefox, les pongo la tarea activa-firefox y si quiero que usen iceweasel, les pongo la tarea activa-iceweasel.