jueves, 28 de septiembre de 2017

Hans Reiser y sus desgracias

En el día de la fecha me encontré con un nuevo desafío en la cruzada eterna entre el sysadmin y sus ganas de montar cosas raras: un viejo Suse 10 con filesystems basados en ReiserFS, o mejor dicho, sólo su disco.
El tema es que el disco se conectó en un sistema CentOS 7, el cual, como sabemos, no soporta este filesystem en forma nativa.
Parecía casi imposible, pero sorteamos el problema con un par de trucos sencillos, que pueden calmar el dolor de cabeza de varios colegas.
Si uno quisiera montar el filesystem en cuestión, se encontraría con un mensaje poco esperanzador, del estilo:

mount: unknown filesystem type 'reiserfs'

Entonces, nos proponemos cargar este módulo. El tema es desde dónde. Aquí viene el primero de los trucos, de la mano de "El Repo", a quien le estaré muy agradecido por un buen tiempo por entregar, entre otros, los paquetes kmod-reiserfs y reiserfs-utils:

# rpm --import http://elrepo.org/RPM-GPG-KEY-elrepo.org
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
# yum update
# yum install kmod-reiserfs reiserfs-utils

El tema es que si queremos cargar el módulo de kernel como siempre lo hacemos, con modprobe o insmod, encontraremos que no se cargará, y obtendremos este mensaje:

# modprobe reiserfs
modprobe: ERROR: could not insert 'reiserfs': Invalid argument

...y al ejecutar el comando "dmesg", la salida será la siguiente, o muy parecida:

[13206.924669] reiserfs: disagrees about version of symbol d_instantiate
[13206.924674] reiserfs: Unknown symbol d_instantiate (err -22)
[13206.924679] reiserfs: disagrees about version of symbol page_put_link
[13206.924681] reiserfs: Unknown symbol page_put_link (err -22)
[13206.924713] reiserfs: disagrees about version of symbol lookup_one_len
[13206.924715] reiserfs: Unknown symbol lookup_one_len (err -22)
[13206.924741] reiserfs: disagrees about version of symbol replace_mount_options
[13206.924744] reiserfs: Unknown symbol replace_mount_options (err -22)
[13206.924767] reiserfs: disagrees about version of symbol d_make_root
[13206.924769] reiserfs: Unknown symbol d_make_root (err -22)
[13206.924780] reiserfs: disagrees about version of symbol generic_readlink
[13206.924782] reiserfs: Unknown symbol generic_readlink (err -22)
[13206.924796] reiserfs: disagrees about version of symbol d_splice_alias
[13206.924798] reiserfs: Unknown symbol d_splice_alias (err -22)
[13206.924822] reiserfs: disagrees about version of symbol generic_permission
[13206.924825] reiserfs: Unknown symbol generic_permission (err -22)
[13206.924885] reiserfs: disagrees about version of symbol mnt_want_write_file
[13206.924888] reiserfs: Unknown symbol mnt_want_write_file (err -22)
[13206.924940] reiserfs: disagrees about version of symbol mnt_drop_write_file
[13206.924942] reiserfs: Unknown symbol mnt_drop_write_file (err -22)
[13206.924946] reiserfs: disagrees about version of symbol page_follow_link_light
[13206.924948] reiserfs: Unknown symbol page_follow_link_light (err -22)
[13206.924969] reiserfs: disagrees about version of symbol shrink_dcache_sb
[13206.924971] reiserfs: Unknown symbol shrink_dcache_sb (err -22)
[13206.925040] reiserfs: disagrees about version of symbol d_obtain_alias
[13206.925043] reiserfs: Unknown symbol d_obtain_alias (err -22)
[13206.925067] reiserfs: disagrees about version of symbol d_delete
[13206.925069] reiserfs: Unknown symbol d_delete (err -22)
[13206.925123] reiserfs: disagrees about version of symbol dput
[13206.925125] reiserfs: Unknown symbol dput (err -22)
[13206.925138] reiserfs: disagrees about version of symbol blkdev_issue_flush
[13206.925140] reiserfs: Unknown symbol blkdev_issue_flush (err -22)
[13206.925160] reiserfs: disagrees about version of symbol d_set_d_op
[13206.925162] reiserfs: Unknown symbol d_set_d_op (err -22)
[13206.925179] reiserfs: disagrees about version of symbol save_mount_options
[13206.925182] reiserfs: Unknown symbol save_mount_options (err -22)

Entonces, para verificar el módulo de kernel, ejecutaremos: 

# modprobe -v reiserfs
insmod /lib/modules/3.10.0-693.2.2.el7.x86_64/kernel/fs/reiserfs/reiserfs.ko
modprobe: ERROR: could not insert 'reiserfs': Invalid argument

Lo interesante del caso, es que ese directorio y archivo no existen, pero sí existe el siguiente (el motivo por el cual lo cargó en un kernel anterior, antes de varias actualizaciones, lo estaré investigando en mis ratos libres: nunca): 

