¿Cuáles son sus mejores prácticas y planes futuros para implementar escritorios unixoides? [cerrado]


9

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 ifconfigherramienta 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á.

Respuestas:


3

Usar Puppet o CFEngine o Chef es la solución adecuada para su problema. Por supuesto, consumirá algo de tiempo y enfoque de prueba y error para escribir el script de Puppet que simplemente funciona. Estas herramientas son ampliamente utilizadas para automatizar instalaciones complejas en la nube y han simplificado la vida de administradores como nosotros. :)


¡Gracias por la pista! Como le pregunté a MaxMackie antes, ¿Puppet proporciona algún tipo de "inteligencia centralizada de crowdsourcing" con respecto a las reglas de reescritura al cambiar entre las versiones principales de mi distribución? Por ejemplo, si sé que $ DISTRO cambia de GNOME 2 a 3, ¿habrá una ruta de migración semiautomática?
jstarek

Puede escribir un archivo para, digamos, la configuración de Gnome3 e incluirlo en las configuraciones de los hosts en los que desea que se instale Gnome3. pero también depende de cómo cree la configuración de la marioneta. Si sigue un enfoque modular, será más fácil. Puppet en sí mismo no podrá identificar Gnome3 o 2. (espero haber respondido bien su pregunta)
Abhishek A

3

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.


Al mirar el sitio de Landscape, tengo la impresión de que no maneja las entradas del archivo de configuración, entonces, ¿crearía paquetes locales que hagan los cambios que necesito en la instalación?
jstarek

1

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) y chmod 777. Crearía esta regla en el archivo de configuración de CFEngine. Desde su computadora central, tiene el /etc/syslog.confarchivo "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.confarchivo. 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).


Gracias por la pista, echaré un vistazo a CFEngine. Sin embargo, por lo que he leído hasta ahora, parece que no me salvará de reescribir las reglas al cambiar a una nueva versión principal de mi distribución, ¿verdad?
jstarek

1

Entonces, ¿cómo es que no hay una instalación de configuración central,

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 .


Ya estoy usando clientes gordos, pero eso no hace que la configuración sea más fácil por sí misma: solo obtienen la información de homedir y passwd de un servidor central. Si GNOME no usó GConf y puso archivos de configuración importantes en / usr / share / gconf / defaults /, uno podría mantener un / etc / central en algún lugar en un servidor y hacer que los clientes gordos lo monten, pero no, los chicos de GNOME Parece saberlo mejor. Suspiro ...
jstarek

Los clientes gordos de @jstarek se montan /, GConf anula la vida en vivo/etc/gconf/gconf.xml.*/
Steve-o
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.