miércoles, diciembre 27, 2006

CDs de instalación de Debian Etch con KDE, XFCE por defecto

Como se veía venir desde septiembre por los mensajes en las listas de correo developers y debian-cd y por el directorio del servidor ftp de imágenes semanales, los muchachos del equipo debian-cd han dejado todo listo para que se genere periódicamente una variedad de tipos de CD y DVD de Debian, cada una con algunas modificaciones para que todos disfrutemos de momentos más placenteros instalando nuestro sistema operativo favorito...

Además de las imágenes generadas a diario netinst (para instalación por red) y businesscard (para minicd y cd-en-tarjeta), semanalmente se generará:
  • Un juego completo de CD y DVD para cada arquitectura.
  • Una versión del CD 1 con paquetes de KDE para cada arquitectura.
  • Una versión del CD 1 con paquetes de XFCE para cada arquitectura (mil gracias!!!!)
  • Un netinst para 3 único para amd64/i686/powerpc
  • Una versión del DVD 1 con fuentes para amd64/i686/powerpc
Esto quiere decir que Dios ha escuchado nuestras súplicas y a partir de ahora podremos instalar Debian con KDE o XFCE POR DEFECTO!!! Ya no será necesario instalar Debian base y luego el resto de paquetes para tener una instalación a medida; ahora solo bastará descargar la imagen del CD 1 con XFCE (o KDE) y podremos tener un escritorio liviano en pocos minutos. Como siempre, si quieren Gnome, simplemente utilicen el CD #1 oficial.

Este estilo de "1 CD por entorno de escritorio" es algo que varios deseabamos desde hace bastante, incluso antes de que surgiera Ubuntu, y me alegra mucho saber que ya lo tenemos disponible aquí en Debian (gracias a Joey Hess). Por supuesto, si tienen la suerte de tener DVD, en el DVD #1 tienen los tres entornos juntos (o al menos eso creo).

Lo que me queda por ver es la selección de paquetes adicionales que contiene cada CD (por ejemplo, yo suelo usar XFCE+WDM en vez de GNOME+GDM), pero eso creo que se podrá arreglar a medida que pase el tiempo.

Bueno, ya para que lo vayan probando...
Mucha suerte...!!!

Actualización 08/03/2007: Debian Etch ya es la distribución estable oficial de Debian GNU/Linux. Pueden obtener los medios de instalación siguiendo este post.

lunes, diciembre 11, 2006

Servidores virtuales en Debian con VServer (parte I)

Se dice que
"Necesidad, que es la madre de la invención" - Platón en "La República". (1)
por supuesto algunos disienten,
"No pienso que la necesidad es la madre de la invención - la invención, en mi opinión, surge directamente de la ociocidad, posiblemente también de la holgazanería. Para ahorrarse problemas uno mismo." - Agatha Christie en "Una Autobiografía". (2)
En cualquier caso, menos mal que lo que yo necesitaba ya estaba inventado (punto a favor para la definición 2).

El tópico de hoy es Servidores virtuales en Debian con VServer. Pero primero ¿qué es un servidor virtual?
"Un servidor virtual privado (también designado como servidor virtual dedicado o servidor virtual y abreviado como VPS o VDS) es un servidor que se ejecuta mediante virtualización en tándem con otros servidores virtuales en una computadora física." - Wikipedia
Las posibilidades en virtualización son varias, cada una con un buen compendio de ventajas y desventajas. Pueden encontrar una comparativa de máquinas virtuales en Wikipedia. Las implementaciones más conocidas son:
El sistema operativo en mi máquina de trabajo es Debian Etch, una versión de Debian que aún no está liberada como estable (aunque pronto lo estará). Nuestros servidores corren actualmente Debian Sarge (la versión estable actual) con las correspondientes actualizaciones de seguridad.

La virtualización es útil, en mi caso, para verificar el comportamiento de las aplicaciones en el entorno de trabajo en el que serán ejecutadas sin necesidad de tener un equipo adicional ni requerir un inicio dual con dos sistemas operativos en el equipo de desarrollo (lo que sería sumamente tedioso dado implica reiniciar el equipo para cambiar entre el entorno de desarrollo y el de implementación).

De las opciones anteriormente mencionadas opté por Linux-VServer sin muchas razones más que la facilidad de instalación.

