en la oficina tengo la suerte de ser el sysadmin (mi título oficial es "[ 浪人 - ronin ]". digo la suerte porque me gusta, y porque todo corre algun linux. en partuicular, las estaciones de trabajo son *buntus. dapper, para ser mas preciso.
el tema es que somos tan grosos que no solo tomamos gente (ya llegamos a los 13 changoas[1]) sino que ademas compramos maquinas nuevas. el tema es que el kelmer de dapper se queda corto, y ya van varias maquinas a las que le tengo que poner algo a medida. which sucks. ademas, vendrian bien un par de versiones mas nuevas de algunas cosas, como el inkscape de nuestra dise#adora.
tons desde ayer martes que estoy en la peque#a tarea de hacer el salto dapper->feisty. gutsy salio hace unas semanas y no me le animo. y feisty ya tiene muchos updates puestos, lo cual lo hace bastante estable.
soy debianero hace ya bastante. desde siempre que use dselect. cuando con *buntu y mas luego nuevos debians comenzo a venir ese mamarracho de aptitude, trate de usarlo. el tema es que si bien el motor de resoluciones de dependencias, conflictos y otras yerbas es mucho mejor, la forma de presentarle las soluciones al usuario suckea mal. he estado al frente de la pantalla una hora mas de una vez analizando las opciones que ofrece aptitude, siempre quedandome con el gusto en la boca de que nunca obtendre la que quiero, y que nunca volvere a encontrar esa que masomenos parecia aceptable. por eso, para este doble salto mortal, decidi hacer uso del viejo y querido dselect. ademas, escuche porai que el update-manager se muere antes de terminar el dist-upgrade por lo menos en los tres ultimos saltos.
la maquina de prueba me pidio bajar 1370MiB, actualizar 1689 paquetes, 378 nuevos (de paso le puse kubuntu-desktop) y sacar 102. entre las cosas grosas esta el cambio en python a python-support, por eso tanto paquete removido (los python2.4-something). y como estaba sacando sysvinit (es reemplazado por upstart), me pide que le confirme con "Yes, do as I say!".
algo que me llama la atencion es que empezaron a pasar pantallas de debconf. espero que sea dselect, y no que el update-manager le responda que si a todo (que de todas formas hace). si puedo, algun dia vere que negradas hace por detras. no fueron muchas (3 o 4) y luego comenzo la danza de los paquetes.
el primero en decir esteupgradenoesmio fue hwdb-client-gnome. quiso pisar un archivo que tambien era de hwdb-client. dselect hizo un parate y despues de un enter se puso a set up los paquetes. muchos se quejaron de que no estaba python-central. wodim (ex cdrecord) cambio de archivo de configuracion. tambien libqt3-mt y kdm.
finalmente fallo. revise que python-central se estuviera por instalar, lo cual era cierto, y le di una segunda vuelta (no es la primera vez que tengo que hacer eso). lo bueno es que empieza donde dejo. ahi fue metacity-common quien quiso pisar a metacity. nuevamente pasamos al setting up. scrollkeeper reconstruyendo la base de datos me dio un tiempito para ir a buscar un feca. initramfs con nuevo archivo de configuracion. hal fixea un bug en sus scripts de udev, pero dbus parece no estar corriendo. /etc/init.d/gdm logra hacer un reload, pero invoke-rc.d cree que no. hwdb-client-common falla porque un .py ya existe.
hacemos una tercera pasada. metacity-common vuelve a fallar por lo mismo. comienzo a ver el primer circulo vicioso. no me asusta el acertijo.
cuarta vuelta. no pasa de metacity-common. veamos que puedo hacer. si lo saco se cae medio gnome (talk about WM independence). el problema es tipico: A, si se upgradea, tiene un archivo C, que tambien tine la version vieja de B, que a su vez depende de A. ergo, B no se actualiza primero porque A aun no, y A tampoco porque pisa C de B. la solucion es hacer dpkg -i a mano sobre los tres (entra en la volteada libmetacity0) y volver a intentar con dselect.
quinta vuelta. still 1128 to go, 254 new, 71 to go away. veo pasar un app-install-data-commercial y un gran WTF?!?! se me dibuja en la cara. "a pretty application installer" me dice apt-cache show. "this package contains the data files for the commercial applications available in gnome-app-install", agrega luego de una pausa. tambien me dice que ubuntu-desktop depende de esa cosa. me tomo una garompa.
mientras la quinta vuelta estuvo laburando tranquila, hasta que kalzium-data y kontact no pueden entrar. no alcanzo a ver porque, asi que la pongo a set up. icecast (quecarajo hace instalado?!?!) tiene un nuevo archivo de configuracion. de fondo lo escucho a perrito poner un tema viejo de sergio denis. la gente cotorrea en el comedor. me voy a comer.
dhcp3-client dice que /etc/dhcp3/dhclient-script fue modificado, pero que ya no esta ahi, sino que ahora esta en /sbin. en el gdm.conf han terminado todas las frases con '.", por lo que leer el diff se hace un poco denso (960 lineas).
y entonces es cuando debconf comienza a usar dialog y soy un poquito mas feliz (soy mas rapido con las fleachsa y el enter que buscando teclas en el teclado), excepto porque el pager que usa para mostrar las diferencias no es less, sino una bonga hecha en dialog.
vuelta 6, 282 still to go, 71 new. mietras esta preconfigurando los paquetes me sale esto: "supported_versions: WARNING: Unknown Ubuntu release: 7.04". parece que entre los archivos de configuracion de los paquetes (de ubuntu?) hay uno que dice qu releases soporta el paquete, y que cuando antiguamente cuando el release era mas nuevo de lo que conocia, tiraba ese warning. o algo asi entiendo de esto.
finalmente temina. por las dudas actualizo el menu.lst del grub (no vi cuando se instalaron los kelmers) y reinicio. . lo que si es relevante es como reacciona aptitude (no dije que lo odio?) a una intromision de tal magnitud por parte de dselect. queriendo instalar lilo resulta que me quiere tirar abajo 84 paquetes. entre ellas cosas como dia, bonobo, gconf, kdevelop3 y otras gansada. como es una maquina de prueba, se van al joraca.
y entonces es cuando el cielo se cae sobre mi cabeza. este fue el motivo por el que termine volando a la mierda el *buntu de mis desktop en casa y volvi a debian: los UUIDs de ubuntu.
# /dev/sda2 -- converted during upgrade to edgy
hago unas cuantas manganetas y logro sacar lilo andando, que bootee del disco y otras yerbas. ahora la prueba de fuego: bootear. arranca. se toma mucho tiempo, en hacerlo, pero lo hace. eso es algo de la configuracion local, que depende mucho del servidor, y justo esta no esta en posicion de accederlo ahora.
y entonces no me da nigun login. el *dm no levanta porque la placa de video no es la que espera que sea (mea culpa, caga culpa) y los logins brillan por su ausencia. recuerdo haber visto una queja del inittab, asique reinicio en single a ver si lo puedo arreglar:
/etc/event.d/tty1:16: Unknown stanza
dado que dicho archivo parece estar relacionado a upstart, decido volver al viejo sysvinit, del que nuca tuve que salir. de paso con dselect me saco tanto soft obsoleto como me es posible (excepto por mplayer y dependencias).
miles de detalles aparte, parece iniciar sin problemas. los text logins han vuelto y arranca rapido. veamos por dentro. reconfiguro el X bien, y ademas pruebo la continudad de aptitude. me marca un monton de paquetes brokenitos, y quiere hacer todo tipo de animaladas, como desisntalar k3b y otras gansadas, pero no lo dejo. al final se queda contento y no hace ningun cambio. no deja de ser una bestia salvaje. instalo xserver-xorg-video-via y soy un poquito mas feliz.
al final el upgrade parece ser posible. el sistema levanta igual de bien que antes, los usuarios siguen tomandose por ldap, nfs anda, los permisos tambien. hasta NetworkManager parece aceptar la configuracion ya puesta y no hace negradas como solia hacer hace un a#o. y todo en poco mas de 4.5 horas. al mismo tiempo estuve probando el live cd de gutsy en una de las maquinas nuevas y parece andar muy bien. reconoce bastante bien las placas de video y audio y andar bien con el acpi, que son los problemas tipicos que tengo con las maquinas nuevas (bueno, tambien me han tocado placas de red, una realtek 8168, y controladoras sata, en placas intel). hablando con mis jefes, vamos a ver por cual nos decidimos.
cosas a tener en cuenta: me olvide por completo de poner la maquina en single mode. esto significa que todos los demonios estaban corriendo, cosa que podria haber hecho mas dificil la operacion. una cosa que si note es que a dselect no le hace ni media gracia que le manden un SIGSTOP. si bien tras un SIGCONT lo continua, luego no puede acceder al teclado, y todo input que requiera del usuario parece no llegarle.
[1] esa moda de ser sexualmente neutro (o bi, no me queda claro) al hablar^Wescribir a veces se pega, pero eso de usar @ como en "chang@s" suckea.