He estado configurando escritorios Linux para un observatorio de radio sin fines de lucro. Para mí, esta fue la primera vez que tuve que pensar en "desplegar" varias máquinas idénticas, centralizar el inicio de sesión, directorios de inicio, etc. Rápidamente me di cuenta de que, tal vez contrario a la intuición, la filosofía de "todo es textual" no necesariamente hace que sea una tarea fácil, y me preguntaba qué hacen los administradores experimentados al respecto.
En mi caso, estaba instalando Ubuntu 10.04 LTS en cada máquina. Después de la instalación, ejecuté un script personalizado que altera los archivos de configuración, elimina e instala software y copia algunos archivos, como imágenes de fondo o marcadores del navegador, del servidor. Creo, sin embargo, que mis preguntas son independientes de la distribución.
Problemas
Me encontraba principalmente con dos problemas: en primer lugar, herramientas inconsistentes y archivos de configuración, tanto en distribuciones como en versiones, y en segundo lugar, un software crucial que no expone la configuración a los archivos de configuración de una manera fácil e intuitiva.
Permítanme dar dos ejemplos breves de lo que quiero decir:
La ifconfig
herramienta está siendo reemplazada por ip
. Todos los scripts que se basan en la presencia del primero se romperán si, por ejemplo, se ejecutan en un cuadro ArchLinux actual. Por lo tanto, tendría que verificar qué herramientas en qué versiones están presentes en una máquina en la que ejecuto un script ... esto de alguna manera se siente como reinventar la autoconfiguración a pequeña escala.
Para el segundo problema, considere que quería dar a los escritorios algún tipo de "identidad común". En mi post-install-config-script, uso las siguientes líneas para lograr esto:
scp user@server:/export/admin/*.jpg /usr/share/backgrounds/
scp user@server:/export/admin/ubuntu-wallpapers.xml /usr/share/gnome-background-properties/
sed 's/warty-final-ubuntu\.png/MyBackground\.jpg/' -i /usr/share/gconf/defaults/10_libgnome2-common
sed 's/warty\-final\-ubuntu\.png/MyBackground\.jpg/' -i /usr/share/gconf/defaults/16_ubuntu-wallpapers
sed 's/ubuntu-mono-dark/ubuntu-mono-light/' -i /usr/share/gconf/defaults/16_ubuntu-artwork
sed 's/Ambiance/Clearlooks/' -i /usr/share/gconf/defaults/16_ubuntu-artwork
Supongo que crear un CI es una tarea común para los administradores de la organización. Entonces, ¿cómo es que no hay una instalación de configuración central, tal vez incluso de escritorio cruzado? Tener que establecer dos valores indocumentados (¡idénticos!) En dos archivos de configuración distintos me parece extraño.
Preguntas
En un entorno organizacional, ¿cómo maneja la configuración centralizada y unificada en múltiples clientes?
¿Los sistemas como el FAI de Debian ofrecen ventajas significativas (además de no tener que cambiar los CD) sobre mi método de "instalar primero, ejecutar el script después"?
¿Cuáles son las buenas prácticas para la transición entre las principales versiones de su distribución? Y, aparte de los aspectos técnicos: ¿existe un entorno de escritorio que promete estabilidad a largo plazo en lo que respecta a la experiencia del usuario? No creo que pueda migrar a mis usuarios a KDE 4 o GNOME 3, pero XFCE todavía tiene algunos inconvenientes funcionales ...
¿Existe un sistema * nix que aborde este tipo de problemas de configuración? Por ejemplo, supongo que hay sistemas que le solicitan algunas imágenes de su organización (logotipos, imágenes de fondo, conjuntos de colores y fuentes, etc.) y las aplican al administrador de inicio de sesión, los escritorios de los usuarios, las aplicaciones web (!) Y así en. Nota: En nuestro caso, tengo que trabajar con clientes gordos, por lo que una solución puramente de cliente ligero no me ayudará.
En primer lugar, no esperes que sea fácil trabajar con múltiples distribuciones.
No ejecuté grandes implementaciones de escritorio. Para mí, la mejor compensación fue usar un arranque LAN / tftp para arrancar el sistema y luego ejecutar la instalación a través de NFS. La mayoría de las distribuciones de Linux le piden toda la configuración inicial por adelantado, luego puede dejar que el instalador se ejecute durante, por ejemplo, 40 minutos, sin supervisión (sin avisos de "¿Realmente desea ejecutar este programa?"). En ese momento estaba cuidando las máquinas Redhat y Suse, y tenía un RPM preparado con todas las configuraciones personalizadas que instalé después de que se completó la instalación estándar. Sin embargo, es bastante posible automatizar todo esto en una variedad de distribuciones.
No soy un gran admirador de la distribución de Ubuntu por varias razones, pero Lanscape de Canonical es una herramienta muy impresionante. Y si va a hacer muchas instalaciones de Ubuntu a gran escala / administrar múltiples escritorios de Ubuntu, definitivamente vale la pena verlo más de cerca.
fuente
He estado trabajando mucho con un software llamado CFEngine . Es un administrador de configuración de código abierto que lee "reglas" que usted establece y asegura que cada máquina a la que está vinculada y respeta esas reglas. Es completamente de código abierto y tan útil que nuestra compañía ha decidido utilizar la versión compatible del software llamada Nova.
Esta es una visión amplia de cómo funciona. Digamos que tiene 4 computadoras en su red administrada. Todos necesitan tener un archivo
/etc/syslog.conf
, propiedad de root, de todos modos (según un maestro) ychmod 777
. Crearía esta regla en el archivo de configuración de CFEngine. Desde su computadora central, tiene el/etc/syslog.conf
archivo "maestro" . Cada X cantidad de tiempo, la versión de CFEngine de su computadora pasará por la red y preguntará a cada casilla sobre su/etc/syslog.conf
archivo. La copia local de CFEngine que se ejecuta en cada cliente consultará el archivo en cuestión e informará sobre su contenido, permisos, etc. Si no coinciden EXACTAMENTE con su copia de caster, CFEngine enviará su copia al cliente y volverá a verificar los archivos. Coincidirán y él pasará a tu próxima regla.En cuanto a la simplicidad, la sintaxis utilizada en las "reglas" de CFEngine (a las que llaman promesas) puede llevar un poco de tiempo acostumbrarse, pero vale la pena aprenderlas (agrega otra gran habilidad a su conjunto de habilidades).
fuente
Gnome tiene GConf que puede realizar todas esas tareas menores:
http://wiki.novell.com/index.php/Locking_Down_the_GNOME_Desktop
http://library.gnome.org/admin/system-admin-guide/stable/gconf-9.html.en
Ubuntu LTS es casi la única opción para soporte a largo plazo en el escritorio.
La implementación de varias máquinas es casi posible con solo una simple
dd
, las distribuciones de escritorios están haciendo que esta sea una ruta menos atractiva.También considere una opción ahora es el llamado cliente gordo .
fuente
/
, GConf anula la vida en vivo/etc/gconf/gconf.xml.*/