# ls -l /usr/lib/modules/3.10.0-229.el7.x86_64/extra/reiserfs/reiserfs.ko
-rw-r--r-- 1 root root 377272 Mar  8  2015 /usr/lib/modules/3.10.0-229.el7.x86_64/extra/reiserfs/reiserfs.ko

Entonces, sencillamente creamos el directorio, y copiamos el archivo: 

# mkdir /lib/modules/3.10.0-693.2.2.el7.x86_64/kernel/fs/reiserfs/
# cp /usr/lib/modules/3.10.0-229.el7.x86_64/extra/reiserfs/reiserfs.ko /lib/modules/3.10.0-693.2.2.el7.x86_64/kernel/fs/reiserfs/

Ahora, cuando lo queremos cargar, vemos que el mensaje no ha variado. Entonces, viene el último de los trucos, que nos permite cargarlo de cualquier forma: 

# modprobe -f reiserfs

Ahora sí, podemos montar nuestro filesystem alegremente, recordando las épocas en las que Hans Reiser gozaba de libertad, y su esposa Nina Sharanova aún no había sido "strippeada" como su información...(véase esto)

Espero haber aportado mis dos centavos a vuestra lucha diaria. 

domingo, 12 de marzo de 2017

Montando particiones de imágenes de discos enteros

Un familiar me pidió si le prestaba una máquina por un tiempito, sabiendo que soy medio coleccionista de hardware.
No hay problema, le dije, pero primero la vacío de mis archivos, y la reinstalo.
Claro, luego de tan gentil ofrecimiento de mi lado, me puse a pensar que esa máquina tenía en su sistema operativo mil customizaciones.
La solución fue sencilla, hago un vuelco con un "dd", y cuando me la devuelve, hago el mismo "dd" en sentido inverso, y todos felices.
Como la felicidad es sólo un instante, me encontré con que necesitaba un archivo de esa misma máquina, que ya estaba entregada a su nuevo inquilino...montar una partición basada en un archivo es sencillo, pero una partición en una imagen de un disco entero, puede tener sus vueltas.
Para evitar ver ese mismo sufrimiento en vuestros rostros, es que les comento que la cosa fue mucho más sencilla de lo que pensaba. Hice un "gparted" del archivo, extraje el offset de la partición, y lo monté alegremente. El archivo se llama "paviliondm1.img", y es el resultado de bootear con un pendrive la vieja laptop, conectarle un disco rígido externo, montarlo, y lanzar el dd. Acá la fórmula para tener el archivo, una vez booteado con el pendrive, considerando que ese dispositivo quedó en /dev/sdc, y que el disco rígido externo en /dev/sdb:

sudo mount /dev/sdb1 /mnt
dd if=/dev/sda of=/mnt/paviliondm1.img bs=64K

Una vez hecho el vuelco, conecté el disco en mi laptop actual, y lancé estos comandos para montar lo que alguna vez fue la partición 7, y que el disco externo, en mi laptop actual, quedó en /dev/sdc. Fpijense en lo que marco en negrita para entender el porqué del comando de montaje:

# mount /dev/sdc1 /mnt
# cd /mnt
# ls -ltr
total 635104432
(...)
-rw-r--r-- 1 root  root  500107902976 mar 11 21:11  paviliondm1.img

# parted paviliondm1.img 
GNU Parted 3.2
Using /mnt/paviliondm1.img
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) unit                                                             
Unit?  [compact]? B                                                       
(parted) print                                                            
Model:  (file)
Disk /mnt/paviliondm1.img: 500107902976B
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start          End            Size           Type      File system     Flags
 1      1048576B       209715199B     208666624B     primary   ntfs            boot
 2      209715200B     126038835199B  125829120000B  primary   ntfs
 3      126038835200B  126877835263B  839000064B     primary   ext4
 4      126878743552B  500107837439B  373229093888B  extended
 5      126878744576B  135468679167B  8589934592B    logical   linux-swap(v1)
 6      135469727744B  240327327743B  104857600000B  logical   ext4
 7      240328376320B  500107837439B  259779461120B  logical   ext4

(parted) q                                                                
# mount -o loop,offset=240328376320 paviliondm1.img /mnt2
# ls -l /mnt2
(aparecen todos mis archivos!)

Feliz de la vida puedo volver a usar los archivos que tenía en esa partición!
Salud, hermanos pingüinos!

miércoles, 2 de noviembre de 2016

Manjaro 16.10 y Toshiba L845 con SSD

Dado que logré adquirir un disco SSD Kingston de 480 GB, lo instalé en mi laptop Toshiba L845 y me decidí a instalar, luego de un buen tiempo usando una misma distro que soporta rolling upgrades, nuevamente Manjaro.
Bajé la última versión al día de la fecha, 16.10, y lo instalé. Increíblemente, la instalación duró no más de diez minutos. Una belleza.
Un dato importante: como estoy usando f2fs para las particiones / y /home, tuve que generar una partición /boot de 1 GB en formato ext4 para que tome el viejo /boot/efi que ya tenía en mi disco original, ahora mi disco secundario, ya que sin eso, la instalación fallaba cuando debía instalar el bootloader.
Pero la sorpresa llegó cuando el equipo rebooteó. No levantó bien la tarjeta gráfica, y debí seguir una serie de pasos para que funcione.
Los pasos que debí seguir se debieron ejecutar desde la línea de comandos (se debe ejecutar Ctrl-Alt-F2 para llegar a la CLI, ya que no se puede ver casi nada cuando bootea el equipo), y son los siguientes:

