Windows Vista (y IV)
June 19th, 2006
Definitivamente, tras unos cuantos intentos de conseguir mantener un sistema usable con Windows Vista Beta 2, he decidido desinstalarlo. La mayoría de las aplicaciones que necesito no funcionan:
- NX client
- Cygwin
- VMware Server
Mi experiencia con Vista ha sido francamente desagradable. No sólo la instalación es horriblemente lenta, sino que el sistema es inestable, la mayoría de las aplicaciones no funcionan o no se instalan, consume una barbarie de recursos hardware, y el rendimiento del sistema es francamente penoso.
Por ello, vuelvo a ocupar los dos discos duros con un RAID-0 y Ubuntu Linux.
Quizá en otra ocasión, cuando Vista deje de ser algo más que una Beta de exhibición, vuelva a instalarlo para probar cómo se comporta con una carga de trabajo real. A día de hoy, para mí, es francamente inútil.
Windows Vista (III)
June 9th, 2006
Con respecto al arranque dual, me ha costado un poco conseguir que funcionase correctamente, pero al final para haber quedado bastante bien. La idea consiste en instalar Windows Vista en el primer disco duro. No he conseguido convencerle de que se instale en una partición, y pretende abarcar la totalidad del disco duro. Una vez instalado, tras casi 1 hora, instalé SUSE 10.1 en el segundo disco duro, indicando al instalador YaST2 que colocase GRUB en el MBR del primer disco duro. Después sólo basta con añadir la siguiente entrada el fichero de configuración de GRUB:
title Windows Vista rootnoverify (hd0,0) makeactive chainloader +1
Otra de las peculiaridades que he encontrado es la desaparición del antiguo cargador de Windows, y su reemplazo por Boot Configuration Data (BCD), supuestamente un cargador renovado compatible con EFI. Sinceramente, no me parece nada del otro mundo, sobre todo si se compara con GRUB, máxime cuando las modificaciones a este cargador se deben realizar a través de la herramienta bcdedit.exe.
Como buen fan de los sistemas UNIX y GNU/Linux, he intentado instalar CygWin bajo Windows Vista Beta 2, aunque sin éxito. Para quien no lo sepa, CygWin es una colección de herramientas y librerías que permiten disfrutar de un entorno similar al intérprete de comandos de GNU/Linux:
Cygwin is a Linux-like environment for Windows. It consists of two parts:
- A DLL (cygwin1.dll) which acts as a Linux API emulation layer providing substantial Linux API functionality.
- A collection of tools, which provide Linux look and feel.
CygWin hace disponible el intérprete de comandos bash, el editor vim, el editor emacs, herramientas de gestión de procesos, como el comando ps, herramientas de manipulación de archivos, como ls, less, cat, grep o tail, etc.
Desgraciadamente, parece que el ejecutable bash.exe sufre los mismos problemas que el cliente NX de NoMachine, es decir, resulta imposible ejecutarlo sin obtener un error grave, y creo que el culpable es nuevamente el Address Space Layout Randomization. Curiosamente, esta característica se ha anunciado a bombo y platillo, pero es una facilidad que otros sistemas operativos y entornos llevan implementando bastante tiempo, como OpenBSD, PAX o las extensiones Exec Shield que, si no recuerdo mal, fueron los núcleos de Red Hat los primeros en incorporar.
Una de las aplicaciones que sí he conseguido hacer funcionar correctamente sobre Windows Vista es Synergy, una aplicación multiplataforma que permite compartir un teclado y un ratón entre varias máquinas. Synergy está disponible para Mac OS X, para GNU/Linux y para Windows, lo que me permite usar el teclado y el ratón del PowerBook G4 de 17″ para controlar el PowerBook G4 12″, el NEC Chrom@ de 15″, el Pentium IV y el Pentium III, sin tener que moverme del sitio.
Curiosamente, cuando se ejecuta una aplicación bajo la identidad de otro usuario (por ejemplo, el Administrador), Synergy deja de funcionar hasta que dicha aplicación no termina. Entiendo que al cambiar el contexto de ejecución a otro usuario, y dado que Synergy se ejecuta con las credenciales de un usuario y no como servicio, los eventos de teclado y ratón que genera Synergy no afectan a la nueva aplicación.
Web 2.0 y seguridad
June 7th, 2006
Francamente, estoy bastante cansado de oir hablar de la Web 2.0 por todas partes cuando ni siquiera soy capaz de encontrar lo que busco utilizando la última tecnología del planeta. Me refiero a la búsqueda semántica.
Independientemente de estos hechos, lo que resulta innegable que cada vez aparecen más y más aplicaciones basadas en Web. Muchos las llaman aplicaciones Web 2.0, pero para mí son la evolución lógica de las aplicaciones Web: mayor versatilidad y potencial, haciendo posible la implementación de aplicaciones, antes territorio exclusivo del escritorio pesado, como hojas de cálculo y procesadores de texto que aprovechan cada vez más el potencial de los navegadores. Sea JavaScript, sea CSS, o XML, la Web 2.0 resulta muy atractiva. ¿Alguien ha probado la integración entre Google Mail y Google Talk? Resulta escalofriante observar cómo puedes empezar a escribir un correo y, si de repente, el destinatario entra en el chat de Google Talk, puedes optar por enviarle el texto como un mensaje instantáneo en lugar de un correo electrónico. O la integración entre el navegador Firefox y Google Notebook.
Ciertamente, las ventajas son increíbles: La Red se convierte en un sistema de almacenamiento, donde la información y el conocimiento están (casi) siempre accesibles, desde cualquier parte del mundo. La flexibilidad de consultar tu correo, tu calendario, tus contactos, tus notas, las últimas búsquedas o tus hojas de cálculo desde cualquier ordenador y cualquier ricón del mundo con acceso a Internet. Ya no tendría que preocuparme de sincronizar mi teléfono móvil con mi ordenador, sino que simplemente bastaría con mantener mis contactos y calendario en servicios Web 2.0, y utilizar mi móvil (de momento, con las tarifas actuales no) para navegar por Internet y acceder a ellos.
Sin embargo, toda tecnología, toda ventaja, tiene su contrapunto. Poder acceder universalmente a la información implica que deben hacerse ciertos sacrificios, y uno de ellos sea probablemente hacer que información antes confidencial y privada ahora esté en manos de terceros. Esto no es nada nuevo: la Policía dispone de información muy personal mía, como mi huella digital. La Seguridad Social dispone de mi vida laboral, así como la información de cotización. Hacienda sabe con bastante exactitud en qué gasto mi dinero y de dónde vienen mis ingresos. Sin embargo, no es lo mismo confiar en La Policía, en La Seguridad Social, en Hacienda o algún otro ente público (que idealista soy), que confiar en una empresa privada, quizá extranjera, cuyo único fin es ganar dinero. A cualquier precio, en muchos casos.
Curiosamente, la mayoría de los servicios Web 2.0 que permiten almacenar datos, información, e incluso conocimiento, son gratuitos. ¿Cómo es posible que una empresa que ofrece semejante potencial no cobre por ello? Está claro que la publicidad es una fuente de ingresos realmente suculenta, pero opino que detrás se esconde el As bajo la manga, y es el acceso por parte de estos proveedores de aplicaciones a información con la que nunca antes habían soñado: mensajes, hojas de cálculo, notas, y por ello, información sobre hábitos, pensamientos, proyectos, intereses, etc. Este conocimiento no tiene precio, y estoy seguro de que en manos de empresas de márketing, ventas o finanzas podrían hacer inclinar la balanza a favor de unas o de otras, y ellas estarían dispuesta a hacer casi cualquier cosa para tener acceso a él. ¿Cómo yo, pobre consumidor, puedo sentirme seguro cuando se me ofrece un servicio de almacenamiento que no me cuesta dinero? El espacio de almacenamiento que Google ofrece para GMail es inmenso. Mantener esa infraestructura de hardware y energía cuesta mucho dinero, ¿y puede pagarse sólo con la publicidad? Creo que hay más estrategia detrás. Sinceramente, la única forma de sentirme algo más seguro dejando mis datos más personales en manos de un tercero sería firmando un contrato de nivel de servicio y confidencialidad, es decir, pagar por el derecho a que mi información esté siempre disponible, en la red, pero sólo para mí, y nadie más.
Creo que la decisión entre privacidad o seguridad y flexibilidad, dados los modelos de negoio actuales, es casi una decisión exclusiva: los servicios Web 2.0 que se ofertan hoy en día son, en su mayoría, gratuitos, así que si técnicamente no puedo exigir que el servicio sea íntegro, seguro, fiable y que esté disponible cuando lo necesito, menos aún puedo exigir la confidencialidad de la información hospedada. Por mi parte, la información que almacenaría en un sistema Web 2.0 gratuito, sin un contrato que cubra mis necesidades, se limitaría a mi correo personal y a mis fotos. El resto, lo guardaría en un lugar mucho más seguro, uno que sólo yo conociera, y al que sólo yo tuviera acceso.
Windows Vista (II)
June 6th, 2006
El administrador de dispositivos es prácticamente inutilizable: la lista de dispositivos se refresca casi constantemente, y en los momentos más inorportunos, por lo que casi siempre acabo haciendo clic derecho sobre la entrada incorrecta. Parece como si Windows no fuera capaz de detectar correctamente todos los dispositivos de mi equipo, y por ello la lista se refresca casi constantemente.
Ha sido necesario instalar el controlador de vídeo de nVidia para conseguir algo más de rendimiento en el apartado gráfico, pero a pesar de ello, el rendimiento sigue siendo poco óptimo, teniendo en cuenta que se trata de una nVidia GeForce 5200FX con 256MB de memoria. En este aspecto, el controlador de nVidia de Linux saca mejor rendimiento al subsistema gráfico, sobre todo con Xgl y aplicaciones OpenGL.
Aunque Windows Vista permite cambiar la resolución de las fuentes del sistema de 96ppp a 120ppp, el cambio requiere reiniciar el sistema, lo cual me resulta incomprensible, y algunas aplicaciones no se muestran bien, como el cliente NX: los tipos de letra de estas aplicaciones se amplian con respecto a su tamaño original, pero en lugar de verse de forma bien definida como en Mac OS X o Linux, se observan de forma borrosa, por lo que he optado por devolver la resolución de las fuentes nuevamente a 96ppp.
Con respecto al tema de la seguridad, casi cualquier cambio que hago en las preferencias del sistema provoca que aparezca un cuadro de diálogo solicitando mi permiso para llevar a cabo dicha operación. Lo que resulta curioso es que operaciones que requieren privilegios administrativos, como la reconfiguración de la red, se realizan sin preguntarme la contraseña del administrador, incluso aún cuando estoy trabajando con un usuario no privilegiado.
Parece que el cliente NX no funciona correctamente, y no sólo termina inesperadamente, sino que provoca que aparezca una miríada de ventanas indicándome sobre el error, e intentando buscar una solución (no sé muy bien cómo). Creo que el problema se debe a la introducción de Address Space Layout Randomization (ASLR) en la Beta 2 de Windows Vista, aunque no puedo estar totalmente seguro. De lo que sí estoy seguro es de que no está relacionado con Data Execution Prevention (DEP) ya que está habilitado para algunos servicios de Windows, y mi procesador no tiene soporte de NX por hardware.
Windows Vista (I)
June 6th, 2006
Hace unos días que Microsoft me ha invitado a participar en la Beta 2 de Windows Vista en Español, a fin de ayudar a que la traducción de los mensajes, textos de ayuda, etc., sea lo más correcta posible.
Una famosa frase dice, “mantén a tus amigos cerca, y a tus enemigos más cerca aún”. Si bien es cierto que no soy un entusiasta de ninguno de los productos de Microsoft, empiezo a sentir interés en comprobar en primera persona exactamente qué novedades trae Windows Vista. Después de leer innumerables artículos, la impresión que tengo es que no hay absolutamente nada que Windows Vista implemente que no haya sido ya implementado en Linux o en Mac OS X. La mejor forma de comprobarlo es experimentarlo en primera persona.
Para ello, he tenido que deshacer mi configuración RAID-0 de mis dos discos duros y eliminar Linux, aunque sólo temporalmente, ya que no había forma alguna de convencer al instalador de Windows Vista de que intentara coexistir con el esquema de particiones que Linux utiliza. Una vez instalado Windows Vista, pienso volver a instalar SUSE Linux 10.1 con Xgl, aunque sea sólo para disfrutar de su escritorio espacial en 3D completamente acelerado mediante OpenGL.
La instalación de Windows Vista Beta 2 es un proceso extremadamente lento, y ligeramente engorroso, sobre todo en el aspecto del particionado: no ha habido forma de conseguir que Windows Vista se instalase en una partición de 32GB que tenía preparada para él, y he tenido que eliminar absolutamente todas las particiones del disco. Aunque es algo típico de Microsoft suponer que nadie nunca querrá usar otra cosa que no sea Windows o alguno de sus productos, no esperaba un comportamiento tan rígido y dictatorial, y es que versiones anteriores son mucho más tolerantes al respecto.
Una vez finalizada la instalación, el tiempo que empleado desde la pantalla de inicio hasta obtener un escritorio plenamente funcional llega casi al minuto, y es que la barra lateral, además de consumir demasiados recursos, enlentece aún más el proceso.
Una vez estable el sistema, veo que Windows Vista consume 591MB de memoria, aproximadamente el triple que lo que consume mi escritorio GNOME en Linux. La apariencia es realmente preciosa, y los efectos de transparencia quedan muy vistosos. Probaré a instalar los controladores de nVidia específicos porque no me puedo creer que la composición sea tan extremadamente lenta cuando con Xgl soy capaz de tener más de veinte ventanas abiertas, con transparencia, y con Windows Vista, cuando hay más de dos, el movimiento de las ventanas sobre el escritorio no es fluido. Por ejemplo, mover en Windows Vista una sola ventana a través del escritorio, dispara el consumo de procesador hasta el 80%, mientras que lo mismo con Xgl en Linux apenas hace que el consumo de CPU roce el 20%.
Package management, repositories, metadata
June 6th, 2006
I found the following post from Pascal Bleser talking about repositories, metadata, packages, and so on. All this started due to the problems with package management in SUSE 10.1:
The generic and most appropriate term is “repository”.
Well, the repository is on the server-side, for example:
- http://ftp.gwdg.de/pub/linux/misc/suser-guru/rpm/10.1
Is a yast2 repository
- http://ftp.gwdg.de/pub/linux/misc/suser-guru/rpm/10.1/RPMS
Is an RPM-MD (/repomd/yum, see below) repository
- http://ftp.gwdg.de/pub/linux/suse/apt/SuSE/10.1-i386
Is an APT-RPM repository
The following terms are used by different package managers and are all references to repositories.
Such references usually contain information such as:
- the base URL, where to retrieve the metadata and the packages
- a name, but also additional information, depending on what the package manager is capable of handling.
- YaST2 calls them “installation sources”
- ZMD/rug calls them “catalogs”
- smart calls them “channels” (AFAICR, Red Carpet calls them “channels” as well)
- apt-rpm calls them “sources”
- yum calls them “repos” (repositories)
but they’re all the same thing: references to package repositories.
Package repositories are made of “metadata”.
That metadata contains various information about the RPM packages that
are available in a repository, such as:
- package name, version, release, target architecture, distribution
- summary, description, license, project website
- what it requires
- what it provides, and the list of files contained in the package
That metadata information is needed by package managers like libzypp,
ZMD/rug, apt-rpm, smart, yum, … to be able to compute how to perform
package installations, upgrades, removals (the requires/provides
information is particularly important here).There are different metadata formats:
- RPM-MD (RPM-MetaData), also called “repomd” (Repository MetaData), also called “yum” (because its the native format for the yum package manager)
- yast2
- apt-rpm (for RPM) and apt-deb (for DEB)
- Red Carpet (also called Open Carpet)
- RPM-HDL (RPM Header List)
- URPMI (for Mandriva’s package manager)
- slack, for Slackware’s “package manager” and maybe a few others.
So, unfortunately, there’s more or less a metadata format for every single package manager. It seems the NiH (*) syndrom has spread a lot amongst package manager developers.
(*) “Not invented Here”Nowadays, most package managers seem to head for RPM-MD support, which is more or less becoming a standard:
- YaST2 supports it in SUSE Linux 10.0
- libzypp supports it in SUSE Linux 10.1
- yum supports it, obviously, it’s the yum-specific format
![]()
- apt-rpm supports it too, since one or two releases (not the version shipped with SUSE Linux 10.1 though)
- smart supports it, of course
(more information about that below)
RPM-MD is represented in XML – actually, the repository metadata is stored in gzipped XML files, in a “repodata” subdirectory on the server (*), with the following files:
- repomd.xml: main repository file, very small, contains references to the others, as well as checksums and timestamps
- primary.xml.gz: contains the most important information: list of packages (with version, release, architecture), what it requires, size of the package, summary, description, etc….
- filelists.xml.gz: contains the list of files that are included in the packages
- other.xml.gz: not used by all package managers, it contains the changelog information of every package
(*) for an example:
http://ftp.gwdg.de/pub/linux/misc/suser-guru/rpm/10.1/RPMS/repodata/
Read here for more information on RPM-MD:
http://linux.duke.edu/projects/metadata/
smart is a notable exception, because it supports *all* of the formats
above (and it has no smart-specific format).When you add a smart “channel” (repository information), here are the
types you can use (excerpt from “smart channel –help”):
apt-deb – APT-DEB Repository
apt-rpm – APT-RPM Repository
deb-dir – DEB Directory
red-carpet – Red Carpet Channel
rpm-dir – RPM Directory
rpm-hdl – RPM Header List
rpm-md – RPM MetaData
slack-site – Slackware Repository
up2date-mirrors – Mirror Information (up2date format)
urpmi – URPMI Repository
yast2 – YaST2 Repository(note, I removed the *-sys channels, they represent the packages
currently installed in the RPM database (or DEB database on Debian, etc…))And yes, you can even mix them. In my list of channels for smart, I mix
yast2, rpm-md and apt-rpm repositories.smart is even independent of the package subsystem, as it works for RPM (SUSE/Redhat/Fedora/Mandriva), Deb (Debian/Ubuntu) and Slackware. So you could install a .deb Debian/Ubuntu package on SUSE Linux with smart, but it wouldn’t make any sense because it would be stored in a DEB package database… that knows nothing about the RPM database, etc… (so that usage is pretty pointless, and not the goal of smart anyway). Actually it’s interesting because you can use smart (unmodified) on RPM, Deb and Slackware based distributions.