La tecnología Linux-VServer es, según su página web:
... un concepto de particionamiento liviano basado en Contextos de Seguridad que permite la creación de muchos Servidores Virtuales Privados (VPS) independientes que se ejecutan simultáneamente sobre un único servidor virtual a máxima velocidad, compartiendo eficientemente los recursos de hardware.

Un VPS provee un entorno operativo casi idéntico al de un servidor Linux convencional. Todos los servicios como servidores de ssh, correo, web y bases de datos pueden ser iniciados en e VPS, sin modificación (o con mínimas modificaciones en casos especiales), tal como cualquier en otro servidor real.

Cada VPS tiene su propia base de datos de cuentas de usuarios y su propio usuario root, y está aislado de los demás servidores virtuales, exceptuando el hecho de que comparten los mismos recursos de hardware."

A diferencia de Xen, donde un host puede ejecutar VPS con distintos sistemas operativos, Linux-VServer es un virtualizador que opera a nivel de Sistema Operativo y utiliza el mismo kernel en el host y en los diferentes VPS, con lo cual está limitado a Linux, y preferentemente a la misma distribución que el host. Esta característica le brinda a su vez una gran ventaja: muy buen rendimiento. Pueden encontrar mucha más información leyendo el Paper sobre Linux-VServer disponible en la web del proyecto.

Esta guía es una traducción con ligeras modificaciones de "Linux-Vserver on Debian Testing (Etch), the easy way", publicada en el sitio HowtoForge.

1. Preparación del host

Necesitaremos una imagen de kernel con los parches para VServer. Debian ya nos provee imágenes preparadas, de las cuales se puede optar para la más conveniente de acuerdo a la arquitectura del host. En mi caso, descargaré linux-image-vserver-k7.

# apt-get install linux-image-vserver-k7

También será necesario descargar las utilidades para VServer:

# apt-get install util-vserver vserver-debiantools

Una vez hecho todo esto se debe reiniciar el equipo para iniciar con el nuevo kernel. Al finalizar el arranque, verificar que el kernel iniciado es el que contiene los parches VServer con

# uname -r
2.6.18-3-vserver-k7

Este kernel no es muy diferente al estándar, los módulos disponibles son prácticamente los mismos. Incluso es posible iniciar un servidor X (si es que no inició automáticamente), aunque sólo lo recomiendo si tienen bastante memoria disponible (mas de 512, preferentemente).

2. Creación de un servidor virtual

Antes de continuar debemos establecer ciertas variables que serán necesarias para la creación del nuevo VPS:
  • vsroot - Esto apuntará a un directorio o partición donde se mantendrán los archivos para cada VPS. Por defecto es /var/lib/vservers
  • Hostname - El hostname de nuevo sistema
  • Domain - El dominio del nuevo sistema (usualmente el mismo de host)
  • IP Address- La dirección IP del nuevo VPS
  • CIDR Range - La máscara de la IP anterior
  • Dist - La distribución a instalar
  • Debian Mirror - El espejo desde el cual se deben descargar los paquetes
  • Interface - La interfaz de red a utilizar, si no es eth0
Para este ejemplo, crearé un servidor virtual con los siguientes datos:
  • vsroot: /var/lib/vservers
  • hostname: mendieta
  • domain: example.com
  • ip address: 192.168.3.101 <= puede ser pública o privada
  • máscara: /24
  • dist: sarge
  • mirror: http://ftp.br.debian.org/
  • interface: eth0
Nota: si son impacientes y no quieren esperar a bajar los paquetes desde el mirror porque tienen un CD de Sarge, pueden montar rápidamente un mirror casero aprovechando un servidor web o ftp existente. Por ejemplo utilizando vsftpd, solo deben crear un directorio debian dentro de la raíz anónima (usualmente /home/ftp) y copiar allí los directorios /pool y /dist del cdrom (o crear un enlace simbólico, lo que prefieran) . En tal caso el mirror será http://localhost/debian/
De esta forma se agiliza mucho la instalación. No hay que olvidarse de, en el corto plazo, efectuar una actualización contra los repositiorios security.debian.org, a fin de no quedar utilizando versiones comprometidas de los servicios disponibles.

Bien con eso alcanza para crear el primer VPS. Sólo hay que llamar a newvserver con los parámetros dados:

# newvserver --vsroot /var/lib/vservers/ --hostname mendieta --domain example.com --ip 192.168.3.101/24 --dist sarge --mirror ftp://localhost/debian/ --interface eth0

