lunes, 10 de marzo de 2008

Parada técnica

Dada la cercanía de la salida de la nueva versión de Ubuntu, la 8.04, prevista para este próximo mes de abril, he decidido dejar de instalar y probar cosas en la actual 7.10, pues es muy probable que ponga la nueva (de nombre Hardy Heron) desde instalación limpia, sin actualizar desde la 7.10. Esto, más que nada, para liberar espacio de disco y evitar tener aplicaciones que no uso y mal instaladas.

Así que si no actualizo a menudo esa es la razón. Pero en abril volveré con fuerza ;)

PD.: esperemos que instalar el módem USB no suponga mucho problema.

domingo, 2 de marzo de 2008

Tormenta de ideas

Ubuntu Brainstorm es una página donde los usuarios ponen iniciativas que quieren que los desarrolladores de Ubuntu lleven a cabo, así como votar las que otros postean.

La idea más votada, por ahora, es la resolución de problemas de suspensión e hibernación, seguida de una más que necesaria: interfaz gráfica para gestión de redes y sus conexiones. También se está votando la creación de una imagen USB para el sistema, olvidándonos de los cada vez más denostados CDs.

Una interesante iniciativa que seguiré de cerca.

sábado, 1 de marzo de 2008

Carta a Nvidia

Vía menéame me entero de que hay una carta escrita y lista para ser enviada a los directivos de Nvidia para que se inmiscuyan más en la creación y desarrollo de drivers para GNU/Linux, así como ampliar y facilitar su colaboración con la comunidad linuxera. Mi apoyo total a la carta, que abajo está traducida por cortesía de TuxPepino.

Corporación NVIDIA,

Nosotros, la comunidad de GNU/Linux y el abajo firmante, rogamos que ustedes, la corporación NVIDIA, incrementen sus esfuerzos en ayudar a la comunidad de código abierto para desarrollar controladores libres para su hardware gráfico. Sus principales competidores en este mercado, AMD/ATI e Intel, no sólo han dado soporte a la comunidad para desarrollar controladores de código abierto, sino que ahora han publicado abiertamente documentación para la programación de su hardware.

Si bien agradecemos que su compañía ofrezca uno de los mejores drivers gráficos privativos para Linux, no está libre de problemas y evita que muchos usuarios tengan una plataforma totalmente libre. En el pasado mostraron una pasión por el código abierto cuando dejaron el controlador binario “nforce-net” en favor de “forcedeth” creado por la comunidad para soportar las tarjetas de red integradas en sus placas base. Hay cierto rumor que dice que están desarrollando una estrategia basada en el código abierto para sus productos gráficos, de ser así, por favor díganos la verdad de sus intenciones. Incluso si sólo abrieran un subconjunto de su controlador para Linux, esto aún sería una muestra de solidaridad al mundo del software libre.

Estamos unidos bajo el nombre de OpenTheBlob.com, aunque nos damos cuenta de que legalmente es imposible liberar el código de ciertas porciones del binario de su controlador gráfico debido a patentes y por preservar la propiedad intelectual en este mercado competitivo. Sin embargo, lo que estamos pidiéndoles es el soporte lo más extenso posible a la comunidad de código abierto. El controlador de código abierto “nv” que nos proporcionaron para las X es un abominable desastre que está limitado a la aceleración 2D y no vino sin sus limitaciones. Esperamos que NVIDIA pueda proporcionar documentación concisa de programación para los dispuestos desarrolladores de código abierto sin acuerdos de no-revelación u otro tipo de restricciones legales.

Hay un grupo de desarrolladores interesados y dispuestos a contribuir en un controlador 3D abierto para NVIDIA. Los desarrolladores del proyecto Nouveau están comprometidos con los ideales del software libre y han empleado años de ingeniería inversa sobre su hardware sin recibir ningún tipo de fondos para este inmenso trabajo, aunque dependen de donaciones de la comunidad. Un controlador abierto oficial podría complementar su controlador binario, con el fin de mejorar una experiencia innovadora en muchas distribucciones Linux y satisfaciendo a los usuarios -incluyendo los clientes corporativos- quienes piden software de código abierto.

De una manera firme, pedimos un verdadero compromiso con las comunidades de GNU/Linux y código abierto. Por cada día que pierden, sus competidores continúan refinando sus controladores de código abierto y publicando más documentación que es lo mejor para la comunidad de código abierto. Por favor, háganos saber qué está sucediendo y únanse a la comunidad de código abierto en su esfuerzo.

Aquí el enlace directo a la carta original.

viernes, 29 de febrero de 2008

Dos meses y no he muerto

Pues así con la bobada llevo ya dos meses con Linux quitándole protagonismo a Windows. Y aquí van unas pequeñas reflexiones y conclusiones.

En lo que a rendimiento se refiere he de decir que aunque a muchos les pese no he observado un desempeño mejor que el de Windows. También hay que apuntar que siempre mantengo el SO al día y limpio, instalo con cabeza y procuro no cargar mucho el sistema. Y en Linux aún no he hecho un mantenimiento real, y la ansiedad por conocer no me deja pensar dónde, cómo y qué instalo realmente. Eso sí, el hecho de no tener ningún programa antivirus por debajo escaneando constantemente todos los movimientos del equipo se nota, y mucho. Tanto en eficacia del sistema como en evitar quebraderos de cabeza inútiles.

Si hablamos de aplicaciones aquí sí que no hay parangón. Todo lo que existe en Windows lo tenemos triplicado en Linux. Desde los típicos comprensores hasta programas de dibujo vectorial. Libres, gratuitos y con el único impedimento de nuestros conocimientos. La instalación de las mismas es complicada hasta donde seamos capaz de comprender. Lo que le suelo decir a la gente es que si llevas usando Windows diez años no puedes pretender desempeñarte en Linux (o en Mac, si fuese el caso) del mismo modo y en poco tiempo. Todo requiere conocimientos, estudio y paciencia. Sin paciencia no se llega a ningún sitio. Y Linux necesita mucha.

Los programas que podemos instalar en Linux son infinitos. El otro día, cacharreando, probé una pequeña aplicación de entrenamiento de operaciones matemáticas. No, no instalé un Derive o un Matlab, sino una simple aplicación que te proponía retos de cálculo. Y eso está instalado por defecto, en el apartado de aplicaciones de Educación. ¿Alguien esperaría encontrarse con eso en Windows con tanta facilidad?.

Lo que aún no he hecho es mucho. Sigo usando Windows para ciertas cosas, como el dibujo vectorial vía Freehand; más por practicidad que otra cosa, pues lo que voy a hacer no me va a llevar nunca más de media hora, y aprender a usar un programa de este calibre ahora mismo me es insustancial y complicado.

Tampoco he usado la impresora, y eso es algo más raro. Aunque parezca extraño, en dos meses no he imprimido un triste folio. Irónicamente, la única vez que lo he hecho ha sido en Windows por ser el trabajo de Freehand :P

No he programado nada aún bajo Linux. He modificado documentos HTML y C con un editor de textos (es más, también el ensamblador de Intel), pero no me he instalado ningún IDE tipo Eclipse, por tanto en este sentido aún no he profundizado nada.

Pero sin duda el mayor cambio que puede dar una persona que pasa de un sistema a otro es el de la filosofía. Es gratificante saber que usando Linux
  1. estás contribuyendo al desarrollo tecnológico real, a la compartición de recursos y conocimientos.
  2. apoyando el soft. libre estás creando, indirectamente, conciencias de que la informática no es solo un negocio. La informática mueve mucho más en el mundo de lo que uno cree; y cortar y coartar el conocimiento que se deriva de la misma por puro capitalismo y retrogradez no deja de provocar cierto miedo.
Para hablar de software libre no es el momento, pero sin duda encontrarte con que todo lo que rodea una simple aplicación son personas que trabajan en equipo, que abren sus conocimientos a ti para que colabores como quieras y los uses como desees dice mucho del potencial que supone este mundillo. Tanto a nivel tecnológico como social.

Por ahora Linux no me ha provocado ningún quebradero de cabeza real, y no puedo sentirme más satisfecho del paso que he dado. Esperemos que siga así por mucho tiempo y pueda postear cuanto más meses de vida linuxera mejor ;)

jueves, 28 de febrero de 2008

Screenlets, información en tu escritorio

Para los usuarios de Mac y Windows de lo que vamos a hablar hoy son gadgets o widgets. Y para los linuxeros, screenlets.

Éstos son los añadidos que se hacen al escritorio para darle más funcionalidad: lectores RSS, sensores de temperatura, indicadores de uso de CPU y memoria, notas, etc. Instalarlos es muy sencillo, y obtendremos un bonito aspecto y una funcionalidad bastante útil.