sudo pacman -R catalyst-input catalyst-server catalyst-utils catalyst-video lib32-catalyst-utils linux44-catalyst
sudo mhwd -i pci video-ati
sudo pacman -S lxdm xfce4-session
sudo pacman -Syyuu mhwd-db-catalyst
sudo mhwd -a pci nonfree 0300
sudo reboot

Este breve artículo es para que no se deban romper los cuernos intentando levantar una tarjeta Ati Radeon que responde a esto:

[myhost ~]# lspci | grep VGA
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Thames [Radeon HD 7500M/7600M Series]


Ahora sí, luego del reboot, todo funcionó como debía.

Otro de los goodies de esta máquina es que el touchpad puede que no funcione como se desea luego de seguir estos pasos, por lo que se deben instalar un par de paquetes para que tengamos las funciones normales:

sudo pacman -S xf86-input-libinput 

Con esto, luego del reboot, veremos nuestra máquina funcionando como es debido.

Como notas de color, y dado que nuestro disco ahora es un SSD, si decidimos actualizar su kernel del 4.4 que viene predeterminado en la versión 16.10 por el 4.8.5-2, último al momento de escribir este artículo, les recuerdo que deben tocar el archivo /etc/mkinitcpio.conf para que incluya estos módulos:

MODULES="crc32 libcrc32c crc32c_generic crc32c-intel crc32-pclmul"

Si les pasa como me ocurrió a mí, que no lo tocaron de entrada, verán que luego de la instalación del nuevo kernel el sistema no bootea, y se queda en el tan terrorífico "rootfs #" prompt.

Para superar este trago amargo, deben bootear desde el mismo pendrive que usaron para la instalación (no es necesario que sea el mismo, pero si de UN pendrive de instalación), y ejecuten los siguientes pasos, desde una terminal del liveusb:

sudo bash
mount /dev/sdxY (donde está / en nuestro disco) /mnt
mount /dev/sdxA (donde está /boot en nuestro disco) /mnt/boot
mount /dev/sdxB (donde está /boot/efi en nuestro disco) /mnt/boot/efi
mount /dev/sdxC (donde está /home en nuestro disco) /mnt/home
cd /mnt
mount -t proc proc proc/
mount -t sysfs sys sys/
mount -o bind /dev dev/
mount -t devpts prs dev/pts/
chroot /mnt /bin/bash

(si no lo hubieran hecho antes, editen el archivo /etc/mkinitcpio.conf con lo que tengan a mano, vi, vim, o un editor gráfico ejecutado desde otra terminal anteponiendo "sudo", y agreguen lo que más arriba cito)

mkinitcpio -c etc/mkinitcpio.conf -k 4.8.5-2-MANJARO -g /boot/initramfs-4.8-x86_64.img

Luego de estos pasos, salimos del chroot y dejamos todo como estaba:

exit
umount /mnt/proc 
umount /mnt/sys
umount /mnt/dev/pts
umount /mnt/dev
umount /mnt/boot/efi
umount /mnt/boot
umount /mnt/home
umount /mnt
reboot

Antes que llegue a bootear, y luego de la bajada, sacamos el pendrive que usamos para recuperar nuestro sistema operativo muerto, y listo. Todo funciona ahora.

lunes, 4 de julio de 2016

La belleza de KVM y virt-manager

Luego de varias actualizaciones, me encontré con la belleza de necesitar conectarme a mis máquinas virtuales usando "virt-manager", y me topé con el hermoso mensaje:

libvirtError: authentication unavailable: no polkit agent available to authenticate action 'org.libvirt.unix.manage'

La cuestión es que en medio de estas actualizaciones, hubo una de seguro que no tuvo en cuenta algunas cosas. Mi usuario debiera ser administrador de KVM, pero no lo veo en el grupo "kvm", entonces decidí agregarlo como en la vieja escuela: tocando /etc/group, buscando el grupo kvm, y agregando mi usuario allí.

Pero con eso no alcanza. Se deberá agregar un archivo llamado "/etc/polkit-1/rules.d/49-org.libvirt.unix.manager.rules", con el siguiente contenido:

polkit.addRule(function(action, subject) {
    if (action.id == "org.libvirt.unix.manage" &&
        subject.isInGroup("kvm")) {
            return polkit.Result.YES;
        }
});

Listo, luego de haber relanzado algunos procesos, pude conectarme tranquilamente.

LA EXPLICACIÓN