Tras un ratito de descarga y configuración donde hay que responder algunas preguntas (la clave que se asignará a root, por ejemplo), el VPS estará disponible.

3. Control del servidor virtual

Para controlar el servidor virtual se utiliza el comando vserver de la siguiente forma:

vserver [start | stop | restart | enter]

Por ejemplo, para iniciar el servidor recientemente creado, solo hay que ejecutar

# vserver mendieta start

Si se desea detener el VPS, reemplazar start por stop.

Finalmente, para ingresar al servidor virtual, se debe ejecutar:

# vserver mendieta enter
mendieta:/#

Y allí ya tenemos un VPS con Debian Sarge en el cual podemos instalar lo que sea necesario utilizando apt-get o aptitude.

Hasta acá llego con el post de hoy. La segunda parte tratará sobre la instalación y configuración de servicios tanto en el VPS como en el host, y el establecimiento de reglas de enrutado a fin de permitir el acceso externo a los servicios brindados por el VPS.

Como siempre, espero que todo haya sido de utilidad.

domingo, diciembre 03, 2006

¿Estamos viviendo en un mundo simulado?

Estos párrafos iniciales que leerán ahora no tienen relación con el tópico, sobre el cual hablaré más abajo, pero viene al caso dado que es el disparador de la pregunta.

La televisión argentina es una televisión imposible de comparar con la de otro país. Es una televisión que redefine la palabra evolución, dado que uno esperaría que una industria como ésta mejore con los años, y luego se lleva semejante chasco al observar cuanto mucho treinta minutos de cualquier canal de aire.

Será que uno con los años se pone exquisito, pero salvo algunas honrosas excepciones que no citaré aquí pues saltan a la vista, la calidad de la tv argentina da, realmente, más pena que rabia. Como dije antes, quizá sólo sea yo quien haya perdido la tolerancia.

Pero algo tengo que agradecer a la TV. Al final, si no fuera tan mala, me quedaría viéndola y no leyendo artículos en Internet.


Ahora a lo que viene el post.

Más de una vez habrán visto películas como Vanilla Sky o Matrix y al terminar de verlas, cuando pasan los créditos y se acabó el pochoclo, uno se pregunta qué pasaría si el argumento de éstas fuera el argumento de la realidad actual. Borges mismo se lo pregunta al final de Ajedrez:

"Dios mueve al jugador y éste, la pieza.
¿Qué dios detrás de Dios la trama empieza
De polvo y tiempo y sueño y agonía?"



Es decir, ¿Sería posible que lo que estemos viviendo no fuera la realidad, sino un mundo simulado al cual vemos como realidad?

Esa es una pregunta válida cuya respuesta es naturalmente escurridiza. Yo no la puedo responder. Al fin y al cabo, mi única cuestión filosófica es "¿donde habré puesto las llaves?", e incluso a veces ni siquiera para eso tengo respuesta.

Lo bueno es que no soy el único que incurre en dicha cuestión. Nick Bostrom, un filósofo de la Universidad de Oxford, también se preguntó lo mismo en el año 2001 y escribió un paper titulado "Are you living in a computer simulation?" en el cual postula que al menos una de las siguientes proposiciones es verdadera:
  1. la probabilidad de que civilizaciones de nivel humano lleguen a una etapa pos-humana es muy cercana a cero.
  2. la probabilidad de que civilizaciones pos-humanas que estén interesadas en ejecutar simulaciones de sus ancestros es muy cercana a cero.
  3. la probabilidad de que toda la gente que viva nuestras experiencias esté viviendo en una simulación computada es muy cercana a uno.
Según Bostrom, si (1) es cierto entonces es muy probable que nos extingamos antes de que alcancemos una etapa pos-humana (lo que no significa que tenga que ser pronto). Si (2) es cierto, entonces las civilizaciones avanzadas deben de acordar no ejecutar (no permitir) simulaciones de ancestros. Si (3) es cierto, entonces sí estamos viviendo en una simulación. Finalmente, a menos de que estemos viviendo ciertamente en una simulación, nuestros descendientes probablemente nunca ejecuten una simulación de ancestros.

La Wikipedia cita algunas Críticas al argumento de simulación que también merecen ser observadas.

Y, si ya no queda otra, y sabemos que estamos viviendo en una simulación, entonces el artículo "How to Live in a Simulation" de Robin Hanson nos aportará algunos datos útiles acerca de cómo debemos comportarnos en tal caso.