sudo aptitude install screenlets

Con eso se nos instalará el paquete básico. Vamos a Sistema > Preferencias > Screenlets y accedemos al manager de los añadidos.

Ahí podremos activar y desactivar los screenlets, así como instalar los que nos descarguemos. Para bajarnos nuevos lo mejor es ir a la página oficial, Screenlets.org y acceder a la sección de descargas. Hay una serie de desarrolladores encargados de ir sacando nuevos screenlets y actualizar los existentes, así que es probable que poco a poco se vayan añadiendo más. También podemos descargarnoslos desde Gnome-Look.org.

Para instalar el screenlet, de todos modos, aparte de hacerlo vía manager, podremos descomprimir el paquete (normalmente nos los encontraremos en .tar.gz) en la carpeta de instalación, /usr/local/share/screenlets y ya podremos acceder a ellos desde el manager.

Por último explicar la existencia de un screenlet específico, el Sidebar, que es el que emula la barra lateral de widgets de Windows Vista que, no nos engañemos, es muy cuca. Al ejecutar el screenlet se nos colocará en el lateral derecho del escritorio, y se iniciará automáticamente con el sistema. Para agregar screenlets a dicha barra sólo tenemos que dar al botón derecho encima de la misma y dar a Launch screenlet. Luego lo configuramos para que esté pegado al escritorio (propiedad Sticky) y para que se inicie con la Sidebar, dando botón derecho en ella y añadiendo el screenlet elegido por el menú Add screenlet to startup.

Si, por el contrario, no queremos mostrar los indicadores en el mismo escritorio, podremos hacer que Compiz nos los gestione en una capa especial. Para ello vamos al manager de Compiz y activamos el plugin widgets. Tras eso podremos dar a F9 y nos aparecerá una capa donde añadir los widgets. Para que los screenlets pasen a esa capa sólo tenemos que elegir la propiedad Widget de cada screenlet y los llevaremos del escritorio a la capa de Compiz, oculta hasta que no pulsemos F9.

Y con eso tendremos un bonito sistema de información en nuestro equipo.

martes, 26 de febrero de 2008

Compiz Fusion y Emerald

Mientras buscas nuevos entornos de escritorio uno se va empapando de todo lo que rodea a los gestores de ventanas en Linux. Y uno acaba escuchando y leyendo Compiz, Beryl y otros nombres por doquier. Estos dos últimos son gestores de efectos de escritorio, gestores de configuración o colección de plugins, no escritorios como tal, aunque esta definición se queda muy corta, un poco errónea y es mejor ampliarla vía Wikipedia.

Resulta que Ubuntu 7.10 viene con Compiz por defecto, lo único que hay que hacer es activarlo, y a eso me dispuse, en varios pasos. El primero de todos era entrar a Gnome, en mi caso parecía que en Gnome iba a ir todo mejor. Por supuesto que hay posibilidad de tener Compiz Fusion en XFCE, pero hay que instalarlo y configurarlo, siendo en Gnome donde sí viene instalado por defecto, lo que nos librará de ciertos quebraderos de cabeza.

Después hay que activar el driver especifico de la tarjeta gráfica que tengamos, pues Compiz necesita de potencia de procesado 3D para correr. Para instalarlo lo mejor que podemos hacer es ir a Sistema > Administración > Controladores restringidos. Ahí nos saldrá una ventana con el controlador de nuestra tarjeta. En mi caso los controladores de Nvidia, aunque salían deshabilitados. Tenemos que habilitarlos pinchando el tic. Tras eso reiniciamos el equipo, como nos sugieren, y si todo va bien el driver estará habilitado, como podéis ver en la imagen.

Lo siguiente a hacer es activar Compiz. Muy sencillo también, dirigiéndonos a Sistema > Preferencias > Apariencia. Ahí saldrá una pantalla de configuración. Iremos a la pestaña Efectos Visuales y elegiremos la opción Extra. Y tras eso Compiz Fusion estará funcionando, como podremos observar cuando arrastremos una pantalla, que será gelatinosa, o al minimizar, que aparecerá un efecto muy cuco. Amén de otros muchos.

Parece que lo que hemos hecho es activar los efectos de escritorio de Windows... pero Compiz puede hacer mucho más. Si has leído un poco sobre esto sabrás de la existencia del famoso cubo, un sistema para rotar los escritorios en 3D. O el expositor de escritorios, que nos mostrará en una bonita vista el contenido de nuestros escritorios. Pero para poder activarlo debemos acceder a la configuración personalizada de Compiz Fusion, y eso no viene instalado por defecto. Vayamos a ello:

sudo aptitude install compizconfig-settings-manager emerald

Con esa simple línea se instalarán dos paquetes, el configurador de Compiz y el decorador de ventanas Emerald. Hablemos del primero.

Para acceder al configurador vamos a Sistema > Preferencias > Advanced Desktop Effects Settings. Ahí nos aparecerá una ventana con todos los plugins que Compiz admite, los que están activados y los que no. Solo queda cacharrear e ir descubriendo cosas, como girar el cubo o presentar los escritorios; lo veremos en la sección Actions de cada plugin. Por ejemplo el cubo se gira con la combinación ctrl + alt + click ratón. Moviendo el ratón podremos girar el cubo.

En la página oficial de Compiz podréis ver decenas de capturas de pantalla, en su sección screenshots. Aclarar que si en algún momento las opciones de agregar plugins están deshabilitadas, para poder añadir una nueva funcionalidad o quitar alguna podemos hacerlo desde la opción Preferences > Plugin List del configurador de Compiz Fusion, desde donde sí podremos añadir y quitar efectos.

Emerald es un gestor de decoración de ventanas, es decir, el programa que nos permitirá cambiar la barra de título de las ventanas y los botones de las mismas con diferentes temas que nos descarguemos. No nos equivoquemos y pensemos que con Emerald podremos cambiar todo el tema del escritorio, porque no es así, solo cambiará las ventanas. Para acceder a Emerald vamos a Sistema > Preferencias > Emerald Theme Manager. Ciertamente el mismo programa induce al error :P Aquí podremos importar temas descargados de Internet (o que nosotros mismos creemos) y hacer que nuestras ventanas tenga un estilo nuevo. En la imagen de la izquierda podemos ver la ventana de Emerald y la decoración actual de mi sistema, rojo. Lo extraño, como podéis ver, es que no salen los iconos de colores para ventana activa; creo que porque el tema (de ejemplo) venía incompleto.

Y con eso ya tendremos un escritorio lleno de efectos y posibilidades. Al final he vuelto a Gnome ;)

lunes, 25 de febrero de 2008

Enlightenment D17

En mi búsqueda por encontrar nuevos entornos de escritorio o gestores de ventanas decidí poner Enlightenment, un gestor ligero y muy vistoso, según dicen. Así que a ello me puse, instalándolo de una manera bastante sencilla.

Lo primero de todo meter el repositorio de E17 en /etc/apt/sources.list

deb http://e17.dunnewind.net/ubuntu gutsy e17

Tras eso tenemos que agregar la clave del repositorio, sin la cual no podríamos descargar nada

wget http://lut1n.ifrance.com/repo_key.asc
sudo apt-key add repo_key.asc

Actualizamos el repo

sudo aptitude update

E instalamos Enlightenment

sudo apt-get install e17

Decir que la D17 es aún la versión de desarrollo, por lo que puede que a alguien le de fallos. Aquí una pantalla del entorno corriendo en mi equipo.


Horrible a más no poder, sintiéndolo mucho. Me mantengo con XFCE pelado mientras sigo buscando. Sí, es probable que me haya dejado por una primera impresión y no le haya sacado el jugo que tiene. Pero hay veces que las primeras impresiones...

PD.: he cambiado totalmente las etiquetas, había muchas y muy poco específicas. Gracias Cels ;)

lunes, 11 de febrero de 2008

Permisos para NTFS

Cuando instalé el servidor me encontré con un pequeño problema al enlazar directorios para que se pudiesen ver en el servidor. Quería que todos mis datos contenidos en una partición NTFS pudiesen ser públicos, legibles. Para ello hice un enlace

ln -s /media/hda7 /usr/local/apache2/htdocs/directorio_ntfs

A grandes rasgos eso funciona, si es que tu partición no es NTFS. Me explico, el principal problema que me encontré venía dado por los permisos sobre la partición, si accedía a ese directorio desde el servidor me daba permiso denegado. Cosa que me extrañaba porque el propietario de esa partición era mi usuario, o eso creía.