Generalmente esta sección será obviada por todo el mundo, y sólo cuando encuentren más problemas quizá vuelvan para acá. Pero debo explicar un poco de esto, así que allá vamos.

Según su página oficial, polkit es una forma de entregar permisos privilegiados a procesos no privilegiados. Sudo lo podría hacer, todo el mundo pensaría...pero lo cierto es que polkit los asigna a niveles atómicos, permitiendo mayor control todavía que con sudo. 

Como cada día estamos más cerca de volvernos desarrolladores web cuando lo que queremos es gestionar un GNU/Linux, polkit maneja sus reglas de autorización usando un lenguaje muy de la onda Javascript, ubicados en /etc/polkit-1/rules.d. Tal como lo hicimos nosotros. Aviso: cuando el /etc/passwd se deba escribir con tags HTML, me paso a otro sistema operativo. 

Qué es lo que hicimos en nuestro caso? Le dijimos a polkit que si la action.id es org.libvirt.unix.manage, que es la que nos está generando el error, y el que lo invoca está en el grupo "kvm", que es al que nos hemos agregado, entonces el resultado es una hermosa autorización. Sencillo, no? Así de fácil es manejar la seguridad de nuestros equipos ahora. A disfrutarlo...

domingo, 3 de abril de 2016

VLC 2.2.2 en Manjaro

Para los sufrientes amigos de los videos y demás yerbas multimedias que usan el viejo y querido VLC, habrán notado que luego de la última actualización (este post es del 02/04/2016) este programa no levanta.
Si lo ejecutan desde línea de comandos encontrarán el mensaje:

[hecsa@sdf1 ~]$ vlc
VLC media player 2.2.2 Weatherwax (revision 2.2.2-0-g6259d80)
[000000000062d148] core libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
Segmentation fault (core dumped)

Y si lo ejecutan en modo verborrágico:

