Archive for the 'Linux' Category

Agregar repositorios en Debian

Ya hace unos meses que vengo usando Debian así que es hora de empezar a contarles algunas cosas sobre este sistema operativo (más que nada soluciones a los problemas que se me fueron cruzando.) Para los usuarios de Ubuntu, el paso a Debian es instantáneo, ya que el primero está basado en el segundo, así que la mayoría de las aplicaciones se ven exactamente igual y lo más importante de todos, el gestor de paquetes (vía consola) sigue siendo el apt-get.

Así que la primera dificultad con la que me encontré fue sobre cómo configurar correctamente el gestor de paquetes. A diferencia de Ubuntu, en Debian no vienen precargados repositorios y por defecto guarda al CD como fuente de paquetes, por lo que tendremos que configurarlos a mano. Entonces, lo primero que hacemos es ir a la página de repositorios de Debian; allí vemos una lista de “mirrors“, es decir lugares desde los que podremos descargar los paquetes. En general lo más inteligente es elegir alguno que esté geográficamente cerca de nosotros, ya que serán los que más rápido funcionen.

Una vez que lo hayamos elegido (igualmente mejoraremos nuestra elección más adelante) escribimos lo siguiente en la terminal:
sudo gedit /etc/apt/sources.list

Ahí irá la lista de repositorios que queramos usar. Lo primero que hacemos es comentar (con un # al principio) los renglones en los que dice deb cdrom. De esta manera nos evitamos que nos pida introducir el CD de Debian cada vez que usemos el apt-get. Luego, agregamos la siguiente linea:
deb http://NUESTRO-MIRROR-ELEGIDO testing main.

Debemos recordar que tenemos que poner la dirección del repositorio que hayamos elegido y cambiar testing por stable si es que estamos usando la versión estable de Debian. Una vez hecho esto, guardamos y cerramos y en la consola hacemos:
sudo apt-get update
Así se actualiza la lista de repositorios. Y voilà, ya tenemos configurado el apt-get con el mirror que hayamos elegido. Lo más prudente sería hacer un upgrade ahora con:
sudo apt-get upgrade && sudo apt-get dist-upgrade para tener nuestro sistema actualizado.

¿Cómo saber qué mirror conviene?
Hay una aplicación que nos permite determinar cuál es la alternativa más rápida y se llama netselect. Escribimos lo siguiente en la terminal:
sudo apt-get install netselect
(por eso era importante instalar un repositorio al principio, así podemos instalar este programa luego). Es bastante sencillo de usar, se escribe
sudo netselect mirror1 mirror2 mirror3 ...
donde mirror1, etc. son las direcciones que queramos chequear de la lista del sitio de Debian. Lo que nos devuelve es el mirror que más rápido se conecta a nosotros (hace diferentes chequeos, como latencia, etc.) Una vez que sepamos cuál es (yo elegí todos los mirrors que aparecían de américa del sur, y el más rápido resultó ser http://sft.if.usp.br/debian ) volvemos a editar el archivo sources.list como se indica arriba y listo.

Mi sources.list luce como esto:

deb http://security.debian.org/ squeeze/updates main contrib
deb-src http://security.debian.org/ squeeze/updates main contrib
deb http://www.backports.org/debian lenny-backports main contrib non-free
deb http://ftp.br.debian.org/debian squeeze main
deb http://sft.if.usp.br/debian testing main

Estos repositorios permitirán instalar la mayoría de los paquetes que necesitemos, inclusive aquellos propietarios como Flash (ya escribiré sobre ello también.)

Cómo hacer que el reproductor Sansa e250 funcione en Ubuntu

Tuve bastantes problemas haciendo que mi reproductor Sansa fuera reconocido por Ubuntu. Básicamente se conectaba, era reconocido por la PC (se podía ver que efectivamente estaba listado entre los dispositivos) pero no podía acceder a él, ni agregar ni borrar archivos, etc.

Luego de mucho deambular encontré una solución que en mi caso funcionó, aunque varios usuarios reportaron que no tuvieron mejoría, pero que de todas formas creo importante compartir (recordar que funciona con cualquier reproductor de la serie e200):

Primero ponemos el reproductor en el modo MSC (buscar dentro de las configuraciones donde dice “Modo USB” o ver el manual para más información.) Lo conectamos a la PC que tenga Ubuntu y eperamos un poco. Típicamente lo que debería pasar es que el reproductor cambia del estado “conectado” a “desconectado” algunas veces hasta que finalmente queda conectado a la computadora. Si esto no estuviera sucediendo, en una terminal ejecutamos el comando lsusb, en el que nos debería aparecer algo similar a:

Bus 001 Device 004: ID 0781:7421 SanDisk Corp. Sansa E200 series

Si no fuera así, el problema es más grave y el resto del artículo no ayuda. Si aparece ese mensaje quiere decir que la computadora reconoce el dispositivo, pero que por alguna razón no lo está montando y aparentemente la razón es que la computadora piensa que es una cámara de fotos. Para corregir ese problema, desde la misma terminal hacemos:

cd /usr/share/hal/fdi/preprobe/10osvendor/
sudo cp 20-libgphoto2.fdi 20-libgphoto2.fdi-bak

De esta forma hacemos un back-up del archivo que vamos a modificar, el 20-libgphoto2.fdi. Luego abrimos ese archivo con nuestro editor preferido, en Ubuntu hacemos:
sudo gedit 20-libgphoto2.fdi
En xubuntu:
sudo mousepad 20-libgphoto2.fdi
En Kubuntu
sudo kate 20-libgphoto2.fdi

Y dentro del archivo buscamos las referencias al reproductor Sansa y las borramos; recuerden borrar TODO lo que se encuentra entre las etiquetas “Match” no sólo la linea donde dice Sansa. Una vez que hicimos eso, desconectamos nuestro reproductor y lo volvemos a conectar. Si todo sale bien, estará funcionando como me pasó a mí. Este bug ya está reportado en Launchpad, así que puede ser que las próximas versiones ya vengan funcionando correctamente.

Para los curiosos, también pueden probar instalarle RockBox a su Sansa, sobre el que escribiré en algunos días, cuando termine de probarle las funcionalidades.

Cómo renombrar directorios

Cuando estamos trabajando en la terminal (o consola, etc.) no existe un comando específico para renombrar un directorio o archivo. Lo mejor es usar el comando mv que se usa para mover archivos. Entonces, si queremos renombrar, por ejemplo, archivo.dat a nombre.dat, debemos escribir:

$ mv archivo.dat nombre.dat

También sirve para renombrar muchos archivos. Por ejemplo, si descargamos fotos de nuestras vacaciones en una carpeta, y queremos que todos se llamen ##-Vacaciones-2009.jpg (por ejemplo) podemos hacer lo siguiente:

$ I=1
$ for IMG in `ls *.jpg`;
> do
> mv $IMG I-Vacaciones-2009.jpg ;
> I=$(($I+1)) ;
> done

En la primer linea creamos la variable I, que para usarla se deberá invocar como $I. Luego, el for hace el resto de la magia.

Para renombrar un directorio el mecanismo es exactamente el mismo. Si tengo directorio1 y quiero llamarlo directorio2 simplemente escribo lo siguiente:

$ mv directorio1 directorio2

De esta manera se puede usar el comando para mover archivos (mv) para renombrarlos.

Cómo cambiar la resolución de muchas imágenes

En mi último viaje saqué aproximadamente 1000 fotos, que a unos 4MB por foto hacen un total de 4GB. Eso sería imposible de cargar en un tiempo razonable, así que se me ocurrió cambiarle la resolución a las imágenes para que ocuparan menos y como hacerlo uno por uno llevaría una eternidad, pensé en hacerlo automáticamente.

Primero tenemos que instalar Imagemagick, que en Ubuntu puede hacerse directamente con:

sudo apt-get install imagemagick

Este es el programa que permitirá la conversión de las imágenes en sí. El siguiente paso es ir a la carpeta donde están las fotos y escribir lo siguiente:

for IMG in `ls *.jpg`;
do
convert -sample 60%X60% -quality 85 $IMG reducido-$IMG;
done

En la primer linea, lo que se hace es buscar todos los archivos que tengan extensión jpg (cuidado que distingue de mayúsculas y minúsculas, o sea que podría ser JPG.) A esos archivos los guarda en la variable $IMG (en el for no hay que poner el $.) Luego, convert es el comando de Imagemagick; podemos elegir a qué porcentaje queremos reducir las fotos y con qué calidad. Los otros 2 parámetros son el archivo que estamos modificando y cómo queremos llamarlo. ¡Tengan cuidado de no sobreescribir los archivos originales a menos que quieran!.

Esta simplicidad es la que me hace adorar cada vez más a Linux y su linea de comandos.

Qué es Linux

Pingüino de Linux

Pingüino de Linux

Bueno, qué mejor forma de comenzar un blog sobre Linux que intentando explicar qué es. Se puede hablar mucho de la historia, de lo que es el proyecto GNU, qué es UNIX, etc. etc. pero todo eso está en Wikipedia [1], [2], [3], [4]. También se podría hablar sobre la estructura con la que fue programado, pero como son cosas de las que no entiendo, prefiero saltarlas e ir a lo importante realmente. Continue reading ‘Qué es Linux’