Fui a las propiedades de la partición y mi sorpresa fue que yo no era propietario de la partición, ni siquiera lo era root, lo era un grupo llamado plugdev. Decidí cambiar el propietario para poder cambiar los permisos al grupo Otros, para permitir lectura, que es lo que posibilitaría que cualquier pudiese leer ese directorio. La cuestión es que no podía modificar desde la interfaz gráfica (es decir, botón derecho en la partición, desde thunar, mismamente), por lo que tuve que buscar la manera de hacerlo manualmente.

Para ello tenía que tocar el fstab, es decir, el archivo donde se montan y configuran las particiones. Dicho fichero se encuentra en /etc/fstab, y abriéndolo con un editor de textos (gvim mismamente) podremos tocar la partición que queramos.

En mi caso tenía que cambiar el id de usuario propietario, lo que viene siendo el gid. Pero yo no sabía el gid del usuario principal del sistema, por lo que tuve que mirarlo en el archivo de usuarios, sito en /etc/group. Ahí pude observar que el id de grupo del usuario principal del sistema es 1000, así que cambié la propiedad gid a 1000 de la partición hda7

/media/hda7 ntfs defaults,umask=007,gid=1000 0 1

Tras eso reinicie el sistema, y pude ver en las propiedades de la partición que ahora el propietario era mi usuario. Entré al servidor y a ese directorio pero seguía sin poder mostrarlo. Este problema se debía a los permisos para el grupo, que no eran los adecuados. Intenté, de nuevo, cambiarlos vía interfaz gŕafico pero me fue imposible. Entré de nuevo al fstab y cambié la propiedad umask de 007 a 002, máscara que me permitía darle permisos de lectura y escritura al root y al propietario y, aparte, sólo lectura al grupo Otros.

Tras volver a reiniciar pude acceder a dicha partición desde el servidor sin más problemas.

lunes, 4 de febrero de 2008

Instalando un servidor casero (y III). Protección y autenticación

Paso final (aunque opcional) para tener un pequeño servidor instalado en casa y listo para compartir datos o lo que se desee.

Tras instalar y abrir puertos toca proteger los directorios que creamos necesarios. Para ello no hay que hacer mucho. El primer paso es crear un usuario con una contraseña para nuestro servidor. Para ello nos colocamos en /usr/local/apache2/bin/ y ejecutamos la aplicación htpasswd que Apache nos provee para crear usuarios. Es tan sencillo como teclear

sudo htpasswd nombre_archivo nombre_usuario

El primer argumento indica el nombre del archivo que va a guardar nuestras contraseñas (con la ruta si queremos); el segundo será el nombre de usuario. Se nos pedirá contraseña y confirmación de contraseña para ese nuevo usuario y listo.

El segundo paso que tenemos que hacer es indicar a Apache qué directorio debe proteger y cómo debe hacerlo. Esto, como en la cuestión de abrir puertos y tratar los paquetes de red, también tiene mucho que tocar. La protección de Apache pasa por poner una simple contraseña (lo que haremos nosotros) hasta políticas completas de protección, encriptación y acceso seguro. Para eso nada mejor que acudir a la documentación oficial de directivas de configuración.

Para indicar a Apache que queremos proteger un archivo lo podemos hacer de dos maneras. La primera es editando el archivo de configuración (httpd.conf) o añadiendo archivos .htaccess a cada directorio.

La segunda opción es recomendable para aquellos que no pueden acceder a la configuración de Apache por no tener permisos. La primera es la más recomendable si tenemos pleno poder sobre el equipo, así que así lo he hecho.

Proteger un archivo pasa por un sencillo paso, añadir una directiva Directory al archivo httpd.conf, de este tipo

<>
AuthType Basic
AuthName "Password para Documentos"
AuthUserFile /usr/local/apache2/bin/nombre_archivo
Require user nombre_usuario
< / Directory >


De esa manera habremos protegido el directorio Documentos con la contraseña que introducimos para ese usuario, en el paso previo, que leerá desde el documento pertinente. Al intentar acceder a ese directorio desde la interfaz web se nos pedirá la contraseña y la autenticará.

Y eso es lo único, muy sencillo, para proteger un poco más nuestro servidor. Hay aún mucho que aprender sobre esta potente aplicación, y todo lo que vaya haciendo lo iré compartiendo.

jueves, 31 de enero de 2008

Instalando un servidor casero (II). Nmap e IPTables

Tras instalar el Apache y configurar el dominio No-Ip lo siguiente era abrir el puerto 80, es decir, el que permite la entrada de tráfico por protocolo HTTP.

Lo primero que podemos hacer es ver si tenemos ese puerto abierto. Para ellos podemos hacer dos cosas:
  • Bajarnos nmap (sudo aptitude install nmap) y ejecutar

    nmap localhost (o dominio no-ip elegido)

    que nos devolverá una lista con los puertos que nuestro equipo tiene abierto.
  • Ir al Menú de aplicaciones > Sistema > Herramientas de Red y ejecutar la aplicación que se encuentra en la pestaña Análisis de puertos.

De cualquiera de las dos maneras veremos si el puerto 80 está abierto. Si no lo está debemos hacerlo; para ello también tenemos dos posibles opciones:
  • Instalar firestarter, (sudo aptitude install firestarter), una aplicación para manejar las tablas de enrutamiento (iptables) y poder abrir el puerto. Es una aplicación que configura un cortafuegos.
  • Modificar iptables de manera manual.
Yo he escogido la segunda opción. Antes una pequeña explicación sobre esto: iptables es una aplicación del framework Netfilter del kernel Linux que permite trabajar con paquetes de red. Iptables es un cortafuegos puro y duro. Trabajando con esta pequeña (y potentísima) aplicación podremos abrir y cerrar puertos, denegar el acceso a nuestra máquina a cierta IP, no permitir la entrada de paquetes de tipos concretos, controlar qué hacer con los que salen de nuestro sistema, etc. Es decir, que si sabemos manejar bien iptables podremos proteger nuestro ordenador un poco más y optimizar el rendimiento de la red. Las órdenes que atañen a iptables son muchas y variadas, para poder configurar el cortafuegos de la manera más fina posible. Para ello podemos acceder a la página del manual de iptables (man iptables) y estudiarlo. Lo que a continuación viene es solo un 0.00000001% de lo que atañe a esta aplicación.

En nuestro caso lo que queremos hacer es permitir tráfico entrante por el puerto 80. Para ello tenemos que ejecutar en la consola la orden

iptables -A INPUT -i nas0 -p TCP --dport 80 -m state --state NEW

A muy grandes rasgos esa orden añade una línea a la tabla de enrutamiento que dice que se permita tráfico entrante (-A INPUT) a través de la interfaz de red elegida (-i nas0, recordemos que es la que se adjudica al configurar el módem usb), siguiendo el protocolo TCP (-p) por el puerto 80 (--dport). El estado NEW indica que esa regla se aplique a los paquetes que provengan de una nueva conexión a nuestro servidor.

Con eso hemos permitido la entrada de paquetes por el puerto 80, es decir, hemos abierto el puerto.

Y en este punto, siguiendo la parte I y esta, la II, del tutorial habremos conseguido (o deberíamos haber conseguido) poder montar un pequeño servidor casero y permitir que se pueda conectar desde fuera de él.

La próxima entrada tratará sobre la protección de directorios del servidor y la autenticación, como parte correspondiente a la instalación del servidor. En siguientes se tratarán detalles de configuración que me han ido surgiendo (como la adecuación a un conjunto de caracteres concreto).

domingo, 27 de enero de 2008

Instalando un servidor casero (I). Apache y No-IP

Bueno, pues me ha dado por tener un servidor en casa, para lo que pueda surgir (acceder a archivos desde otro sitio, colgar páginas de prueba, etc) y sobre todo para aprender, pues hay maneras mucho más sencilla de acceder a un ordenador remoto (escritorio remoto, VPN, etc.). Voy a estructurar el tema en tres posts, pues dado lo que he ido viendo es un tema largo que no se puede tratar en una sola entrada. Se dividirá en:
  1. Instalando un servidor casero (I). Apache y No-IP
  2. Instalando un servidor casero (II). Nmap e Iptables
  3. Instalando un servidor casero (y III). Protección y autenticación
Y aún así no haré más que raspar la superficie de un tema muy extenso y complicado. De todos modos me reservo la posibilidad de incluir más posts de este tema si lo creo necesario :P Así que comenzaremos hablando de lo más básico: instalar un servidor y tener un dominio. Sin lo primero nuestro ordenador no podrá servir nada y sin lo segundo no podremos acceder desde fuera de nuestra red a nuestro PC porque nuestra compañía de ADSL (la ISP) nos proporciona una IP privada, no pública.

Instalando Apache

