Alberto Lozano, responsable de MacClub, nos ofrece datos de como Apple ha modificado a su manera los archivos de Unix de configuración para hacerlos mas de «Apple».
Por cierto y al hilo de los interfaces gráficos, del ipfw, resulta curioso ver como se lo han montado en el Mac Os X Server Panther para controlar gráficamente (y con no demasiadas posibilidades y claridades, por cierto) los ficheros de configuración de la Firewall (el procedimiento se emplea general y generosamente en el resto del Mac Os X, cada vez más conforme aparecen las nuevas versiones):
En Unix existen unos ficheros de configuración donde se guarda, en modo texto, las «preferencias» de las diversas aplicaciones.
Estos ficheros tiene los sufijos «.rc» o «.config» o «.conf»
Los ficheros de configuración son muy prácticos ya que son ficheros de texto que incluyen las instrucciones para rellenarlos.
En esos ficheros, todas las lineas que comienzan por # son comentarios y hay tantas como sea preciso para explicar que es lo que hay que poner.
En un entorno Unix normal, el usuario edita con un editor de texto esos ficheros para configurar las funciones de sus programas.
En un entorno gráfico mas avanzado, hay programas que editan esos ficheros siguiendo las instrucciones que le da el usuario base de ratonazos y ventanazos.
Es, por ejemplo, el caso de Brickhouse y otros.
Pero de repente, esos programas gráficos de configuración que en una versión funcionaban, dejan de hacerlo cuando actualizamos MacOs X lo que parece curioso ya que Unix es siempre Unix.
La razón es el avance paulatino de Apple en su proyecto de «Apelizar» la configuración de Unix.
Apple ha decidido que los ficheros adecuados de preferencias deben de ser los «.plist» que son unos ficheros escritos en formato XML y que el Unix de toda la vid no entiende para nada
La opción de reescribir (y por tanto desestandarizar) el Unix para que se aclare con los.plist no es la mas adecuada.
La opción de que los programas de Apple dejen de hablar XML para configurar directamente fichero Unix tampoco es la más adecuada ya que cada programa de configuración ha de traducir a un formato diferente y lo ideal es el XML que, precisamente, unifica todo.
Así la solución de Apple ha sido:
Crear programas que modifican los diversos ficheros de configuración de Unix (Versiones preliminares de Mac Os X)
Ir substituyendo a programas anteriores por otros que generan preferencias XML en ficheros plist.
Crear unos programitas interpretes que convierten .plists en los clásicos .conf
Así, se configura todo usando un estándar XML lo que normaliza los trabajos de desarrollo de Apple y se siguen usando los config de toda la vida del Unix con lo que el Unix sigue siendo Unix… al menos hasta que se haya hecho una implementación total de XML en Unix, que ya estamos en el camino pero va para largo dada la base instalada y la necesidad de compatibilidades hacia atrás.
Lo curioso, como decía al principio, es de que forma se lo monta Apple para que lo anterior funcione, con un ejemplo, lo veremos más claro:
Pongamos por caso el programa «pepitoconf » (aquí podéis poner «Preferencia del Sistema tal o Aplicación de administración de Macos X Server cual, etc.)
ApplePepitoconf sirve para ajustar las funciones de la preferencia del sistema «pepitoria».
pepitoria guarda las preferencias en el fichero unix pepitoria.conf
ApplePepitoconf guarda las preferencias en su fichero XML pepitoria.plist y ademas las guarda en un directorio no estándar de Unix sino en uno ideado por apple para guardar los plists (en la «librería/preferencias)
En el directorio estándar de Unix (/etc/pepitoria/) Apple ha hecho una pequeña modificación.
Ha replicado el fichero original unix pepitoria.conf en los siguientes.
pepitoria.conf
pepitoria.conf.default
pepitoria.conf.apple
pepitoria.conf.default
es donde se guardan aquellas preferencias que no conviene que el usuario toque y que siempre usa la máquina por defecto.
pepitoria.conf.apple
Es el resultado de traducir el fichero .plist creado por el configurador de Apple
pepitoria.conf
Es el resultado de unir ambos conf, el default y el Apple y es el fichero que va a utilizar Unix.
Y el lujo de trabajo es:
Cada vez que ejecutamos ApplePepitoconf, vamos poniendo nuestras preferencias y al darle al botón guarda o a la opción guardar del menú o al salir de ApplePepitoconf, se producen los siguientes acontecimientos:
ApplePepitoconf guarda los cambios en pepitoria.plist
ApplePepitoconf recoge el contenido de pepitoria.conf.default
ApplePepitoconf traduce el contenido XML de pepitoria.plist a texto llano en el fichero pepitoria.conf.apple
ApplePepitoconf fusiona el contenido de pepitoria.conf.default con el de pepitoria.conf.apple y crea el fichero, finalmente!! pepitoria.conf
ApplePepitoconf le dice al unix que ejecute la función Unix que depende de pepitoria.conf
ApplePepitoconf se cierra.
Y yendo al hilo de los interfaces comentábamos con Arboledas, si uno quiere controlar DE VERDAD la función pepitoria, no hay nada como modificar a manos el fichero pepitoria.conf (que además tiene la gracia de que es autodocumentado) y podremos hacer muchas más cosas que con el entorno gráfico ApplePepitoconf
No es probable que un fichero gráfico de configuración puede llegar a obtener todas las posibilidades de configurar que se obtienen manualmente con lineas de comandos.
Y ello no es debido a que no se pueda hacer o que los informáticos no lo sepamos hacer.
es debido a que el programa resultante, siendo gráfico y todo, alcanzaría una complejidad tal que un usuario normal no podría con él
por tanto, se da una parte de las posibilidades del ordenador al usuario final haciendo una estadística de qué es lo más normal que haga ese usuario peor no dándole todas las posibilidades lo que convertiría el interface en inútil por su complejidad..
Cortesía de Alberto Lozano, y la lista de MacClub
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.