PDF de programación - PICA: Perl Installation and Configuration Agent

Imágen de pdf PICA: Perl Installation and Configuration Agent

PICA: Perl Installation and Configuration Agentgráfica de visualizaciones

Actualizado el 24 de Octubre del 2020 (Publicado el 30 de Abril del 2019)
511 visualizaciones desde el 30 de Abril del 2019
68,6 KB
20 paginas
Creado hace 23a (01/01/2001)
PICA: Perl Installation and

Configuration Agent

Una solución inteligente para
administración de sistemas

Esteban Manchado Velázquez

Miguel Armas del Río

1. Introducción

PICA es una pequeña herramienta escrita en Perl para ayudar a los administradores de
sistemas a mantener coherente la configuración de sus máquinas. Además de en el
lenguaje Perl, PICA se basa en muchas ideas de la herramienta PIKT, y en SSH, para
enviar todos los datos de unas máquinas a otras de forma segura.

1.1. ¿Por qué escribimos PICA?

Necesitábamos una forma de mantener una copia de la configuración de los servidores
en una de las máquinas, para luego poder copiar los ficheros necesarios a las que
hiciera falta. Hasta el momento estábamos usando PIKT, pero había muchas cosas que
no nos gustaban. La idea encajaba perfectamente con nosotros, pero necesitábamos
más potencia, más flexibilidad, más seguridad y más comodidad. Las alternativas
tampoco nos gustaban por diferentes razones, como veremos más adelante.

1.2. ¿Por qué no PIKT?

PIKT es un programa escrito en C cuyo cometido es copiar ficheros a máquinas
remotas, instalar alarmas y ejecutar órdenes remotamente. Es una herramienta bastante
útil para administradores de sistemas, y nosotros la usamos durante un tiempo, pero

1

decidimos escribir PICA y dejar de usar PIKT por varias razones, entre las que
destacan:

PICA: Perl Installation and Configuration Agent

• Uso de portmapper para las comunicaciones, por el historial de problemas de

seguridad y la apertura de un servicio que no usábamos para nada más.



Imposibilidad de enviar ficheros binarios.

• Sistema de condiciones muy pobre.



Imposibilidad de generar partes de los ficheros dinámicamente.

• Varios fallos graves en el propio programa, debidos en parte al perfil de su creador

(administrador de sistemas y no programador).

• Falta de una forma sencilla de distribuir ficheros sin tener que adaptarlos a una

sintaxis determinada.

• Necesidad de decidir de antemano qué servidores iban a tener ficheros distribuidos
automáticamente, ya que hay que instalar un cliente en cada una de estas máquinas.

• En general, un enfoque muy complejo, difícil de entender y un programa difícil de

modificar para resolver un problema muy simple.

1.3. Alternativas a PIKT

Algunas de las alternativas a PIKT (y PICA) son cfengine, arusha, big sister, y gap.
Ninguna de ellas satisfacía todas nuestras necesidades de administración, o resultaron
demasiado complicadas para el problema que queríamos resolver.

Sin duda, y obviando PIKT, cfengine es la herramienta más parecida a PICA. Sus
inconvenientes: tener que aprender muchos conceptos nuevos, compuesto por varios
programas (instalación más compleja) y necesidad de aprender un lenguaje de
configuración específico para usar la herramienta. Además, aparentemente no permite
copiar los ficheros variando su contenido según la máquina o cualquier otra condición.

Arusha no termina de resolver nuestros problemas, por ser un «marco» en el que
trabajar y construir las soluciones de administración. Por si fuera poco, necesita
también conocer un lenguaje de configuración específico (en XML) para poder usarlo.
PICA da una solución mucho más simple, más sencilla de aprender y que puede usarse
al poco tiempo de instalar el programa.

Big sister es una aplicación de monitorización, que nada tiene que ver con PICA:
ambas herramientas son complementarias y podrían usarse conjuntamente.

2

PICA: Perl Installation and Configuration Agent

Por último, gap es un proyecto demasiado ambicioso para nuestros problemas diarios.
Al igual que algunas de las otras alternativas, necesita aprender su forma de trabajo, y
parece más enfocado hacia la monitorización y ejecución remota que a la simple copia
de ficheros.

1.4. ¿Dónde conseguir PICA?

La página oficial de PICA está en SourceForge, en la URL http://pica.sf.net, y se
distribuye por la licencia GPL. Hay disponibles paquetes Debian y RPM, además del
paquete original .tar.gz.

2. Fundamentos de PICA

Teniendo en cuenta nuestra experiencia usando PIKT, queríamos intentar evitar los
errores de éste en nuestro nuevo proyecto. Por esta razón, aprovechamos ideas del
PIKT, pero lo diseñamos todo desde cero. Usamos un lenguaje de programación
diferente (Perl), y unos ficheros de configuración y de entrada con una sintaxis
completamente distinta, diseñada acorde con nuestros objetivos. Queríamos mantener
la filosofía del PIKT, pero cambiar el enfoque y la mentalidad en cuanto a las
herramientas.

2.1. Principios de diseño

Los principios de diseño de PICA son:

1. Deben usarse herramientas existentes que funcionen bien. De ahí que se use SSH

para todas las transferencias.

2. La seguridad tiene que tenerse en cuenta. Toda la información va cifrada, y no se

requiere que PICA tenga permisos especiales para hacer su trabajo.