He elegido este servidor porque es el más utilizado, es libre, gratuito y sencillo de usar. La instalación es tan sencilla como ir a su página web y descargarnos el servidor, en este caso el 2.2 en un tar.gz. Cuando lo tengamos bajando, descomprimimos en la ubicación que queramos y ejecutamos

./configure --prefix=/usr/local/apache2
make
make install

Con eso instalaremos el servidor en /usr/local/apache2. Ahora sólo falta arrancarlo, en este caso tecleando

/usr/local/apache2/httpdctl start

Con eso habremos arrancado el servidor.
La misma línea cambiando start por stop nos parará el servidor. Podremos ver si se ha instalado con éxito poniendo en nuestro navegador la dirección http://localhost.

Tras esto ya tendremos el servidor corriendo, pero no por ello podremos acceder a él desde fuera de nuestro propio ordenador. Así que ahora tenemos que hacernos con un dominio.

No-IP

Para que nuestro servidor sea visible desde Internet no vamos a contratar un dominio, sería tirar el dinero. Para ello nos vamos a hacer con uno gratuito que nos ofrece No-IP. Allí nos registramos, elegimos el nombre de nuestro dominio y listo.

El problema viene dado por la IP dinámica. Si nuestro equipo cambia de IP cada cierto tiempo, por mucho que tengamos el servidor y el dominio asociado a ese servidor (es decir, a esa IP) no podremos acceder.

Para ello No-IP nos proporciona un pequeño programilla (a descargar en su sección Downloads) para que cada vez que nuestra IP cambie se envíe la notificación a nuestra cuenta No-IP y se actualice la IP. Así siempre podremos acceder a nuestro servidor poniendo la ruta de nuestro servidor (la que te dan al acabar el registro) en el navegador.

Por último, es necesario cambiar la configuración de Apache para que reconozca nuestro nuevo dominio como el nombre de nuestro servidor. Para ello editamos el archivo httpd.conf que se encuentra en el directorio /usr/local/apache2/conf. Buscamos la línea que contenga una variable de nombre ServerName y ponemos detrás de la misma el nombre del dominio

ServerName nombre.no-ip.org

Y con estos pasos funcionaría perfectamente y podríamos acceder a nuestro servidor. Pero siempre que tengamos el puerto 80 (el de servicio HTTP) abierto en nuestra interfaz de red. En mi caso no lo tenía abierto, por lo que tuve que aprender a hacerlo.

Pero eso es... otra entrada ;)

viernes, 25 de enero de 2008

Pasándome a XFCE

Rompiendo el post anterior en el que decía que hasta después de exámenes no iba a poner nada, saco media horilla para explicar que me paso a XFCE.

Las razones para ello son de rendimiento puro y duro. No sé por qué extraña razón pero Gnome no me va excesivamente bien. No es que la interfaz me dé tirones, pero a veces me encuentro con un lento renderizado de las ventanas o al desplegar menús simplemente.

Y, por supuesto, me paso a XFCE (pronunciado éxfeis) por ganas de aprender, de no tener todo tan a mano. XFCE es mucho más espartano que Gnome o KDE, tanto que nada más iniciar sesión con este gestor de escritorio nos encontramos con esto.


La nada. Los iconos de escritorio (que son nuevos en esta versión, XFCE4, antes el escritorio no podía tener iconos si no era con un script a mayores) y una estrella extraña. Ésto es el panel, es decir, donde pondremos todas los accesos directos a las aplicaciones y alguna cosa más.

La gran diferencia entre XFCE y Gnome o KDE es que usa muchos menos recursos, llegando a ser mucho más ligero al ejecutar cualquier aplicación, más si están basadas en las librerías gráficas que el propio XFCE usa. Lo malo es que no tiene tantas aplicaciones nativas como los otros dos, pero suficientes para suplirnos. Aparte, casi todas las aplicaciones pueden ejecutarse sin problemas sean nativas de otro gestor (en mi caso tengo KSnapshot, una herramienta de KDE para tomar las capturas de pantalla).

Una muy interesante comparativa entre el uso de memoria por los tres gestores de escritorio básicos la tenemos en este link.

Añadir elementos al panel

Decir que no es muy sencillo que digamos poner accesos directos, y es que el menú de XFCE (accedemos a él pinchando con el botón derecho en el escritorio) no tiene menú contextual al hacer clic derecho sobre una aplicación, por lo no podremos crear un enlace en el escritorio o en el panel como sí se podía en Gnome (o en Windows mismamente).

Por lo que aquí tendremos que crearlos a mano. Lo primero de todo es hacer clic derecho sobre el panel y elegir Añadir nuevo elemento. Con eso nos aparecerá una ventana como la de la izquierda. Ahí aparece una lista de lo que podemos añadir al panel, desde la típica barra de tareas hasta la bandeja del sistema. Pero lo que ahora nos importa son los lanzadores, así que pinchamos en Lanzador y nos aparece otra ventana. En esta tendremos que elegir qué aplicación iniciar. Y no, no aparecerá ninguna lista con las aplicaciones a enlazar, por lo que deberemos saber el comando con el que una aplicación se ejecuta. De nuevo otra pequeña traba ;)

Vamos a poner, por ejemplo, el lanzador de FileZilla, por lo que deberemos saber cual es el comando lanzador de la aplicación (en este caso es filezilla). Ponemos nombre al lanzador y una pequeña explicación de lo que hace (eso si queremos) y una imagen representativa del icono, algo muy útil.

Todas las aplicaciones que instalemos es muy probable que vengan con iconos predefinidos a varios tamaños, para que los usemos en los lanzadores o en los iconos de escritorio. Ahora falta saber dónde están esos iconos. Normalmente estarán ubicados en la carpeta /usr/share/pixmaps. Pero si no está allí o no sabemos de la existencia de esa ruta, lo mejor es usar el comando locate.

locate filezilla.png

Con esa línea encontraremos la ruta del icono que luego pegaremos en el campo imagen del cuadro de creación del lanzador. Y listo, con eso tendremos un nuevo lanzador perfectamente operativo.

En caso de que no exista un PNG (formato de imagen de alta calidad) para esa aplicación es probable que exista un XPM, un archivo pixmap, que vale igual, aunque de menos calidad.

Sin duda es un proceso tedioso y enrevesado con respecto a otros gestores de escritorio, pero sin duda te obliga a conocer un poco más tu sistema, algo que es de agradecer y puede que nos saque de problemas en un futuro. Aclarar que podemos colocar el panel en doce posiciones diferentes alrededor de la pantalla y que podemos tener tantos paneles como posiciones. Como veis yo tengo tres paneles diferentes en la parte inferior.

Para terminar decir que hubo un momento mientras la configuración del panel que éste me desapareció. Sin motivo alguno, el proceso había muerto. Ni reiniciando ni cambiando la sesión recuperaba el panel. Pero tuvo fácil solución. tecleando Alt +F2 y escribiendo en la ventana que sale sfce4-panel éste volverá a estar en su sitio y volverá a aparecer al reiniciar sesión.

Nada más que decir del tema. Aún tengo que hacerme al gestor, así que seguramente lo leeréis aquí.

domingo, 20 de enero de 2008

Ausencia temporal

Bueno, para los que leyesen este blog de vez en cuando (que alguno hay, pero no muchos) solo decir que con el tema de exámenes ando un poco mal de tiempo para actualizar, pero que tras ellos volveré con fuerza.

Así que disculpas ;)

martes, 15 de enero de 2008

Amarok

Hoy una entrada para explicar un poco una de las mayores revoluciones (superficiales, por supuesto) que me he encontrado al pasarme a Linux. Estoy hablando, como no podía ser de otra manera, de Amarok, el reproductor de música líder del mercado, libre y funcional a más no poder.

Y es que este reproductor, que toma su nombre de un álbum de Mike Oldfield, ha superado en mi corazón a los que antes he usado: Winamp e iTunes (jamás por Windows Media), siendo éste último mi reproductor actual en Windows. Muy funcional y útil, pero no tanto como Amarok.

Decir que Amarok no es un reproductor multimedia, como sí son los tres citados de arriba, sino un reproductor de música. Nada más, lo cual es de agradecer, mejor tener un buen programa con una sola funcionalidad que muchas, por lo menos eso pienso yo.