[hecsa@sdf1 ~]$ vlc -v
VLC media player 2.2.2 Weatherwax (revision 2.2.2-0-g6259d80)
[0000000000c7b148] core libvlc warning: cannot load module `/usr/lib/vlc/plugins/visualization/libprojectm_plugin.so' (libprojectM.so.2: cannot open shared object file: No such file or directory)
[0000000000c7b148] core libvlc warning: cannot load module `/usr/lib/vlc/plugins/visualization/libgoom_plugin.so' (libgoom2.so.0: cannot open shared object file: No such file or directory)
[0000000000c7b148] core libvlc warning: cannot load module `/usr/lib/vlc/plugins/codec/libtwolame_plugin.so' (libtwolame.so.0: cannot open shared object file: No such file or directory)
[0000000000c7b148] core libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
Segmentation fault (core dumped)

La solución? Bien sencilla: hay que instalar algunos paquetes que los genios que armaron el instalable del VLC no pusieron como dependencias: 

[root@sdf1 ~]# pacman -S community/projectm community/projectm-jack community/projectm-libvisual community/projectm-pulseaudio community/projectm-qt community/projectm-test community/libgoom2  community/twolame 

Luego, abrimos de nuevo el querido VLC, y funciona. Los espero en la próxima entrega de "los garfios mágicos".

domingo, 20 de marzo de 2016

Windows 10 muy lejos de la empresa

No suelo embarcarme en discusiones del estilo "GNU/Linux vs. Windows" ya que dejé ese capítulo hace varios años. De hecho, pensé que las bases tecnológicas de este tipo de discusión formaban parte del maletín cultural de las personas cercanas al mundo de IT, y que por ende, no tenía más sentido.
Pero por cuestiones laborales tuve en suerte el tener la primera homologación de Windows 10 para un entorno corporativo, y con esta tarea, comenzaron las sorpresas. Como consecuencia de un proyecto de este estilo, me siento comprometido a compartir algunas de las impresiones que me llevaron a pensar en este nuevo sistema operativo de M$ como algo más orientado a un celular o un tablet, y ni en chiste al mundo corporativo, considerando inclusive elementos importantes, como ser la integración de entornos, o la interfaz común entre ellos.
El proceso de homologación comienza como siempre con los pasos necesarios para realizar la instalación, y la validación sobre la compatibilidad de las máquinas existentes en casa de un cliente para albergar el SO, incluyendo detalles sobre disponibilidad, estabilidad y mantenibilidad de drivers, y los programas circundantes.
Aquí la primer sorpresa. No todas, ni tampoco la mayoría, pero sí varias de las máquinas existentes, que soportaban Windows 7, tienen problemas con sus drivers para Windows 10. Y cuando digo problemas me refiero no a que no existan, sino a que luego de implementados requieren de verificaciones varias por haber problemas que llevan a que la máquina se rebootee.
Literalmente un desastre, porque uno prefiere saber que algo no está soportado, a encontrarse con la sorpresa de que se le cae la máquina por un bug que sólo se descubre cuando una falla aparece. Al comunicarnos con el soporte Gold de M$ encontramos que la respuesta es "es cierto, no funciona con tal o cual pieza de hardware, el driver no está aún estable". En particular, hemos juntado varias preguntas para ser volcadas al soporte en cuestión, siempre hablando del Gold.
Una vez analizados esos inconvenientes, y acotada la cantidad total de máquinas que pueden recibir este nuevo SO, nos encontramos con varios problemas de seguridad bastante fuertes, que no sólo que no están resueltos, sino que ni en el soporte oficial ni en algún foro perdido pudieron ser superados.
Por ejemplo, M$ Edge es considerado inseguro, y por ello si alguien genera un usuario local en una máquina, y decide ingresar con él y abrir dicho programa, recibe un mensaje interesante, mencionando que no se puede con esa cuenta. Sí, el usuario no es guest, ni nada de ese estilo.



Al hablar con el soporte (remarco, Gold), nos mencionaron que ese problema está reportado, y que no se va a solucionar porque M$ Edge es considerado inseguro.
Y lo mismo pasa con otros elementos que sorprenden por ser de los usados normalmente por un usuario local, como ser el cambio de hora en el reloj, o los gadgets que aparecen al abrir el menú que sería de "Inicio".
Todo esto ocurre con el equipo recién instalado, y sin incorporarlo a dominio alguno.
Entonces comenzaron las pruebas insertándolo a un dominio prexistente, tanto AD como Samba-NT, ya que se debe homologar para ambos casos.
Para el caso de AD, uno de los primeros problemas encontrados consistió en que un equipo agregado al AD, luego de ingresar con un usuario de dominio, comienza a pedir la clave de dicho usuario y lockear la pantalla, aún cuando el tiempo de lock no se haya alcanzado. Algunas veces la deslockea, y otras veces no, por lo que si hay alguna política de lock de claves por reintentos fallidos (como las hay en la mayor parte de las empresas), el usuario termina lockeando invountariamente su cuenta, aún cuando haya ingresado bien su contraseña. En este caso es necesario acceder al servidor de dominios y deslockear dicha cuenta para que se pueda seguir trabajando. La respuesta de soporte Gold? "Ya está reportado, y no hay una solución inmediata al tema". No es terrible, pero implica que un usuario genere un ticket, y que el sysadmin lo resuelva reactivando la cuenta. Supongamos una hora de trabajo, y una o dos horas sin poder trabajar por parte del usuario final. Y eso si el usuario no está de viaje por alguna región exótica del mundo, donde una llamada signifique una diferencia de ocho horas, por ejemplo.



Otro issue encontrado es que aún cuando el servidor de dominios sea Windows 2012, pueden aparecer problemas al mapear unidades de red compartidas cuando se intentan montar automáticamente por medio de logon scripts. Para resolverlo hay que tocar algunas claves de registry, y sale funcionando. Nuevamente, un par de horas de máquina sin producir, y alguna hora de sysadmin. Eso por cada máquina.
Si todo lo anterior parece sacado de un libro de fantasías, lo mejor viene cuando se quiere ingresar a un viejo dominio Samba-NT (Samba 4 en modo NT, no AD), momento en el cual hay que cargarle varias claves de registry para que no nos reporte que no hay servidor de dominios, otro tanto para que soporte los nuevos roaming profiles, y otros tantos rebooteos y cambios para que realmente funcione de manera medianamente estable.
Calculé el tiempo de implementación en una hora, para el SO básico, media hora por los patches iniciales, media hora para cambiar claves de registry para su ingreso en el dominio, otra media hora para las siguientes modificaciones de registry, y como me levanté con el corazón dulce, dejo en sólo una hora el marcador para todo lo demás. Y ojo, no estoy considerando implementación de Office, y demás herramientas.Eso implica unas tres horas y media por puesto.
Claramente, mi informe final trató de plasmar todo esto, y llegamos a lo siguiente:


  • Implementar M$ Win 10 significa, en casos de AD, unas dos horas de implementación, y unas dos a tres horas de soporte mensuales al menos hasta que aparezcan patches para todo lo que nos fuera reportado como "ya lo sabemos, y no hay solución".
  • Implementar M$ Win 10 significa, en casos de NT-Domains, unas tres horas y media por puesto.

Entonces, pensándolo para una empresa de unos cien puestos (100 PCs), que no es una gran cantidad, ni nada que se le parezca, caeríamos en un overhead de unas doscientas horas de implementación, y unas trescientas horas de soporte, para que quede algo estable. Para el caso de NT-Domains, tenemos unas trescientos cincuenta horas de implementación.
De lo anterior llegamos a que un proyecto de despliegue de este nuevo SO significaría, entonces, contratar por lo menos tres personas extra en el equipo de IT. Al menos por el tiempo que se esté desplegando el SO.
Luego tenemos otros temas, como ser las configuraciones de actualizaciones automáticas, seguridad, cada paquete de oficina, y demás, de lo que cual no tiene mucho sentido hablar aquí, ya que es lo mismo que venimos haciendo hace años.
Agradezco a M$ los intentos por aumentar la ocupación en nuestro rubro de IT, pero no es ésta la forma...termina en un costo extra para empresarios que no conocen mucho del tema, y deciden adquirir las nuevas licencias casi a la fuerza, y con la promesa de que "si no te gusta, te vestís y te vas"...
Por estos elementos, y por la increible desprolijidad en la entrega de un SO que pareciera haber salido del horno un tiempo antes de estar cocido, creo que está aún bastante lejos del mundo corporativo, y no lo veo evolucionar tampoco demasiado en el mundo móvil. Veremos qué nos depara el destino en este sentido, y recordemos que siempre tendremos a nuestros amigos, los pingüinos, los diablillos, o los soles, que se implementan en pocos minutos, se mantienen estables en el tiempo, no requieren antivirus, y su licencia puede ser GPL. Y en una de esas, hasta logramos que nuestro sysadmin amigo sonría...

[Agregado] Hoy me encontré con la belleza de que ya varios son los sitios que no soportan Windows 10. El que más me preocupó, al menos por ahora, es el de Webex, que al accederlo nos muestra esto:



Por lo tanto, si tu usuario pide Windows 10 y quiere mantener reuniones con Webex, estamos en problemas...


sábado, 9 de enero de 2016

Breve review de las laptops que usé en mi vida

NOTA: Si no sos de los que les gusta leer mucho, acercate a la parte de abajo de este artículo, a su conclusión. Si querés entender el por qué de esto, seguí leyendo de arriba para abajo, como siempre.

Hoy desperté y recordé que tengo una máquina muy vieja y chica sólo funcionando como filtro de correo. Casi como si fuera nueva me acerqué para ver cómo estaba, y si necesitaba actualizaciones, ya que no la toco desde hace siglos.

Allí estaba, funcionando como si nada, con una tonelada de tierra encima, la pantalla con más suciedad de lo que cualquiera podría imaginar en una laptop, que en este caso es una netbook.
Mientras le bajaba los mil patches que necesitaba para estar actualizada, comencé a recordar las máquinas que me acompañaron en mi vida, y decidí que no sería mala idea hacer este review como para tener una idea general de cómo funcionaron.

La primera fue una Texas Instruments viejísima, que creo que no contaría en el review, ya que no tiene ni por las tapas las características de las que hay ahora.

Esa máquina funcionó relativamente bien, aunque tenía su buen peso (en esa época, más de quince años atrás todas eran pesadas), y un mecanismo un tanto extraño para intercambiar la diskettera con la unidad lectora de CDs. Decidí ver si aún la tenía entre mis cosas, y efectivamente, allí estaba. Su batería ahora no dura más de media hora, pero aún vive. No tenía tarjeta de red, pero le agregué una junto a un módem para conectarme a Internet.

La que tuve inmediatamente después fue una IBM Thinkpad 600, la que para mi sorpresa aún está en un rincón de la casa de mis padres. La encendí, y luego de explicarle a su BIOS que ya no es el año 1976, y ver que comenzó a cargar su batería, quedó funcionando.

Levanté el mail, le configuré mi cuenta actual, y funcionó aún con los viejos programas que tenía ese antiquísimo Slackware que estaba instalado. Y funcionó todo. Hasta levanté archivos adjuntos en formato Word, que abrieron el StarOffice que tenía (el antecesor del OpenOffice, que es el antecesor del LibreOffice).

Cuando la desenchufé, la batería aguantó casi cuarenta y cinco minutos. No tiene WiFi, pero la usé con una tarjeta PCMCIA WiFi, y todos felices.

Luego, tuve una IBM A22m. Literalmente, era el Ford Falcon de las máquinas. Como gran innovación, aparte de tener una pantalla de 14', tenía diskettera, lectograbadora de CDs, lectora de DVDs, y UN puerto USB. Esa ya no la tengo, porque luego de haber compilado cantidad de kernels de Solaris Express para el proyecto Indiana, lo que luego sería OpenSolaris, la vendí a alguien que cuando vino a retirarla por mi casa recuerdo que me preguntó si era nueva, porque tenía su teclado perfecto, la pantalla sin un mínimo pixel quemado, su batería duraba una hora y media, y todo, pero todo, andaba bien.

Luego recuerdo que una persona que viajaba bastante me comentó que estaba trayendo unos equipos de una marca rara llamada Lenovo, y que como usaba sólo dos, podía traer tres y venderme una de esas máquinas a mí. Esa fue mi primera Lenovo, de la vieja época, que tenía un interesante teclado con algunos símbolos en japonés, así como su BIOS, y un maletín que creo, fue el mejor que tuve en mi vida entera. Su pantalla tenía una definición infernal: 1280x1024. Tenía lectora de DVDs, y una innovación interesante que no pude usar sino hasta que comenzaron a venderse por acá Access Points: tenía WiFi incorporado.

Cuando la vendí el comprador me preguntó lo mismo, si hacía poco que la tenía, porque estaba, literalmente, con el teclado perfecto, y su batería duraba casi dos horas.

Al vender esa máquina compré una HP Pavilion DV5000. Pantalla grande, Windows Media Center preinstalado, un teclado más que decente, lectograbadora de DVDs, WiFi, etc. Esa máquina aún la tengo, claramente apagada. Su batería, que en un principio duraba dos horas, comenzó a durar cada vez menos, hasta que se quedó en algo así como unos cuarenta y cinco minutos. También fue laboratorio del ya ahora existente OpenSolaris, y luego de experimentos varios con Illumos.

Un detalle: el circuito de refrigeración siempre tenía problemas, y tuve que desarmarla para sacarle pelusas mil veces. Recuerdo por lo menos unas cinco veces, porque cuando subía la temperatura, se apagaba sola. Yo en el medio de una edición de un documento, y la maldita se apagaba.

En el medio, y por cuestiones laborales, tuve una Dell D600. Lindo bicho, con una batería que no duraba más d euna hora y media, un teclado que parecía que se iba a romper, pero no terminaba de hacerlo, un puerto USB, y tornillos que cada tanto se salían solos. Levantaba la máquina y veía cómo se caían. Muy bien armada, ja!

A esa máquina, y por temas laborales también, la sucedió una Dell 630. También lindo equipo, pero con la batería que cada día parecía funcionar peor. Un buen día me llegó un mail de Dell avisando que la batería por un problema de diseño podría explotar, por lo que me mandarían una nueva. Y así lo hicieron. Literalmente, el mejor servicio al cliente que uno pueda imaginar. Incluye hospital de quemados...

Luego de esa máquina, adquirí una HP 2133 mini, ya que quería una máquina con el formato netbook, pero con un teclado que sirva para algo. Y esa máquina, un lujo de puro aluminio, con procesador Via C-7m, soportó hasta la instalación de OpenIndiana. Interesante que en esa época HP, por estar algo peleada con Microsoft, la vendía con Suse Linux. Claro está, el Suse no se podía actualizar a menos que pague un contrato con Suse, lo que me parecía en extremo absurdo considerando que justamente había comprado algo con un sistema operativo de código abierto. Puro software libre, pero pago. Un chiste de HP.

como buena HP, también tenía problemas térmicos constantes. No se llegaba a apagar, pero los sensores marcaban muy seguido los tan temidos 80°. Y se me tostaban los pelos de las piernas, eso lo recuerdo. Esa máquina aún la tengo, ya que me encariñé con el hecho de haber cosido una funda de cuerina sólo para que no se me raye. Su disco cada tanto comenzaba a zapatear, eso sí.

Luego en un viaje adquirí una Lenovo S10e (en realidad me la regalaron los miembros de la comunidad de OpenSolaris en un viaje a San Francisco donde todos nos juntamos para planificar lo que sería el futuro de este sistema operativo, casi sin saber que en breve se venía el destrozo, y no iba a tener futuro, al menos no como OpenSolaris). Esa máquina es la que hoy encontré, y cuya batería viene aguantando más de tres horas, con el WiFi encendido, y sin chistar. Teclado algo chico, pero la máquina anda perfecto.

Claro, con mi fiebre de potencia, adquirí una Toshiba con procesador Core i7, 32 GB de RAM, y un disco de 1 TB. A la semana de usarla, tenía la sensación de que la tenía de toda la vida. El teclado ya se mostraba gastado, la pantalla parece de nylon, el lectograbador de DVDs funciona cuando quiere (desarrolló una personalidad destructiva para con sus insumos) y su batería bajó en un 20% su capacidad. El balance general es bastante malo, y sé que si tuviera un mínimo golpe, se viene el velatorio de la máquina. Es una 850, o algo así. Lo peor, es el UEFI. No sólo por ser UEFI, sino porque está programado de forma tal que para poder ingresar a él, y solicitar funciones tan avanzadas como un cambio del dispositivo de booteo (!) hay que generar un error de teclado, con lo que cual se puede ingresar. Muy práctico e intuitivo, por supuesto. Eso lo obtuve de un foro una semana y media antes que el soporte de Toshiba siquiera me responda el mail que les mandé.

En el camino compré una Banghó para un pariente mío, la cual, sorprendentemente, sigue funcionando, luego de más de cinco años. No se lentificó, y si bien su batería ya pasó a mejor vida, aún se pelea con el mundo de la informática. Eso sí, he visto otras máquinas con el mismo procesador, la misma RAM, y el mismo disco, funcionar notablemente más rápido. Ergo: algo es malo en el motherboard, y eso pone todo más lento. Ni que hablar de las acrobacias que tuve que hacer para instalarle Linux, ya que su chipset debe haberse fabricado en forma artesanal en alguna casa de familia de Japón, la que se quemó y no se pudieron recuperar ni los planos ni las especificaciones.

Todas las demás Banghó que probé, ya sean Celeron, Core i3, i5, i7, y sus variantes, tienen la característica de parecer hechas para que un soplido o estornudo fuerte las rompa. Y calientan. Todas calientan al nivel de esterilizar a un Sysadmin si se las pone sobre las piernas. Los ventiladores siempre están funcionando al máximo, y aún así calientan muchísimo. Máquina ideal para el invierno de zonas árticas, pero creo que allá no se venden.

Luego, por temas laborales tengo una Lenovo T430, cuyo teclado estoy usando para escribir esto, y que aún funciona, luego de tres años de transportarla de acá para allá, perfectamente. El disco no presenta errores, y si no fuera por un sistema de encripción de datos que la lentifica notablemente, no tendría que cambiar nada.

En el medio de todo esto, compré una HP Pavilion dm1. Procesadores AMD E350-II, 2 GB RAM, 500 GB de disco. Esta máquina es decente desde el punto de vista del teclado, y su pantalla, y su carcaza es también de aluminio, pero el disco ya patinó un par de veces, y como todas las HP, levanta temperatura en forma exagerada, aún cuando no hay mucho procesamiento. Otra tostadora que al menos, no se apaga sola.

También por el medio de esto obtuve una Asus tipo netbook, con procesador Celeron. Una cosa bárbara, porque funciona aún el día de hoy. Y funciona bien. Su teclado anda, su disco no falló, así como ninguna otra pieza de su hardware. Lo mismo le pasó a todos los que conozco que compraron esta marca.

CONCLUSIÓN:

- Todas las Lenovo que usé en mi vida tuvieron teclado duradero, batería que no se agotó, disco que no se rompió, y las pude revender a buen valor, por ser Lenovo. Y no me tostaron las piernas.

- Todas las HP que tuve al poco tiempo quise revolearlas por el aire, porque calentaban muchísimo (80°, llegando a apagarse solas), o se tapaban sus ductos por problemas de diseño. En todos los casos sus discos se rompieron, ya sean de notebook, netbook, o cualquier cosa. Al querer venderlas, todos los compradores peleaban el precio "por ser una HP". Nunca más compro una a menos que me aseguren que su fábrica contrato psicólogos para sus diseñadores.

- Salvo una Celeron muy vieja, que varios me dijeron que salió buena de fábrica, las Banghó resultaron descarte. Caras para el pésimo hardware que tienen, y sus carcazas son de juguete. Todas calientan una barbaridad, sufren de problemas de hardware fuertes (pantallas que se queman solas, lectograbadoras que no funcionan luego de un par de grabaciones, teclados malísimos, tarjetas WiFi que se descomponen porque sí, discos más que débiles, y un largo etc.).

- Las Dell se mostraron como un punto intermedio entre la excelencia de las Lenovo, y la basura Banghó. Me da un poco de impresión que alguien me diga que me pueden estallar los genitales por una batería que salió de fábrica con un error de diseño, no lo voy a negar. Que me manden un reemplazo de batería a un hospital donde puedo estar internado en la sala de urología por una reconstrucción no sería algo que consideraría un buen "servicio al cliente". Pero bueno, es mejor que nada.

- Prometo no adquirir nunca más una Toshiba aunque venga con cuatro procesadores Intel Xeon de última generación, 64 TB de memoria RAM, y un array de discos de 250 TB colgando de su costado. Son quizá un punto intermedio entre las Dell y las HP. El precio es por lejos mejor que en cualquiera de estos casos, y casi que son más económicas, si se consigue la promo adecuada, que las Banghó.

- Las Asus aparentemente, y tocando madera, se vienen comportando bastante bien, por lo que podrían colocarse en un escalón entre las Lenovo y las Dell.

- Texas Instruments, lamentablemente, R.I.P. Amé mi primer notebook, donde instalé mis primeros Linux móviles.

- La escala final, en función de calidades, queda así:

1) Lenovo. Todas funcionaron bien, sin importar si eran de gama alta, media o baja.
2) Asus o Dell, según se prefiera.
3) Dell o Asus, según se prefiera.
4) Toshiba.
5) HP (no es gracioso perder información porque siempre sus discos se rompen, tanto en laptops como en PCs o servidores).
1006) Banghó. Todas, salvo una, funcionaron muy por debajo de lo esperado. Y de lo pagado.

En fin, esto no es para influir el deseo de compras de nadie, pero sí para compartir mi propia experiencia, que como podrán ver más arriba, es más que personal, y podrá ser retrucado por cuaqluiera que haya logrado con una máquina de las marcas que yo considero hoy incomprables, increibles resultados.

Abrazos!

[NOTA]: He recibido excelentes referencias de las máquinas Samsung, poniéndolas quizá por debajo de las Lenovo. Luego de las Mac, poniéndolas inclusive por arriba de las Lenovo. No las agregué a la escala, por no ser parte de mi experiencia de vida. Pero si adquiero alguna de ellas, o algún alma (muy) caritativa decide donarlas a la causa, no les quepa duda que estarán por acá en una próxima edición.

PD: Todas las marcas mencionadas en este artículo son propiedad de ellas, o eso piensan sus directivos, y sólo se las menciona por ser éste un blog, y no un centro de difusión de radio, televisión, onda corta transoceánica, microondas espaciales, o similar.