3. Todo debe ser lo más flexible posible, para no tener que estar haciendo extensiones

de la sintaxis o de la funcionalidad una y otra vez.

4. La simplicidad y linealidad son buenas a largo plazo. Por ello, todos los ficheros de

configuración se preprocesan antes de leerse, y todas las condiciones del
preprocesador de PICA no son más que expresiones en Perl genéricas. Los casos

3

PICA: Perl Installation and Configuration Agent

particulares comunes se tratan con funciones en Perl declaradas visiblemente en un
paquete para tal efecto.

2.2. Conceptos importantes en PICA

A la hora de trabajar, PICA se apoya en los siguientes conceptos:

• Máquinas. Para PICA, conceptualmente las máquinas siempre son remotas, es decir,

todo se copia siempre mediante órdenes ssh.

• Objetos. Son los ficheros que PICA distribuye a las máquinas. Estos ficheros pueden

ser ficheros normales o alarmas, que tienen un tratamiento especial en algunos
casos. Hablaremos de éstas más tarde.

• Grupos. Podemos agrupar tanto las máquinas como los objetos con nombres fáciles
de manejar. Además, las alarmas son grupos implícitos, que pueden contener otros
objetos (ficheros normales, nunca otras alarmas). Estos objetos se tratan como
dependencias, es decir, siempre que se instale esa alarma deben instalarse también
las dependencias.

3. Posibilidades de PICA

PICA se diseñó para resolver los siguientes problemas:

• Copia de ficheros de una máquina central al resto. Los ficheros debían tener
condicionales y alguna forma genérica de decidir qué iba a formar parte del
contenido, dependiendo de la máquina donde fuera a instalarse y de otros parámetros
no decididos de antemano por nosotros.

• Ejecución remota de órdenes, tanto distribuidas con el programa como arbitrarias,

instaladas en la máquina destino.

• Gestión de alarmas en cada máquina. Entendemos por alarmas pequeños programas

que comprueban el estado del sistema y avisan de cualquier anomalía, y que
optativamente lo resuelven.

Todo esto se hace a petición explícita del administrador. Es decir, que cada vez que se
quiere copiar, ejecutar, borrar o listar un objeto, el administrador llama desde la línea
de órdenes a PICA con los parámetros apropiados (veremos la sintaxis de llamada más

4

PICA: Perl Installation and Configuration Agent

adelante). Para funcionar, PICA no necesita instalar ningún programa en las máquinas a
las que se va a copiar ficheros, o sobre las que se va a actuar. El único requisito es tener
un servidor SSH instalado (y, a estas alturas, ¿qué servidor que nos preocupe no tiene
ya el SSH?).

3.1. Opciones de llamada

Las operaciones que PICA puede ejecutar son:



Instalación de cualquier objeto o grupo de objetos (ficheros o alarmas). Los ficheros
a copiar se llaman ficheros de distribución, y pueden contener directivas para ser
preprocesados. Por defecto, los ficheros de distribución se buscan en el directorio
$picasrc especificado en el fichero de configuración pica.conf.

• Ejecución de un objeto remotamente, como si fuera una orden del sistema (PICA
busca la ruta correcta en la definición del objeto), o una orden arbitraria que esté
instalada en la máquina remota (muy útil para actualizar la configuración de un
servicio que se está ejecutando).

• Borrado de objetos.

• Cálculo de diferencias de un objeto (diferencia entre la versión que se instalaría y la

que hay realmente en la máquina).

• Listado de objetos. PICA puede listar los objetos que hay instalados en una máquina

determinada, para saber si están instalados y para comprobar sus permisos y
propietarios.

Por otro lado, hay tres opciones generales de PICA, aplicables a todas las operaciones:

• Modo de depuración. PICA informará de todo lo que hace a medida que lo va
haciendo, y deja los ficheros de configuración preprocesados en el directorio
temporal. Además, no ejecuta ninguna orden, ni instala ni borra ningún fichero, sólo
imprime en pantalla qué debería ejecutar en cada momento.

• Simulación. Esta opción permite simular, sin producir realmente ningún resultado,

cualquier acción. Puede informar de errores, e imprime las órdenes que ejecutaría en
condiciones normales. Es similar a la opción -n del programa make.

• Verbosidad. Imprime en pantalla mucha más información que de costumbre.

Conjugando esta opción con la anterior se puede conseguir algo parecido a la de
depuración, pero sin dejar ficheros en el directorio temporal ni cargar tanto la
pantalla.

5

4. Configuración de PICA

PICA: Perl Installation and Configuration Agent

PICA tiene actualmente tres ficheros de configuración. Su sintaxis es parecida a la de
los ficheros de DNS, por ser clara y legible y resultar familiar a los administradores de
sistemas. En uno especificamos algunos datos necesarios para el propio ejecutable de
PICA, y en los otros dos especificamos las máquinas y los objetos que vamos a
manejar, respectivamente. Los ficheros se llaman pica.conf, hosts.conf y
objects.conf. Aunque no es importante para entender el funcionamiento general de
PICA, sí es importante a la hora de usarlo saber que los ficheros se leen en ese orden.

4.1. pica.conf

En este fichero se especifican las rutas de varios ejecuta
  • Links de descarga
http://lwp-l.com/pdf15807

Comentarios de: PICA: Perl Installation and Configuration Agent (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad