La estabilidad a largo plazo
|
|
Por jamarier
departamento Mantenimiento y administración de linux , Sección Diarios Puesto a las Mon Oct 31st, 2005 at 03:07:24 PM CET
|
|
Este fin de semana me ha tocado hacer un poco de administración en mi equipo. De nuevo me he quedado sin espacio en el disco duro. Aprovechando que limpiaba por aquí y limpiaba por alla, he actualizado el kernel.
Como siempre que ocurre este evento (y que suelo intentar aplazar bastantes veces), mi módulo específico para mi nvidia se van al garete. Ya no me asusto cuando tras instalar el kernel se vuelve todo a negro con letritas blancas.
Tras intentar recompilar para mi debian los dichosos modulos/drivers (por si no lo sabeis: «module-assistant prepare && module-assinstant auto-install nvidia» y todo automático no como antes) he tenido que meter mano a directorios en los que últimamente no entro (por ejemplo /etc/) y me he encontrado una cantidad de basura increible.
Y aquí es el punto de entrada a mi pensamiento sobre la estabilidad a largo plazo.
|
Desde que me compré la túnica naranja y me convertí a la religión única. No he tenido necesidad de formatear el disco duro ni reinstalar el sistema operativo. Son ya varios años (unos cinco diría yo) de luchar contra configuraciones e historias. A partir de ahora voy a hacer mención exclusivamente a mi distro «la gran verdad»; entiendo que las demás proveen pobres imitaciones a todos los comportamientos que voy a describir. Hablando en serio y para no levantar suspicacias, creo que uno de los puntos interesantes de esta historia es la discusión de cómo se resuelven estos problemas en distintas distribuciones (y yo hablaré desde la que conozco).
A priori, las distribuciones tienen mecanismos de «destrucción de lo inutil». Te facilitan instalar programas: «apt-get install fulanito», te facilitan la desinstalación de programas: «apt-get remove fulanito» y hasta la elimininación de los ficheros de configuración que generaron: «apt-get --purge remove fulanito». Si bien es un avance inconmensurable el que sea la utilidad y no uno el que se encargue de buscar el programa de internet, bajarlo, instalarlo y dar una configuración inicial que sea usable, la desinstalación no está tan avanzada como nos han hecho creer.
- No siempre se borran las librerías que se instalaron automáticamente desinstalar el programa que las necesitaba. Aunque la utilidad aptitude lleva cuenta de las instalaciones automáticas (solo las que se instalaron desde aptitude). No siempre funciona. Ignoro si es porque hay referencias circulares o lo que sea, pero es muy habitual al instalar un paquete nuevo que se autoinstalen 5 librerías y al desinstalarlo que se desinstalen 3.
existen utilidades como deborphan u orphaner para ayudar a desinstalar librerías no usadas. A mí no me resultan muy eficientes.
- Las configuraciones personales se almacenan en archivos y directorios ocultos que parten del home de cada usuario. Las utilidades son muy libres de crear los ficheros/directorios que necesiten pero estos nunca son borrados (es un comportamiento muy conservador). la conclusión es que desde la última limpieza que efectué tengo actualmente 495 ficheros de estas características (solo colgando de ~ no incluyo los que entran dentro de .gnome o .kde) y algunos de ellos con nombres tan sonoros como «.ZTaJrd»
¿Cómo se gestiona eso? Al final son ficheros de poco tamaño y yo personalmente tiendo a ignorarlos, dejando que se dispersen, que crezcan y hasta se reproduzcan si son felices. Todo por no borrar una configuración de un programa que cuando dentro de 2 meses lo necesite esté como debe de estar.
- Igualmente la configuración en /etc tiende a ser caótica. Por citar algunos ejemplos...
- Tengo lilo.conf, lilo.conf~, lilo.conf.nofunciona (si este es culpa mía); ¿pero si yo no uso lilo!! Yo uso grub...
- Tambien tengo locale.gen, locale.gen~, locale.gen.dpkg-dist, locale.gen.user-es.bak, locale.gen.user-euro-es.bak. En este caso, ninguno es culpa mía.
- El último ejemplo de este tipo XF86Config, XF86Config-4.custom, XF86Config.bak,
XF86Config~, XF86Config-4.dpkg-old, XF86Config.user-es.bak,
XF86Config-4, XF86Config-4.funciona, XF86Config.user-euro-es.bak
y hoy cuando he cambiado el driver de «nvidia» a «nv» me he dado cuenta que el que funciona es xorg.conf.
- Y es que sobre /etc hay un problema adicional. Linux es un entorno tecnológicamente cambiante. Con el tiempo se van aportando soluciones distintas a los mismos problemas. Este giro de comportamientos hace que con algo de tiempo se junten todas estas «nuevas tecnologias obsoletas». Así tengo (en /etc/):
oss, alsa, hotplug, usbmsg, modules-conf, lilo, grub, hal, discover, (ah, horror de los horrores:) netscape, mozilla, mozilla-firebird, mozilla-firefox, firefox, octave1.0.conf, octave2.0.conf........... (y sigue y sigue y sigue)
- En kernels modernos (digamos de los últimos 30 años ;-) existe una funcionalidad que es la autocarga de módulos. No se muy bien como funciona ni interesa en este momento; pero la historia es algo así a que si cargas el módulo B que requiere del A, este se carga en memoria sin pedirlo expresamente.
El arranque de mi sistema es de lo más triste que he visto en mi vida. Es una sucesión de pantallas que dicen: «El módulo de sonido via-XX ya se cargó», «no hago nada porque el módulo de scsi ya está en memoria». Si ya sé, eso es fallo de una mala administración de mi parte. Y he visto que hay utilidades para analizar el arranque que en breve estudiaré.
- Igualmente tenía 10 imágenes de kernel. (alguna 2.2, varias 2.4 de la últimas versiones y dos o tres del 2.6). Con sus respectivos módulos.
- Cuando necesito programas que no están empaquetados, tengo que bajarme los fuentes y compilar. Esto me obliga a instalar librerias y librerias de desarrollo. (que luego no puedo borrar porque no me acuerdo para que las instalé).
Resumiendo. No se puede ir contra la termodinámica: los sistemas tienden a evolucionar a estados de mayor desorden.
Mi reflexion va sobre los ciclos de vida de estos sistemas. Un profesor de electrónica nos comentaba la tendencia de garantizar los componentes electrónicos de por vida. Como ahora hacen las memorias Kingstom. La trampa, decía, consiste en que la vida calculada a esa memoria superaba la vida de obsolescencia de la misma. Es decir el equipo que usa dicha memoria se quedará obsoleto ántes de la vida estimada del componente. Así que para uno que nos reclame dentro de 10 años, nos damos el pegote de la garantía de por vida.
¿Funciona la informática y el software de igual forma? Dicho de otra forma: mi servidor actual lo instalé hace un año con el software que necesitaba y solo hago actualizaciones de seguridad. Es estable. Mi equipo de trabajo instalo y desinstalo muchos programas y tengo la parte «administrativa» hecha una pena. ¿se supone que como los PC de trabajo se renuevan cada año o cada dos años se pueden permitir reunir basura?
¿Se ha diseñado linux para que sea estable a largo plazo, en ordenadores llamados «desktop»? o ¿tambien se requiere formatear el disco duro cada cierto tiempo y reinstalar desde cero para hacer limpieza?
|
|
|