Aún no he explorado todas las posibilidades del invento, la verdad. Las novedades más destacables con respecto a otros reproductores, al menos de los que yo conozco:
  • Poder introducir las carátulas con un simple clic, y sin pagar. Con iTunes podías, previo registro en iTunes Store, que es de pago. No sé las últimas versiones de Winamp, hace mucho que no lo uso.
  • Letras. Con un simple clic accederemos a las letras de la canción que esté sonando.
  • Wikipedia. Un enlace directo con la Wikipedia en la misma interfaz que nos mostrará información del grupo que estamos escuchando.
  • Scripts. Aquí es donde Amarok destaca sobre manera, y es que existen scripts para casi todo lo que te imagines. Desde controlar el reproductor vía web, hasta para pasar la lista a HTML, el enlace con la Wikipedia, con Amazon para descargar las carátulas y decenas de páginas de letras para las mismas...
  • Puntuación. También existe un sistema de puntuación que nos irá dando una puntuación a las canciones según frecuencia de escuchas y datos del estilo. Para que de un vistazo veas tus favoritas de cada grupo y en total, según lo que vayas escuchando. Es un programa de estadísticas, sin duda.
  • Scrobbling con Last.fm. Uno de los puntos más deseables, si tienes cuenta de Last.fm, es que te sube las canciones que escuches directamente, para que no tengas problemas instalando plug-ins (cosa que sí hay que hacer en Windows).
Y, por supuesto, podremos escuchar la radio, introduciendo en la opción requerida la dirección del stream, aquí llamado flujo; amén de las radios personalizadas de Last.fm, por lo que ni siquiera tenemos que acceder a la página web.

También cuenta con un sistema de etiquetas para que podamos catalogar nuestra música de la manera que queramos. Canción por canción, álbum por álbum.

Aunque Amarok está programado para correr en KDE aún teniendo Gnome, como en mi caso, el programa funciona a la perfección, aunque pequeños fallos en el desempeño de la interfaz se solucionaron instalando el paquete con aptitude, en vez de vía Synaptic.

No me olvido de indicar que tiene todas las funciones básicas de cualquier reproductor: almacenaje de la base de datos (en SQLite, PostgreSQL o MySQL), guardar listas de reproducción, la biblioteca de que dispongas, las listas hechas, cambio de información a las pistas (de una en una y por grupos), etc. Y poco más que decir que no se pueda descubrir utilizando el programa por uno mismo. Ahora un par de capturas más.




Y un dato curioso: se puede manejar todo a través de atajos de teclado, pulsando la tecla Win + otra. No se le puede dar mejor uso a una tecla que aquí es inútil :P

P.D.: sí, me gusta Black Sabbath ;)

domingo, 13 de enero de 2008

Actualizando

Ya era hora de actualizar. Total, de fallar podría buscar la solución y aprender un poco más. Pero no ha pasado (por gracia o desgracia, según el punto de vista), y ahora estoy aquí posteando con únicamente tres actualizaciones por instalar.

He preferido instalar todo lo demás y dejar el tema del kernel para el final, pues un cambio de núcleo a lo mejor me da más problemas de los esperados, aunque fuese una revisión tan pequeña. Y es que es mejor no tocar en exceso el kernel si realmente no lo necesitas. Esas actualizaciones son de seguridad de cosas muy concretas que yo no uso, por tanto prefiero no tocarlo.

El proceso de actualización ha sido simple a más no poder. En ese sentido poco tiene que envidiar a Windows y su sistema de actualizaciones automáticas. Solo que, por supuesto, aquí ves qué te actualiza, puedes elegir qué actualizar o no.

Lo voy a ilustrar más que nada a base de capturas, pues no merece mucho la pena andar explicando de palabra más que dando al icono de la bandeja del sistema donde aparece el gestor de actualizaciones nos aparece una pantalla como la de la izquierda.

Podemos escoger qué instalar y cual no y pinchar en el botón Instalar actualizaciones. Si damos al de Comprobar se verificará si existen más actualizaciones disponibles. Tras el proceso normal de descarga de todos los paquetes, a una velocidad más que asequible, como se ve en la imagen derecha, el gestor se dispone a instalarlo todo.

No tarda apenas nada, y en cuestión de quince minutos tenemos todo el sistema al día, sin más. Y lo que es mejor, sabiendo qué instalamos y cómo lo instalamos.


Tras la instalación reinicié todo el equipo, no sin antes asegurarme de haber guardado todos los datos importantes en el /home (que lo tengo en otra partición diferente del /) por si ocurría lo peor. Tras el reinicio, meter mi login y password, me encuentro con la ventana de la imagen izquierda.

Era un error referente a la carga de Gnome, de fácil solución, pues únicamente saliendo de la sesión y entrando otra vez pero eligiendo que el escritorio fijo fuese Gnome se ha solucionado.

Por tanto ahora disfruto del equipo al 99% actualizado y sin problemas.

sábado, 12 de enero de 2008

Entendiendo el kernel

Cuando uno entra en el mundillo del software libre y lo hace de la mano de Linux se encontrará con una palabreja que se puede leer y escuchar en todos los canales de información: kernel. Por degeneración del lenguaje decimos que Linux es un SO pero nos equivocamos, Linux es el kernel de un sistema operativo. El SO es GNU/Linux y Ubuntu, Red Hat, Suse y demás son distribuciones de GNU que usan de kernel a Linux. Otros núcleos son XNU (el kernel de Mac OS) o GNU Hurd (que está incompleto), por ejemplo.

¿Y qué es el kernel?

El núcleo de un sistema operativo es la base por la que un ordenador funciona, hablando poco y pronto. Sus funciones más básicas son:
  • conecta el hardware con el software, es decir, administra los dispositivos y les enlaza con el sistema para que nosotros podamos utilizarlos.
  • distribuye y gestiona la memoria que se le asigna a cada proceso del sistema, al igual que determina qué proceso se ejecuta en qué momento y por cuanto tiempo.
Es lo que en la jerga informática se llama gestión de memoria y gestión de procesamiento. Es decir, un kernel es un gobierno del computador. Sin él no sería nada.

Todo lo demás que pueda integrar un SO son programas de aplicaciones, servidores o daemons. Se suele decir que el kernel es el SO en sí; si entendemos que un ordenador está compuesto por hardware, software y datos, el kernel es el pegamento que une y proporciona mecanismos a esos tres componentes para desempeñar tareas útiles.

Por tanto es importante saber que el núcleo de nuestro sistema operativo (en este caso Linux, en Mac será XNU) es la parte más importante de nuestro sistema. Hay que cuidarlo y tratarlo con cariño.

¿Y los números del kernel qué significan?

Voy a poner una pequeña guía para entender los números de versiones del kernel linux, pues es normal no entender absolutamente nada. En mi caso yo tengo corriendo el kernel 2.6.22-14.46-generic.

Antes de nada decir que generic indica que es la versión genérica para todos los chips que el kernel soporta (x86, x86_64, Sparc, Mips...). La versión del kernel, como podemos ver, se divide actualmente en cuatro números, digamos AA.BB.CC.DD. Esos números denotan versiones, revisiones y otras cosas. Pero para entender por qué son cuatro números tenemos que entender lo que había antes.

Hasta la salida del kernel 2.6 (2003) el modelo de desarrollo era diferente y la numeración de versiones se hacía con tres dígitos, no cuatro. Existían dos líneas de desarrollo:
  • estable: así se denotaba a las líneas de producción que tenían totalmente testeadas las funciones del sistema y que servían para el uso cotidiano del SO.
  • de desarrollo: estas eran las versiones que partiendo de la estable incluían nuevas características aún inestables; es decir, las que usaban los desarrolladores para poder probar sus creaciones.
Así, la versión del kernel se dividía en AA.BB.CC.
  • AA: el primer número es el número de serie del kernel en sí. Sólo hay dos, la 1 (1994) y la 2 (1996). Denotan cambios muy radicales en el planteamiento del kernel, y como veis desde hace más de diez años no ha habido.
  • BB: indica la versión y el tipo de la misma. Si era par era estable, si era impar era de desarrollo.
  • CC: revisión dentro de la versión, para superar fallos de programación, normalmente.
Por tanto, como ejemplo, podemos decir que la 1.3.5 era la versión 1, de desarrollo y con cinco revisiones a su programación.

A partir de la 2.6, se prefirió (Linus Torvalds prefirió) cambiar el tipo de numeración e incluir otro número más, por lo que la versión ahora se numera con el formato AA.BB.CC.DD y con un nuevo significado:
  • AA: sigue siendo lo mismo, la serie principal del núcleo.
  • BB: versión. Ya no hay impares ni pares, todas son lo mismo.
  • CC: revisiones menores dentro de la versión, que suelen ser adiciones de nuevas funcionalidades, como nuevos controladores de dispositivos.
  • DD: son las correcciones a la versión (BB) concernientes a problemas de seguridad o fallos de programación.
Observamos pues que en la actualidad se separan las revisiones para nuevas funcionalidades (CC) y solución de problemas (DD).

Pero aquí no acaba la cosa. Dado que hay infinidad de distribuciones se adoptó una manera de trabajar diferente. Ahora es cada casa la que distribuye su distribución con un núcleo estable, ella es la encargada de proveérnoslo por el canal específico (los repositorios) a partir de la última versión estable que Linus Torvalds y su equipo de desarrollo saca, la llamada vanilla.

