Category Archives: Ubuntu

Instalar subversion 1.5 en Ubuntu Hardy

En los repositorios de Ubuntu Hardy (la última versión LTS liberada hasta este momento) sólo se puede encontrar subversion 1.4 debido a que en este tipo de versiones de Ubuntu, las versiones de los paquetes no se actualizan tan a menudo (salvo por correcciones y bugs) como uno quisiera.

Entonces, para poder instalar subversion 1.5, se debe hacer una pequeña maniobra. Primero, agregar lo siguiente al archivo /etc/apt/sources.list:

deb http://ppa.launchpad.net/clazzes.org/ubuntu hardy main

Luego, actualizamos la base de datos de paquetes:

$ aptitude update

Después procedemos a instalar este sistema de control de versiones:

$ aptitude install subversion

Cuando ya esté instalada esta versión, quitamos o comentamos (con un #) la línea agregada en /etc/apt/sources.list:

#deb http://ppa.launchpad.net/clazzes.org/ubuntu hardy main

Finalmente, volvemos a hacer un update de los paquetes:

$ aptitude update

Ver la versión de Ubuntu

Para ver la versión de Ubuntu que está corriendo mi server, hago lo siguiente:

$ cat /etc/*-release

El resultado en mi caso es:

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.04
DISTRIB_CODENAME=hardy
DISTRIB_DESCRIPTION="Ubuntu 8.04"

Este procedimiento sirve también para otras distribuciones como Red Hat.

Una forma alternativa de hacerlo es mediante:

$ cat /etc/issue

Que mostrará por ejemplo:

Ubuntu 8.04 "Hardy Heron" \n \l

Aunque esta forma solo funciona en Ubuntu. En otras distros pueden probar:

$ cat /etc/motd

O también:

$ cat /etc/redhat-version

Una tercera forma, para las distrbuciones que adoptan LSB, es mediante el comando:

$ lsb_release -a

Esto mostrará:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 8.04.2
Release:        8.04
Codename:       hardy

Desinstalar kernels antiguos en Ubuntu

Tras cada actualización del kernel de Linux, los anteriores quedan como recuerdo en el disco duro. El inconveniente principal de esto es que cada vez que arranques tu máquina, el menú del Grub (o Lilo quizá, aunque si usas Ubuntu, es poco probable que lo tengas) será cada vez más largo y con opciones (kernels antiguos) que muy probablemente no vuelvas a utilizar.

La solución a esto es desinstalar cada cierto tiempo los kernels obsoletos. En Ubuntu, podemos hacerlo de la siguiente manera:

Ver primero que versión del kernel estamos usando con el comando:

uname -r

Esto arrojará algo como:

2.6.28-13-generic

Ver que otras versiones tienen instaladas (a la izquierda de cada linea, hay una letra, todas las que tengan la letra i serán las que están en el sistema):

sudo aptitude search linux-image-2

Luego, desde consola ejecutamos el comando:

sudo apt-get remove --purge 2.6.28-11-*

Teniendo en cuenta que 2.6.28-11 es la versión que queremos quitar (OJO, deben reemplazar este valor por la versión que quieran quitar, que no sea la versión actual y preferiblemente dejen las dos últimas versiones por si la más nueva tiene algún problema).

El resultado de este comando será algo similar a esto (seguramente con variaciones dependiendo que tengan instalado):

Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Couldn't find package 2.6.28-11
yorch@blackbird:~$ sudo apt-get remove --purge 2.6.28-11-*
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting linux-image-2.6.28-11-generic for regex '2.6.28-11-*'
Note, selecting linux-headers-lbm-2.6.28-11-server for regex '2.6.28-11-*'
Note, selecting linux-image-2.6.28-11-server for regex '2.6.28-11-*'
Note, selecting linux-headers-2.6.28-11-generic for regex '2.6.28-11-*'
Note, selecting linux-headers-2.6.28-11-server for regex '2.6.28-11-*'
Note, selecting linux-headers-2.6.28-11 for regex '2.6.28-11-*'
Note, selecting linux-backports-modules-2.6.28-11-server for regex '2.6.28-11-*'
Note, selecting linux-backports-modules-2.6.28-11-generic for regex '2.6.28-11-*'
Note, selecting linux-restricted-modules-2.6.28-11-server for regex '2.6.28-11-*'
Note, selecting linux-restricted-modules-2.6.28-11-generic for regex '2.6.28-11-*'
Note, selecting linux-headers-lbm-2.6.28-11-generic for regex '2.6.28-11-*'
Note, selecting linux-image-2.6.28-11-virtual for regex '2.6.28-11-*'
The following packages will be REMOVED:
  linux-headers-2.6.28-11* linux-headers-2.6.28-11-generic* linux-image-2.6.28-11-generic*
  linux-restricted-modules-2.6.28-11-generic*
0 upgraded, 0 newly installed, 4 to remove and 0 not upgraded.
After this operation, 190MB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 369744 files and directories currently installed.)
Removing linux-headers-2.6.28-11-generic ...
Removing linux-headers-2.6.28-11 ...
Removing linux-restricted-modules-2.6.28-11-generic ...
update-initramfs: Generating /boot/initrd.img-2.6.28-11-generic
Purging configuration files for linux-restricted-modules-2.6.28-11-generic ...
Removing linux-image-2.6.28-11-generic ...
Examining /etc/kernel/prerm.d.
run-parts: executing /etc/kernel/prerm.d/dkms
Uninstalling: vboxnetflt 2.1.4 (2.6.28-11-generic) (x86_64)

-------- Uninstall Beginning --------
Module:  vboxnetflt
Version: 2.1.4
Kernel:  2.6.28-11-generic (x86_64)
-------------------------------------

Status: Before uninstall, this module version was ACTIVE on this kernel.

vboxnetflt.ko:
 - Uninstallation
   - Deleting from: /lib/modules/2.6.28-11-generic/updates/dkms/
 - Original module
   - No original module was found for this module on this kernel.
   - Use the dkms install command to reinstall any previous module version.
depmod....

DKMS: uninstall Completed.
Uninstalling: vboxdrv 2.1.4 (2.6.28-11-generic) (x86_64)

-------- Uninstall Beginning --------
Module:  vboxdrv
Version: 2.1.4
Kernel:  2.6.28-11-generic (x86_64)
-------------------------------------

Status: Before uninstall, this module version was ACTIVE on this kernel.

vboxdrv.ko:
 - Uninstallation
   - Deleting from: /lib/modules/2.6.28-11-generic/updates/dkms/
 - Original module
   - No original module was found for this module on this kernel.
   - Use the dkms install command to reinstall any previous module version.
depmod....

DKMS: uninstall Completed.
Uninstalling: virtualbox-ose-guest 2.1.4 (2.6.28-11-generic) (x86_64)

-------- Uninstall Beginning --------
Module:  virtualbox-ose-guest
Version: 2.1.4
Kernel:  2.6.28-11-generic (x86_64)
-------------------------------------

Status: Before uninstall, this module version was ACTIVE on this kernel.

vboxadd.ko:
 - Uninstallation
   - Deleting from: /lib/modules/2.6.28-11-generic/updates/dkms/
 - Original module
   - No original module was found for this module on this kernel.
   - Use the dkms install command to reinstall any previous module version.

vboxvfs.ko:
 - Uninstallation
   - Deleting from: /lib/modules/2.6.28-11-generic/updates/dkms/
 - Original module
   - No original module was found for this module on this kernel.
   - Use the dkms install command to reinstall any previous module version.
depmod....

DKMS: uninstall Completed.
run-parts: executing /etc/kernel/prerm.d/last-good-boot
Running postrm hook script /sbin/update-grub.
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /boot/vmlinuz-2.6.28-13-generic
Found kernel: /boot/memtest86+.bin
Replacing config file /var/run/grub/menu.lst with new version
Updating /boot/grub/menu.lst ... done

Purging configuration files for linux-image-2.6.28-11-generic ...
Running postrm hook script /sbin/update-grub.
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /boot/vmlinuz-2.6.28-13-generic
Found kernel: /boot/memtest86+.bin
Updating /boot/grub/menu.lst ... done

dpkg - warning: while removing linux-image-2.6.28-11-generic, directory `/lib/modules/2.6.28-11-generic' not empty so not removed.

Luego pueden repetir el proceso para el resto de versiones que deseen.

Usar una IP estática en Ubuntu Intrepid

Luego de repetidos intentos de colocarle una IP estática a mi máquina utilizando el NetworkManager que viene por defecto, ésta es reseteada y establecida por DHCP en cada reinicio (no quería meterle mano directamente al archivo /etc/network/interfaces). Según lo que encontré, esto es un bug del dichoso programa. Algunos sugiren desinstarlo, pero yo no buscaba una solución tan drástica. Afortunamente encontré un workaround. Aún no reinicio mi computadora para ver si realmente funciona, pero todo indica que sí.

Otra opción sería instalar Wicd, una alternativa al NetworkManager.

Caracteres ASCII en Ubuntu

Mientras escribía el post anterior, me ví en la necesidad de utilizar un caracter ASCII que no se encontraba en mi teclado, hablo de ~, que en Linux representa el directorio home del usuario actual. En Windows, podría haber utilizado el Alt + 164 para colocarlo, pero esto no funciona en Ubuntu (ni en otras distrbuciones de Linux).

Luego de buscar algunos minutos en Google, no encontre nada que me permita usar Alt + código para agregar caracteres especiales. Lo interesante que encontré fue que al presionar AltGr + 4, obtengo dicho caracter. Si utilizo AltGr con el resto de teclas del teclado, se consiguen muchos otros caracteres que nos pueden resultar útiles.

Convertir una clave PuTTY en una OpenSSH

Si sabes que es PuTTY y lo utilizas con alguna regularidad, es probable que en algún momento necesites convertir una de sus claves privadas al formato OpenSSH para utilizarla en linux. ¿A que me refiero? a hacer algo como:

ssh usuario@servidor

desde una consola de linux y entrar directamente al servidor, sin tener que estar recordando ni escribiendo la contraseña cada vez.

Vamos a necesitar la herramienta puttygen (que se encuentra dentro del paquete putty-tools) para hacer la conversión. Desde Ubuntu (o desde cualquier otra distribución basada en Debian), basta con:

sudo apt-get install putty-tools

Una vez que tenemos instalado dicha herramienta, creamos el directorio .ssh (donde guardaremos nuestra clave) en nuestro home, en caso no esté creado:

mkdir ~/.ssh

Luego, le cambiamos los permisos para que solo sea accesible por nuestro usuario:

chmod 700 ~/.ssh

Después, procedemos a realizar la conversión (puedes ver todas las opciones del comando puttygen aquí):

puttygen nombre-de-nuestra-clave-de-putty.ppk -O private-openssh -o ~/.ssh/id_rsa

Si nuestra clave de PuTTY tiene un passphrase, nos lo va a pedir.

Luego, nos aseguramos que los permisos de la clave recién creada sean los correctos:

chmod 600 ~/.ssh/id_rsa

Finalmente, solo bastará con colocar el passphrase una vez durante toda nuestra sesión y podremos conectarnos a los equipos que queramos sin necesidad de la contraseña.

PD, encontré que el procedimiento contrario (de una clave OpenSSH a una de PuTTY) está explicado acá.

Editores de texto, más allá del Bloc de Notas

El tristemente celebre Bloc de Notas (o Notepad) ha estado presente desde las épocas en que ejecutábamos el comando win desde aquella pantalla negra de DOS (versión 6.22 quizá) para abrir el Windows. Con el paso de los años, su funcionalidad, para bien o para mal, no ha cambiado en casi nada (corríjanme si me equivoco). Definitivamente no es un programa de uso de uso intensivo.

Desde hace algunos años, he venido utilizando algunas alternativas más trabajadas para tareas que van desde abrir simples archivos de texto hasta programar en ASM (aquellas épocas de la universidad) y hacer desarrollo web. Acá una lista de mis preferidos (todos gratuitos):

  • Notepad2: El primer programa con el que reemplazé al Bloc de Notas.
  • Notepad++: Muchas muchas opciones.
  • SciTE: El editor del proyecto Scintilla, sobre el que muchos otros están basados (incluyendo al Notepad2 y Notepad++). Definitivamente este es mi preferido. Otro punto a favor es que es multiplataforma (corre tanto en Windows como en Linux).
  • GEdit: El editor de facto de muchas distribuciones de Linux que utilizan GNOME (como Ubuntu). Utiliza la librería GTK+. Aunque no tiene un instalador directo para Windows, es posible instalarlo.
  • Editra: Lo encontré hace poco. Está escrito en Python por lo que también es multiplataforma.
  • Geany: También lo encontré recientemente. Utilizá GTK+, por lo que también es multiplataforma. Se ve muy interesante, así que le estoy dando una chance.

Espero no olvidarme de alguno… ¿Cuál usas tú?

Ubuntu 8.10 (Intrepid Ibex) liberado

Hoy ha sido liberada la nueva versión de Ubuntu. Tanto la versión de escritorio como la de servidor trae mejoras muy interesantes.

Algunas de las mejoras hechas en Desktop Edition:

  • Soporte para la tecnología 3G (internet celular).
  • Copiar Ubuntu desde USB.
  • Sesión de invitado.

Y algunas otras en Server Edition:

  • Nuevos perfiles de instalación (Tomcat Java Server y Virtualization Host).
  • Incorporación del comando service de las distribuciones basadas en RedHat.
  • JeOS es ahora una opción en el momento de la instalación.
  • Mejoras en el aspecto de virtualización.

Gimp 2.6 liberado e instalado en Ubuntu 8.04

Hace unos días salió la versión 2.6 de Gimp (un programa Open Source de edición de imágenes, similar al Photoshop) que incorporá muchos cambios. Aún no se encuentra en los repositorios oficiales de Ubuntu, pero ya es posible instalarlo de una manera sencilla tal como lo muestran acá, ya sea desde consola o desde el administrador de paquetes Synaptic.