La última versión vanilla a día de hoy es la 2.6.23.13, que podéis descargar sin alteraciones por parte de ninguna distribución desde la web oficial del kernel, The Linux Kernel Archives.

Por tanto hemos de entender que el kernel Linux no es lo que nosotros tenemos en casa realmente, pues éso son las distribuciones de software libre (adheridas normalmente al proyecto GNU) que usan como kernel a Linux. Hay otras distribuciones de software libre que usan otro kernel y se adhieren a otras licencias, como la BSD, de la que ya hablaré, pues tengo en mente poner una distribución de este tipo como tercer SO en el equipo. Pero con tiempo ;)

viernes, 11 de enero de 2008

Emesene y Java RE

Entrada rápida para decir dos cosas. La primera es que he jubilado Pidgin para poner Emesene, un cliente de messenger muy parecido a Pidgin (que se me olvidó decir que era la nueva versión del archiconocido Gaim) pero con la posibilidad de poder insertar iconos personalizados, cosa que por ahora me llama más. Aparte, su interfaz es más sencilla para conectar, te avisa de quién se conecta (en Pidgin tenías que crear un aviso explícito para cada persona) y se integra con el buzón de Gmail gracias a un pequeño plug-in que viene instalado.

Como contras tenemos dos: no se puede usar otro protocolo de IM que no sea el de MSN; y no se pueden enviar archivos (aunque el desarrollo está prácticamente acabado), pero sí recibir. En principio no creo que jubile este tan pronto como a Pidgin, pero todo depende de cómo evolucione el tema de la transferencia de ficheros. Y tampoco descarto la posibilidad de volverme al pichón.

La instalación fue de lo más sencilla. En la página web arriba enlazada podéis ver que añadiendo dos repositorios al sources.list, el de binarios y el de fuentes, podemos instalarlo con

apt-get install emesene

Y ya está, se nos instala todo sin problemas, pues no me dio ningún fallo de dependencias.

El otro punto de esta entrada es Java, que lo instalé para Firefox, pues al entrar a una web con contenido Java me dijo que no tenía el añadido instalado. Al buscar el plug-in a través de la interfaz de instalación de Firefox me lo encontró pero me dio error al instalarlo, por lo que tuve que hacerlo manualmente.

En este caso fue también muy sencillo. Me dirigí a la página web de Java y me bajé el fichero autoextraíble de esta ubicación. Luego pinchando en el enlace Instrucciones podemos acceder a un pequeño howto para instalar el entorno. Después vamos a la parte de configuración para Firefox, que nos indicará como hacer que el navegador reconozca el plug instalado.

Todo fue, de nuevo, muy sencillo, gracias a la facilidad que supone la instalación de los .bin.

Decir, de todas maneras, que estoy notando ciertas ralentizaciones de rendimiento de Firefox, aunque no sé si es únicamente de su interfaz o tiene que ver con toda la interfaz Gnome, pues con otros programas como Amarok (del que ya hablaré) también encuentro lentitudes al renderizar las ventanas.

Investigaré a ver si puedo encontrar alguna información sobre esto.

jueves, 10 de enero de 2008

Cómo instalar aplicaciones en Ubuntu

Este asunto que no pasaría de anecdótico en Windows (si acaso explicar Agregar o Quitar Programas) aquí tiene un significado mucho más profundo. Sólo decir que en Ubuntu podemos instalar aplicaciones de más de seis maneras, más o menos.

Pero antes es preciso explicar en qué termino instala aplicaciones un sistema operativo como Linux.

En contraposición con Windows, donde un programa es un todo y se instala de una vez, en Linux las aplicaciones se instalan en base a paquetes, es decir, pequeñas partes de código ejecutable, librerías y otros archivos que enlazados forman el todo que buscamos. Es por eso que al instalar una aplicación se deben comprobar las dependencias, es decir, el resto de archivos que necesita la aplicación para funcionar, siendo las librerías de compilación los más habituales. El concepto de dependencia es muy importante, como veremos a continuación.

Empezamos las maneras de instalar con la primera, que es Synaptic, que más o menos ya está explicado. Es el gestor de paquetes integrado en Ubuntu / Gnome (Adept si usas Kubuntu). Este programa es muy sencillo, tras meterle los repositorios que queramos (ya explicado en esta entrada) solo debemos entrar desde el menú Sistema > Administración > Gestor de Paquetes Synaptic y dar a buscar un paquete o aplicación concreta y la instalará, con sus dependencias, de haberlas.

Existen unos paquetes adicionales, los llamados recomendados, que son ídem de instalar para mejor desempeño de la aplicación. Synaptic puede tomarlos como dependencias (es decir, obligados) si así se lo especificamos.

Como segunda y más sencilla opción de instalación tenemos un pequeño gestor, al que accedemos a través del menú Aplicaciones > Añadir y quitar aplicaciones, que es exactamente igual a la misma opción de Windows. Decir que este programa no admite la desinstalación de aplicaciones si hay paquetes dependientes. En ese caso nos envía a Synaptic para poder hacerlo todo de manera limpia. Al igual que en este último, podemos añadir repositorios.

La tercera y cuarta forma son las más rápidas, aunque no las más sencillas; y las más utilizadas por los usuarios avanzados y expertos: apt-get y aptitude. La primera ya la hemos explicado un poco, es el equivalente a Synaptic en la consola.

aptitude es exactamente igual con una particularidad, y es que se caracteriza por tener 'memoria'. Recuerda qué dependencias actualizó o instaló un paquete concreto y en caso de querer desinstalarlo, también desinstalará sus dependencias si estas no están siendo usadas por otros paquetes instalados posteriormente. apt-get y Synaptic no lo hacen, por tanto puede que vayamos dejando por ahí paquetes que no nos sirven de nada. La sintaxis de los dos es similar:

apt-get install / remove nombre_paquete
aptitude install / remove nombre_paquete

Decir que con cualquiera de las dos órdenes se puede actualizar todo el sistema de manera muy sencilla, simplemente tecleamos

apt-get update
aptitude update

para actualizar la lista de paquetes y

apt-get upgrade
aptitude upgrade

para instalarlos. Y nuestra distribución estará al día totalmente (a día de hoy decir que tengo 168 actualizaciones disponibles para instalar :\ ).

Sobre el tema de las actualizaciones decir que al igual que Synaptic hay un gestor gráfico, de nombre Gestor de actualizaciones y que nos avisará de cada nuevo paquete disponible, desde la bandeja de sistema. Esta interfaz la explicaré mejor cuando me decida a instalar las actualizaciones pertinentes.

Los paquetes .deb son los ejecutables de las distribuciones basadas en Debian (Ubuntu lo es) y se encargan ellos mismos de buscar sus dependencias, aunque no las instalará, hemos de hacerlo manualmente. Desde el sistema de ficheros gráfico damos doble clic y ya lo instalará, sin problemas. Vía terminal se hace con

dpkg -i nombre_paquete.deb

Para eliminar la instalación de una aplicación que hemos instalado vía .deb hacemos

dpkg -r nombre_paquete.deb

También podemos instalar gracias a los paquetes .package y los .bin, de uso muy similar, aunque distinta estructura. Los primeros son autoinstalables, haciendo doble clic tendremos el programa ya instalado. Si es la primera vez que instalamos un .package debemos darle permisos de ejecución al archivo y tras eso se instalará el autoinstalador de este tipo de archivos, para que la próxima vez que ejecutemos uno de estos paquetes no haya que cambiar permisos. Estos paquetes son los más usados para la instalación de aplicaciones independientemente de la distribución y el escritorio utilizados.

Los .bin son lo más cercano al instalador setup.exe típico de Windows. Es decir, contienen el programa completo sin más. Suelen ser usados para aplicaciones propietarias, no libres. No hay que preocuparse de nada más que de darles permisos de ejecución, nada de dependencias.

La última manera que tenemos de actualizar un poco nuestro equipo es la más arcaica y más enrevesada, aunque no por ello excesivamente difícil. Lo haremos a través de los fuentes, es decir, compilaremos los archivos y los instalaremos a mano. Ya lo habéis visto con el tema de instalar el módem usb, los famosos .tar.gz. Los archivos con esas extensiones son los comprimidos, como zip o rar. Normalmente las instrucciones de instalación vienen dadas en el mismo archivo, pero no suelen diferir mucho de ejecutar las siguientes instrucciones en este orden

./configure
make
make
install


tras haber descomprimido el paquete con el gestor gráfico o con la orden de consola

tar xvzf nombre_archivo.tar.gz

Con eso, y habiendo satisfecho las dependencias que necesite de manera manual, ya tendremos el programa instalado.

Y estas son las maneras en las que instalaremos aplicaciones en Ubuntu. Como veis la potencia que destila Linux puede verse mermada por la poca facilidad que existe para ponerlo al día. Aunque, como todo, solo necesita un poco de atención y paciencia para que se convierta en algo habitual y rutinario.

martes, 8 de enero de 2008

El sistema de archivos

Mientras mis avances con Ubuntu se estanquen (lo dicho, quiero ir con calma) y hasta poder empezar mi serie de entradas Comparativas entre Windows y Linux, voy a ir poniendo una serie de entradas para ir conociendo mejor el sistema en sí, todos los 'intringulis' y peculiaridades que caracterizan a los sistemas Unix.

Para sacarle todo el partido a tu sistema y conocer mejor qué es lo que estás haciendo y dónde lo estás haciendo es necesario conocer cómo organiza Linux (Unix más bien) el sistema bajo una jerarquía de directorios. Lo intentaré describir someramente.

Como ya dije en una entrada anterior, en Linux no hay unidades lógicas. Mientras que en Windows accedes a Mi PC y ves las unidades C:, D:, E: y demás asociadas a particiones de discos duros o dispositivos de CD o disquete, aquí solo vas a ver directorios. Hay que decir que todo en Linux son archivos, ya sea un archivo como lo conocemos al uso, un directorio, los dispositivos que tengamos (sí, en Linux la impresora es un archivo) e incluso el ratón es un archivo.

Por tanto, cada uno de esos archivos debe ser almacenado en su directorio correspondiente, para tenerlo todo organizado. Los directorios más básicos son:
  • /: la raíz, de donde colgará todo el sistema.
  • /usr: en este directorio nos encontraremos con casi todos los archivos importantes que atañen al sistema.
  • /bin: los comandos, es decir, todas las líneas que ponemos en la consola se almacenan aquí.
  • /sbin: contiene comandos únicos de administrador. Es un directorio importante por si se nos rompe el sistema, pues nos proporcionará mecanismos básicos de recuperación y arranque.
  • /dev: dispositivos. Lo dicho, desde el ratón a la impresora, pasando por la tarjeta de sonido.
  • /home: de este ya hemos hablado. Es el que almacena toda la información relacionada con los usuarios. Haciendo símil con Windows, el Documents and Settings.
  • /lib: librerías del sistema. Aquí están los famosos kernel headers y sources.
  • /var: almacena los típicos logs que los programas generan durante su ejecución, entre otras cosas.
  • /tmp: es el directorio temporal clásico.
  • /etc: contiene todos los archivos relacionados con la configuración de la máquina. Es muy importante y es probablemente del que surgirán casi todos nuestros quebraderos de cabeza.
  • /boot: información del arranque.
  • /media: lugar de montaje (punto) donde se montarán los dispositivos como el CD, DVD y las distintas particiones del disco que no sean sistemas de ficheros de Linux. De aquí también colgará cualquier unidad lógica de Windows.
  • /proc: contiene la información de procesos que suministran ésta al kernel; también almacena la que genera el mismo.
Aparte de conocer bien el árbol de directorios es de recibo saber lo que son y cómo cambiar los permisos de los archivos; como en Windows, los permisos de archivo marcan qué usuario o grupo de usuarios puede hacer con determinados archivos. Las acciones a realizar sobre un archivo son tres: lectura, designada por la letra R, que indica que el archivo puede ser leído; escritura, indicado por la letra W y que significa que puede ser escrito; y ejecución, marcado como X y que dice si es posible su ejecución o no.

Los archivos son utilizables por tres tipos de roles: los usuarios, que son los propietarios de los archivos; los grupos de usuarios que pueden acceder al archivo; y los otros, es decir, los que no pertenecen a un grupo o a un usuario concreto.

Los dos conceptos de tipo de acción (permiso en sí) y los roles se agrupan en una cadena de texto de nombre "Máscara de permisos". Cuando hacemos un ls sobre un directorio listaremos los archivos contenidos en el mismo. A la izquierda de cada archivo veremos una línea parecida a esta

-rwxr-x---

Esa es la máscara de permisos. Se divide en cuatro partes.
  • el carácter más a la izquierda (en rojo) designa si un archivo es directorio. De serlo aparecerá con una 'd'. En el ejemplo no es directorio, pues aparece con un guión.
  • los tres siguientes se refieren al usuario propietario. La aparición de cada letra del tipo de permiso indica que ese usuario puede leerlo, escribirlo y ejecutarlo.
  • los tres a continuación pertenecen a los permisos del grupo de usuario. En este caso los usuarios del grupo que no sean propietarios del archivo podrán leerlo y ejecutarlo, pero no escribirlo.
  • los demás usuarios del sistema no podrán ni leerlo ni escribirlo ni ejecutarlo.
Este sencillo concepto es la base del sistema de permisos de Unix / Linux. Si somos propietarios de un archivo (o estamos como root) podemos darle y quitarle permisos tranquilamente con la orden chmod. Un pequeño ejemplo:

chmod 755 nombre_archivo

Entendamos la máscara de permisos como un conjunto de seis dígitos binarios. Con ese comando, que es de lo más usados, lo que estamos haciendo es formatear la máscara de permisos en número décimal (omitiendo el primer carácter) para que sea en binario como sigue

7 5 5
111 101 101
rwx r-x r-x

Es decir, habremos dado al usuario la posibilidad de ejecutar las tres acciones sobre el archivo; al grupo y a los demás les hemos permitido leer y ejecutar, no escribir. En la página de la Wikipedia que he enlazado hay mucha más información de cómo dar y quitar permisos a un archivo, así como cambiar el propietario del mismo con la orden chown.

Para finalizar decir que para los temerosos de la consola todo esto se puede realizar fácilmente desde modo gráfico como siempre se ha hecho en Windows, dando al botón derecho en el archivo, Propiedades y en la pestaña Permisos ;)

lunes, 7 de enero de 2008

[AB] Internet

Con [AB] empezaré a designar los posts que traten sobre Aplicaciones Básicas que todo usuario necesita. Las iré desglosando poco a poco por temas. Empezamos con lo más básico, Internet.

Navegador web

Aunque ya lo usaba en Windows, Firefox es el navegador obligado para Linux. Sí, claro, existen Opera, Safari y otros muchos pero como el de Mozilla no he encontrado ningún otro. Bien es cierto que lo uso por inercia de Windows, pero no se puede decir que no sea buena elección.

En Ubuntu 7.10 nos viene de serie, aunque desactualizado. Para actualizarlo no tenemos más que entrar en Synaptic, buscar el paquete de nombre firefox y dándo la botón derecho elegir la opción Actualizar paquete se nos actualizará automáticamente. También podemos bajarnos el tar.gz que encontramos en la web oficial, descomprimirlo en una ubicación cualquiera y ejecutarlo, como yo he hecho.

Podemos modificar la ruta del acceso directo que nos viene por defecto en el panel superior del escritorio y ya tendremos la última versión de Firefox corriendo. Como vemos en la imagen, poniendo en la casilla Comando la ruta del programa accederemos a él fácilmente.

Cliente de mensajería

Como cliente de mensajería instantánea, es decir, de Messenger, he escogido el cliente Pidgin, que viene por defecto en Ubuntu. Aquí sí que hay varias opciones, siendo la más conocida aMSN, el cliente MSN libre que mejor funciona pero que a mi no me gusta absolutamente nada. Manías, que se dice.

Pidgin es muy sencillo de usar y muy simple. Configuras la cuenta para el servicio que desees y a tirar. La interfaz es comodísima, pues no hay una ventana por cada conversación, sino una sola ventana con pestañas diferentes para conversación, con lo cual no tendrás el escritorio lleno de ventanas, con una lo harás todo.

Por contra viene muy 'pelado' y aún no he averiguado como añadir iconos personalizados. En principio con este cliente me basto, pero no descarto que en un futuro decida usar otro más potente.

De nuevo he actualizado a la última versión con el Synaptic, botón derecho. Aunque ya esté disponible la 2.3.1 yo tengo la 2.2.1 que es la que venía en los repositorios que tengo.

Cliente FTP

De nuevo tirando de lo que ya conocía de Windows he decidido usar FileZilla como cliente FTP. Su sencillez de uso contrasta con otras opciones más enrevesadas. La instalación ha sido tan sencilla como ir a Synaptic, buscar filezilla y elegirlo para su instalación. Tras eso nos quedará disponible en Aplicaciones > Internet, listo para su uso.

Gestor de correo

En contraposición a usar Thunderbird he decidido no usar ninguno. Sí, parece una medida exagerada, pero prefiero ir mirando los correos uno a uno en sus respectivos webmail y gestionarlo todo desde allí que tener los mensajes descargados en el PC y en el servidor web y perderlos o no organizarlos. Es un problema que se pierda el correo por un formateo o fallos del gestor. Suena a manía, puede que un poco.

De todos modos Ubuntu viene con un gestor preinstalado de nombre Evolution, que he probado y funciona sin problemas. En caso de que me canse de ir entrando de webmail en webmail será el que intente probar antes de instalar Thunderbird, que es el que usaba en Windows.

eMule

El cliente p2p por antonomasia no está soportado para Linux. Duro y rápido. Pero no hay miedo, tenemos una solución de nombre aMule que es el equivalente al eMule de toda la vida.

De nuevo tiramos de Synaptic para instalarlo. El problema aquí deriva de la lista de servidores, pero la cosa es tan sencilla como añadir una URL al campo de listas y ya está. Para ello abrimos el programa y copiamos una lista de servidores que hayamos encontrado por internet, que sepamos que es fiable. En la imagen se ve dónde hay que poner la lista de servidores.

Sobre otros programas, como clientes de torrents, decir que dado que yo solo uso eMule no me he instalado nada más, pero que hay cientos de gestores de torrents para Linux muy fiables, como el excelente Azureus, que hace un tiempo sí tuve instalado y funcionaba a las mil maravillas.

Y en referencia a las aplicaciones básicas de Internet poco más que decir.

Synaptic y los repositorios

Bueno, una entrada muy cortita para explicar lo que son y para lo que sirven los repositorios. Para mantener nuestra distribución perfectamente actualizada necesitamos que Synaptic contenga una lista de ubicaciones web donde poder descargar paquetes actualizados. Eso son los repositorios.

Es de recibo saber que los repositorios son fiables algunos (los propios soportados por Ubuntu y su comunidad) como que no (los que mantienen terceros pero que no han de ser reconocidos oficialmente) y que queda a lo que nosotros hagamos para que nuestro SO esté bien actualizado o tengamos acceso a paquetes que no son fiables y puedan dañar partes de nuestro sistema.

La lista de ubicaciones está en /etc/sources.list, un archivo donde debemos meter las URL de los sitios web. Tras eso, abriríamos Synaptic y daríamos a Configuración > Repositorios y se actualizarían, bajando información de cabeceras, índices de paquetes y demás. Puede que de algún error si hemos introducido direcciones que ya no se mantienen o no existen.

Un sources.list fiable lo podemos encontrar yendo al generador de sources.list que tenemos en esta dirección. Eligiendo la arquitectura, la distribución que usamos y el país ya podemos generar la lista que luego deberemos pegar en nuestro sources.list.

Y con esos sencillos pasos tendremos toda nuestra distribución perfectamente actualizada, siempre que queramos, sin más que abrir Synaptic.

Como forma adicional para actualizar podemos ir al a consola y teclear

sudo apt-get install nombre_paquete

Rápido y útil si estamos trabajando en modo consola, necesitamos un paquete y sabemos su nombre.

sábado, 5 de enero de 2008

Reconfigurando la conexión a Internet

La última vez nos quedamos en que no podía instalar el módem. Bien, pues ahora mismo escribo desde Linux, lo cual no es moco de pavo tras todo lo que me ha ido pasando (que no es mucho, pero uno es novato).

Con el tema de los Eagle-Usb estuve de nuevo navegando horas y horas. No sabía por qué extraña razón no podía instalarlos si lo tenía todo perfecto, cabeceras incluídas. En ningún foro se daban más respuestas que las que yo ya había probado una y otra vez.

Pero como el que la sigue la consigue llegué a una web donde se hablaba sobre que los Eagle-Usb se dejaron de soportar para versiones de kernel superiores a la 2.6.10, ya que salío el driver UEagle Atm que era el usado para kernel superiores. Y he ahí mi problema, para mi kernel (2.6.22-14-generic) debía instalar los UEagle Atm.

Pasos de instalación

Al principio no creía que esto sería fácil pero sólo es algo más complicado que la instalación de los eagle. Los pasos que yo he seguido han sido sencillos y fáciles.

Primero de todo es advertir, de nuevo, que tengamos instalados los paquetes build-essential y los últimos linux-headers. Ya sabéis, en Synaptic los tenéis.

Tras eso debemos bajarnos los siguientes paquetes:
Con esos tres paquetes yo he conseguido tener activa mi conexión. Ahora bien, en varios tutoriales que he visto y en la documentación de la web oficial de los drivers se requieren algunos archivos más que a mi no me han hecho falta. Es más, yo he tenido que omitir ciertos pasos, como el de la eliminación de versiones de eagle-usb anteriores (que yo no tenía).

Bien, lo primero es instalar el br2684ctl. Para ello vamos a la carpeta donde lo tengamos (con Nautilus, el navegador de archivos de Gnome), damos doble clic en el archivo, introducimos la contraseña de root y damos a instalar. El resultado lo podéis ver en la imagen. Tras eso debemos instalar el firmware del módem, para ello hemos de seguir algunos pasos más.


Con el archivo ueagle-data-1.1.tar.gz ya descomprimido en alguna ubicación, debemos ejecutar las siguientes líneas como root. Para entrar a una consola como root abre una normal, pon sudo su y mete la contraseña. Tras eso nos metemos en el directorio donde hemos descomprimido y:

mkdir /lib/firmware/ueagle-atm
cp -a *.* /lib/firmware/ueagle-atm

Con esas dos líneas hemos creado el directorio del firmware en el lugar adecuado del sistema de archivos y hemos copiado los datos del mismo en el directorio. Ya está, ya tenemos el módem instalado :)

Para ver si la cosa ha ido bien debemos ejecutar las líneas

modprobe ueagle-atm
dmesg grep | ueagle

Con esa línea nos debería aparecer algo como lo de la imagen. Es decir, que el módem está operacional.

Ahora sólo nos queda configurar la conexión. Debemos hacer:

modprobe br2684
br2684ctl -c 0 -b -a 8.32

Con esas dos líneas creamos en enlace ethernet. Debería salir en la consola un resultado de este tipo:

RFC1483/2684 bridge: Interface "nas0" created sucessfully
RFC1483/2684 bridge: Communicating over ATM 0.8.32, encapsulation: LLC

RFC1483/2684 bridge: Interface configured


Ahora bien, como habrás visto arriba he resaltado el número 8.32. Este número corresponde a la conexión que tú tengas. En este caso yo tengo Telefónica IP Dinámica y ese número es el adecuado.

Para saber cual es tu número debes acudir a esta web y ver cual es tu combinación de VPI y VCI. Coge los dos valores y ese será tu número, formateado como VPI.VCI. En mi caso VPI 8 y VCI 32 --> 8.32.

Pues bien, ya hemos creado el enlace ethernet. Si recuerdas, al instalar los eagle-usb la interfaz era eth0; ahora es nas0. Recuerda meter en la configuración del rp-pppoe ese dato cuando te pida la interfaz Ethernet. Por si no lo recuerdas, o ya lo tenías, ejecuta pppoe-setup en una consola y vuelve a meter tus datos de conexión.

Y ya sólo queda conectarnos. Para ello ejecutamos las siguientes dos líneas y a tirar:

ifconfig nas0 up
pppoe-start

Si tras ejecutar el último comando nos aparece algo del estilo

... Connected!

sólo nos queda abrir el navegador y a navegar, valga la redundancia.

Cuando reiniciemos el ordenador ya tendremos el módem operativo, para conectarnos solo debemos ejecutar como root:

modprobe br2684
br2684ctl -c 0 -b -a 8.32
ifconfig nas0 up
pppoe-start


Sí, es un rollo. Pero podemos automatizarlo para que nada más iniciar el ordenador se nos conecte a internet. Para ello nos conectamos a Nautilus como root. En una consola metemos sudo nautilus y entraremos en el navegador de archivos con permisos para cambiar ficheros importantes. Vamos hasta /etc/ y buscamos el archivo rc.local. Damos al botón derecho sobre el mismo y en la pestaña Permisos quitamos el tic que indica que se pueda ejecutar como programa. Después cerramos y damos al botón derecho sobre el mismo archivo para abrirlo con el editor de textos. Ahí metemos las líneas para iniciar nuestro módem. Estos dos pasos los puedes ver en la imágenes siguientes.


Y tras eso sólo queda volver a darle al archivo la posibilidad de ejecutarse como programa y al reiniciar nuestro ordenador ya tendremos la conexión disponible.

Eso es todo. Esperemos que ahora me dure más que la anterior vez. Ésta iré con más cuidado ;)

Saludos.