jueves, 30 de septiembre de 2010

Cese de Xmarks (antiguo Foxmarks) - Actualizado

Xmarks, antiguamente conocido como Foxmarks, es una extensión/servicio multinavegador que permite sincronizar los marcadores del navegador Mozilla Firefox (inicialmente; actualmente también otros navegadores) entre diferentes ordenadores. Llevo utilizándolo satisfactoriamente desde hace más de 2 años. De hecho puedo afirmar que simplificó enormemente mi vida. Y creo que con diferencia es la mejor herramienta en su género. Desgraciadamente, y vía actualización a la revisión 3.9.2, han comunicado el cese del servicio a partir del 10 de Enero del 2011. Por lo visto, no han sido capaces de rentabilizar económicamente su modelo de negocio.

Aunque no van a desarrollar más la extensión (ni darle soporte), podríamos seguir usando Xmarks dado que permite utilizar servidores privados.


No obstante, no hay más que elogiar que, en dicho comunicado, informen de alternativas (eso sí, específicas para cada navegador) para la sincronización de nuestros marcadores:

BrowserSync AlternativeXmarks Data Types SupportedPrice
FirefoxFirefox Sync
(Mozilla)
Bookmarks, passwords, history, tabsFree
ChromeChrome Sync
(Google)
BookmarksFree
Internet ExplorerWindows Live Essentials
(Microsoft)
BookmarksFree
SafariMobileMe
(Apple)
Bookmarks, passwords$99/year





Actualización:
Tal como señalan aquí, Xmarks ha sido comprada por LastPass. ¿Y eso qué significa? Pues que Xmarks no desaparecerá. Continuarán ofreciendo el mismo servicio gratuito que veníamos disfrutando hasta ahora. La única diferencia es que ahora dispondremos opcionalmente de un servicio premium previo pago con características y servicios adicionales.

viernes, 10 de septiembre de 2010

Javadoc en Ubuntu Lucid (10.04)

Hasta Lucid 10.04, Ubuntu (y derivadas) traían el paquete sun-java6-doc, que proporcionaba acceso a toda la documentación del API de Java en local. Muy útil si queremos tener acceso a ella dentro de nuestro entorno de programación, como en Netbeans.

Pero ahora con Lucid no disponemos de ese paquete. ¿Qué alternativas tenemos?. Hasta donde sé, disponemos de dos opciones:
  • Descargarnos un archivo zip con la documentación desde este enlace:
http://java.sun.com/javase/downloads/index.jsp
  • Instalar alternativamente el paquete openjdk-6-doc:
sudo apt-get install openjdk-6-doc

Hecha una cosa u otra (la primera tiene el inconveniente que tenemos que registrarnos, lo cual lo hace muy latoso), solamente tenemos que, dentro de Netbeans, indicar la ruta del zip del paso 1, o la ruta de instalación del paso 2. Para ello, nos vamos al menú Tools, orden Java Platforms,


pestaña Javadoc, botón add ZIP/Folder.


En el caso de indicar la ruta del paso 2, sería /usr/share/doc/openjdk-6-doc


sábado, 31 de julio de 2010

Montar imagen ISO sin formato ISO 9660

El otro día me encontré con el problema de querer montar una imagen ISO que no cumplía el formato ISO 9660. Lo intenté pulsando el botón derecho sobre el archivo .iso dentro de Nautilus, Menú de contexto-> Abrir con -> Montador de archivos.


Como no hacía nada, probé desde un terminal con (ver aquí):

sudo mount -t iso9660 -o loop archivo.iso /directorio/de/montaje

pero siempre me lanzaba un error, estilo 'wrong fs type', o 'CD-ROM is NOT in ISO 9660 format'.

Después de probar con la aplicación gISOMount sin ningún resultado (se quedaba colgada),


definitivamente solucioné el problema gracias a AcetoneISO.


Aunque los repositorios oficiales de Ubuntu ya integran una versión, normalmente no será la última. Para asegurarnos, podemos tirar del siguiente repositorio PPA (para Lucid), ejecutando desde un terminal:

sudo add-apt-repository ppa:ferramroberto/linuxfreedomlucid
sudo apt-get update
sudo apt-get install acetoneiso

Encontraremos el acceso directo dentro de Aplicaciones -> Sonido y Vídeo.

viernes, 9 de julio de 2010

K3b 2.0

Cuando muchos pensábamos que K3b, uno de los buques insignia del escritorio KDE, se perdería desgraciadamente en el proceso de migración de KDE3 a KDE4 (o lo que es lo mismo, de las Qt 3.x a Qt 4.x), felizmente nos hemos encontrado con la afortunada irrupción de un nuevo programador en sus filas, Michał Małek. Según palabras del propio Sebastian Trüg (alma mater del proyecto) , gracias a su enorme esfuerzo y dedicación, debemos considerarlo hoy en día el desarrollador principal de K3b.


Como tal, y en muy pocos meses, ha sacado el proyecto de una situación prácticamente de estancamiento, a la publicación de una versión alfa a finales del año pasado, y al sorprendente anuncio de la primera versión beta recientemente. Y no solo eso, sino que el buen ritmo de corrección de errores y la estabilidad alcanzada, hacen presagiar que la versión final podría publicarse a finales de Febrero.

En mi opinión, era la última etapa (inconclusa) para completar una satisfactoria migración a la versión 4 de KDE. Con la actual y ultima revisión de la rama 4.3 publicada (4.3.5, que asegura una experiencia de usuario magnífica), y con el próximo lanzamiento de la versión 4.4 (prevista para el 9 de Febrero) , todo hace augurar una excelente salud a KDE.

Cabe esperar que la futura versión de Kubuntu (además de Mandriva; openSUSE tardará bastante más en llegar), que integrará KDE 4.4, K3b 2.0 (esperemos), un GUI de administración de paquetes más depurado (un KPackageKit hasta ahora un tanto verde), versiones finales de digiKam y KOffice... definitivamente haga una implementación de calidad y conduzca a este escritorio al éxito que se merece (y que le es tan esquivo últimamente).

Actualización:

Tal como anuncia su sitio oficial y su principal desarrollador Michael Malek, la versión final de K3b 2.0 ha sido publicada.

jueves, 15 de abril de 2010

Instalar versiones actualizadas de aplicaciones en Ubuntu y derivadas

Un compañero que se está iniciando en el mundillo de las distribuciones Linux, me preguntaba como instalar una aplicación en Ubuntu. De entrada se defiende con Synaptic, así como con el concepto de repositorios. Si no fuese el caso, los recursos que os enlazo anteriormente son de obligada lectura.

De cualquier forma, es muy útil http://packages.ubuntu.com para localizar una aplicación dentro de los repositorios oficiales de Ubuntu, para una versión concreta (Jauntu, Karmic, etc) o todas ellas.

Por ejemplo, hablemos de la aplicación ufraw. Si empleamos el buscador que facilita la anterior dirección (http://packages.ubuntu.com/search?keywords=ufraw) vemos el siguiente resultado:


Ahí podemos comprobar de qué versión disponemos en nuestra edición de Ubuntu. Para saber si es muy reciente o no, lo siguiente sería intentar localizar la página oficial de la aplicación (google es nuestro aliado), en nuestro caso http://ufraw.sourceforge.net/

Ahí comprobamos que hasta hace bien poco (01/04/2010) la última versión era la 0.16, justamente la versión que integra el repositorio Universe de Ubuntu Lucid 10.04. Así que no tendríamos más que usar Synaptic o desde consola apt-get para instalar dicha versión si disponemos de Lucid.

Pero si por ejemplo todavía tenemos Karmic, la versión disponible en el repositorio Universe es la 0.15. O justamente ahora ha salido la 0.17, de manera que ni Lucid viene con la última versión en los repositorios oficiales. ¿Cómo podemos hacer para instalar una nueva versión?.

Si la propia página de la aplicación no ofrece un repositorio con la versión más reciente para nuestra edición de Ubuntu, disponemos de varias alternativas. Yo voy a comentar las 2 que considero más sencillas.

La primera sería utilizar el servicio GetDeb: http://www.getdeb.net/welcome/

En la parte superior derecha, tiene un cuadro de search. Si buscamos nuestra aplicación de ejemplo: http://www.getdeb.net/updates/Ubuntu/9.10/?q=ufraw la versión es la misma que traen los repos de Lucid. GetDeb compila los paquetes para distintas ediciones de Ubuntu (Jaunty, Karmic, Lucid) así que si pulsamos en el resultado de la búsqueda: http://www.getdeb.net/software/UFRaw observamos que disponemos de la 0.16 (parte inferior de la pantalla) tanto para Jaunty como para Karmic (o sea, la misma versión que ya integra Lucid).


Nos descargamos la versión y la instalamos (al estilo Windows, vía Gdebi). Si usamos Firefox, éste nos ofrecerá descargar el .deb o instalarlo con Gdebi.

El inconveniente de este sistema es que si van saliendo nuevas versiones no estaremos al corriente, cosa que sí ocurre si trabajamos con repositorios, que siempre nos mantienen al día de las actualizaciones.

La otra posibilidad de la que os quería hablar es la de los repositorios PPA (Personal Package Archives). Podemos buscar dentro del servicio PPA si alguien mantiene un repositorio con las últimas versiones de la aplicación en cuestión. Ese alguien puede ser alguno de los desarrolladores, o algún colaborador/usuario de la aplicación. En este caso, si la propia página de la aplicación no hace referencia a ningún repositorio PPA, podemos usar alguno de los buscadores de paquetes dentro de los repositorios PPA, por ejemplo: https://launchpad.net/ubuntu/+ppas

Justamente el primer resultado es del repositorio de un usuario que mantiene las compilaciones diarias de la aplicación (ojo, pues las compilaciones diarias suelen ser una versión de la aplicación muy inestable).


El repositorio https://launchpad.net/~pmjdebruijn/+archive/ppa dispone de la última versión (la 0.17, a día 01/04/2010) tanto para Karmic como para Lucid.

Si nuestra edición es Karmic o superior, podemos añadir el repositorio a nuestro 'source.list' muy fácilmente, tal como explican aquí, o directamente pegando el nombre del repositorio, en este caso 'ppa:pmjdebruijn/ppa', dentro de la pantalla para añadir repositorios de terceros en Synaptic (o KPackageKit, si usamos Kubuntu) o bien desde consola:

sudo add-apt-repository ppa:pmjdebruijn/ppa
sudo apt-get update
sudo apt-get install ufraw

miércoles, 17 de marzo de 2010

Obtener/Establecer UUID de partición de SWAP

El otro día estuve reparticionando el disco duro (reorganizando particiones, incluido borrar mi actual swap y crearla con otra posición y tamaño) y al arrancar el sistema operativo, me encontré un error de que no se había podido montar la partición swap o de intercambio. En mi /etc/fstab estaba utilizando el código UUID para identificar mis particiones, por la razón que expliqué en una anterior entrada.

El problema fue que al eliminar la partición de swap y volverla a crear, el UUID de la partición cambió. Al disponerme a averiguar el nuevo UUID de la partición de swap, para corregirlo en mi /etc/fstab, me encuentro que la orden:
ls -la /dev/disk/by-uuid

lrwxrwxrwx 1 root root 10 2010-03-17 01:52 2251c12d-0e7c-5d13-6c91-0a89f48e3986 -> ../../sdb7
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 2ca25890-b8ad-478e-a4e7-b7d5400494d0 -> ../../sdd1
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 45a8bef4-918a-4ddf-818e-8bb04e9b660f -> ../../sdb3
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 46cdf0a3-3201-4820-bf67-a3c76acdbfe0 -> ../../sdc1
lrwxrwxrwx 1 root root 9 2010-03-17 01:52 5d482f91-66d6-4fb8-a525-a746e69ad914 -> ../../sda
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 8c79355f-406d-451b-8995-36498944bba3 -> ../../sda1
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 9b39e0d5-619e-b437-3a42-fc5206cd21ae -> ../../sdb8
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 CE50FBB050FB9E01 -> ../../sdb1
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 DE08B62608B5FE19 -> ../../sdb5
no muestra la partición de swap, así como:
blkid

/dev/sda1: LABEL="DISCO3" UUID="8c79355f-406d-451b-8995-36498944bba3" SEC_TYPE="ext2" TYPE="ext3"
/dev/sdb1: UUID="CE50FBB050FB9E01" LABEL="wXP" TYPE="ntfs"
/dev/sdb3: UUID="45a8bef4-918a-4ddf-818e-8bb04e9b660f" TYPE="ext4"
/dev/sdb5: UUID="DE08B62608B5FE19" LABEL="DATOS" TYPE="ntfs"
/dev/sdb6: TYPE="swap"
/dev/sdb7: LABEL="temp" UUID="2251c12d-0e7c-5d13-6c91-0a89f48e3986" SEC_TYPE="ext2" TYPE="ext3"
que sí la muestra, pero indica que carece de dicho uuid. El caso es que la partición de swap existe, tal como verifico ejecutando:
sudo fdisk -l

Disco /dev/sdb: 500.1 GB, 500107862016 bytes
255 cabezas, 63 sectores/pista, 60801 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Identificador de disco: 0x381e381d

Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sdb1 * 1 2611 20972826 7 HPFS/NTFS
/dev/sdb2 4192 60801 454719825 5 Extendida
/dev/sdb3 2612 4191 12691350 83 Linux
/dev/sdb5 4192 26769 181357753+ 7 HPFS/NTFS
/dev/sdb6 26770 27044 2208906 82 Linux swap / Solaris
/dev/sdb7 27045 46736 158175958+ 83 Linux
/dev/sdb8 46737 60801 112977081 83 Linux
donde compruebo que la partición swap está en /dev/sdb6.

La manera de asignar un nuevo uuid a la partición consiste en ejecutar las siguientes órdenes. Primeramente, y por seguridad, desmontamos las particiones de swap (si acaso estuviesen montadas):
sudo swapoff -a
para luego establecer cual queremos que sea nuestra partición swap (en mi caso /dev/sdb6):
sudo mkswap /dev/sdb6
que como vemos nos devuelve el nuevo uuid de la partición:
Configurando la versión swapspace 1, tamaño = 2208900 KiB
sin etiqueta, UUID=d1a2d270-78d5-4a4b-9854-ccc2cd7db1ef
Para comprobar que todo está correcto, vuelvo a ejecutar:
josea@ubuntu-desktop:/dev/disk/by-uuid$ ls -la
total 0
drwxr-xr-x 2 root root 240 2010-03-17 01:13 .
drwxr-xr-x 6 root root 120 2010-03-17 01:52 ..
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 2251c12d-0e7c-5d13-6c91-0a89f48e3986 -> ../../sdb7
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 2ca25890-b8ad-478e-a4e7-b7d5400494d0 -> ../../sdd1
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 45a8bef4-918a-4ddf-818e-8bb04e9b660f -> ../../sdb3
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 46cdf0a3-3201-4820-bf67-a3c76acdbfe0 -> ../../sdc1
lrwxrwxrwx 1 root root 9 2010-03-17 01:52 5d482f91-66d6-4fb8-a525-a746e69ad914 -> ../../sda
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 8c79355f-406d-451b-8995-36498944bba3 -> ../../sda1
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 9b39e0d5-619e-b437-3a42-fc5206cd21ae -> ../../sdb8
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 CE50FBB050FB9E01 -> ../../sdb1
lrwxrwxrwx 1 root root 10 2010-03-17 01:13 d1a2d270-78d5-4a4b-9854-ccc2cd7db1ef -> ../../sdb6
lrwxrwxrwx 1 root root 10 2010-03-17 01:52 DE08B62608B5FE19 -> ../../sdb5
donde ya podemos comprobar que sale la partición de swap con su correspondiente uuid.

Ahora solo nos queda editar el /etc/fstab, en mi caso quedando así:
UUID=d1a2d270-78d5-4a4b-9854-ccc2cd7db1ef none            swap    sw              0       0
Ahora podríamos ejecutar la orden:
sudo swapon -a
para empezar a utilizar la partición, o simplemente reiniciar el sistema, para comprobar que todo vuelve a estar en orden.

miércoles, 17 de febrero de 2010

KDE 4.3.5 en Kubuntu Karmic y openSUSE 11.2

Tal como se puede leer aquí en el caso de Kubuntu y aquí en el caso de openSUSE, la última (y definitiva) revisión de la rama de escritorio 4.3.x de KDE (ahora ya centrados únicamente en las revisiones de la recién publicada rama 4.4 y el desarrollo de la nueva 4.5) está 'oficialmente' disponible como actualización en ambas distribuciones. Remarco lo de 'oficialmente' pues hasta ahora era posible disponer de ésta y anteriores revisiones tirando de repositorios alternativos. Sin embargo y a partir de ahora, se instalará como una actualización automática más.
  • En el caso de Kubuntu, debemos de tener habilitado el repositorio Backports, tal como explican aquí.
  • Si tenemos openSUSE y no hemos estado tocando los repositorios, no tendremos que hacer nada (los que vienen activados por defecto serán suficientes). En caso contrario, mejor consultar esta información. Básicamente deberíamos de quitar cualquier repositorio que hayamos añadido anteriormente para actualizaciones de KDE, y dejar los 4 listados dentro de STABLE (KDE 4.3) para nuestra versión de openSUSE. Una vez recarguemos el listado de paquetes y hayamos actualizado, podríamos añadir repositorios adicionales.

jueves, 14 de enero de 2010

Activado acceso HTTPS predeterminado en Gmail

Hoy al entrar en mi cuenta de Gmail, he observado un aviso de novedades en el servicio.

Al consultarlo, me encuentro que han activado de manera predeterminada el acceso a nuestra cuenta a través del protocolo HTTPS.


tal como en la práctica se puede comprobar.


Ya desde hace algún tiempo se podía habilitar dicha posibilidad, pero por defecto estaba desactivada. Sin embargo, a partir de ahora, todos los usuarios tendrán dicha opción activada por defecto.

¿Tendrá este cambio algo que ver con el actual conflicto que mantiene Google con el gobierno Chino? Actualizado: Más detalles sobre el ataque.

P.D. Por cierto, no tengo más que aplaudir la forma en la que de momento la empresa está afrontando dicha crisis. Otra cuestión bien distinta sería analizar comportamientos anteriores.

lunes, 11 de enero de 2010

Acciones (comunes y/o de root) en menú de contexto

Hoy he añadido 3 nuevos imprescindibles en la categoría de Linux (margen derecho del Blog):

- Para escritorio KDE:

- Para escritorio GNOME:

Todos tienen la misma finalidad: permitir la ejecución de acciones habituales y/o de root (normalmente sobre archivos o carpetas) de manera simple, a través del menú de contexto de nuestro administrador de archivos (Nautilus en caso de GNOME; Konqueror o Dolphin en caso de KDE). Realmente más que de aplicaciones, se trata de recopilaciones de scripts de shell (scripts de Perl en el caso de Root Actions Servicemenu), aunque alguno requiera la presencia de software adicional.

La manera fácil de instalar Root Actions Servicemenu en Kubuntu (probado en Jaunty, Karmic, Lucid) es abrir una consola y ejecutar:
sudo add-apt-repository ppa:samrog131
sudo apt-get update
sudo apt-get install servicemenu-rootactions
Si queremos hacerlo manualmente descargamos el tar.gz de su sitio web, lo descomprimimos (por ejemplo en nuestro 'home' o carpeta de usuario), copiamos el archivo rootactions-servicemenu.pl a /usr/local/bin o /usr/bin
josea@linux-intb:~/Download/Root_Actions_2.4.8> sudo cp rootactions-servicemenu.pl /usr/local/bin
y comprobamos que tenga activado el atributo de ejecutable
josea@linux-intb:/usr/local/bin> ls -l
total 40
-rwxr-xr-x 1 root root 39078 ene 11 17:54 rootactions-servicemenu.pl
A continuación copiamos los archivos .desktop de dolphin-KDE4 a la carpeta service dentro de la configuración de nuestro KDE4, que (depende de la distro, en este caso openSUSE 11.2) podría ser ~/.kde4/share/kde4/services/:
josea@linux-intb:~/Download/Root_Actions_2.4.8/dolphin-KDE4> cp *.desktop ~/.kde4/share/kde4/services
Ahora ya podemos borrar el tar.gz y la carpeta donde lo hayamos descomprimido.

Para instalar g-scripts, descargamos el tar.gz, y lo descomprimimos dentro de ~/.gnome2. No hace falta hacerlo dentro de ~/.gnome2/nautilus-scripts/, pues la jerarquía de carpetas del tar.gz ya la incluye.

Si queremos instalar NScripts, descargamos el tar.gz, y en este caso sí que necesitaremos descomprimirlo dentro de ~/.gnome2/nautilus-scripts/

Ahora solo tenemos que abrir Nautilus o Dolphin, abrir el menú de contexto sobre un archivo o carpeta, y veremos un nuevo subconjunto de órdenes, dentro de la opción 'Scripts' en caso de Nautilus, y 'Opciones de root' en caso de Dolphin/Konqueror.

Sobre un archivo:


Sobre una carpeta:



sábado, 9 de enero de 2010

Compilaciones diarias de Chromium

Si queréis estar al tanto del estado de desarrollo del navegador Chromium, proyecto de software libre detrás de Google Chrome, no tenéis más que comprobarlo vosotros mismos, simplemente ejecutando (en una distro derivada de Ubuntu Karmic 9.10):
sudo add-apt-repository ppa:chromium-daily/ppa
sudo apt-get update
sudo apt-get install chromium-browser
lo que os permitirá acceder a las compilaciones diarias de dicho navegador.


La verdad que actualmente es perfectamente utilizable, y aunque todavía no al nivel de funcionalidad de Firefox, es increíble lo que los desarrolladores de Google han conseguido en tan poco tiempo. Sin duda en cuestión de meses será un firme candidato a navegador 'predeterminado' en nuestro escritorio.

OpenShot Video Editor 1.0

Hoy ha sido publicada oficialmente la primera versión final de este magnífico editor de vídeo no lineal. Junto con Kdenlive, los 2 mejores editores de código abierto que existen actualmente. Así como Kdenlive ya es un proyecto veterano, es increíble lo que el equipo de desarrollo de OpenShot ha conseguido en tan poco tiempo (Agosto de 2008, tal como podemos leer en esta entrada sobre la historia del proyecto). Hoy en día casi no tiene nada que envidiar a soluciones propietarias (además que de pago) de edición no profesionales, como Pinaccle Studio, Nero Vision, Windows Movie Maker, etc.

Si queréis echarle un ojo, y usáis cualquier distro derivada de Ubuntu Karmic 9.10, simplemente:
sudo add-apt-repository ppa:jonoomph/openshot-edge
sudo apt-get update
sudo apt-get install openshot



viernes, 8 de enero de 2010

Actualizando GRUB2

Recientemente instalé Ubuntu 9.10 Karmic Koala en mi portátil, machacando el gestor de arranque que tenía en el MBR (GRUB instalado por openSUSE) por el nuevo GRUB2 que incorpora Karmic.

La verdad que en principio todo funcionó, siendo capaz tanto de arrancar con Karmic, como con Windows 7 (las menos) y openSUSE (de calle la mejor en integrar el escritorio KDE).

El problema surgió en el último arranque que hice con openSUSE, pues YaST actualizó algunos paquetes, entre los que se encontraba una revisión del kernel. La siguiente vez que intenté arrancar openSUSE desde GRUB2, éste me lanzó un error de que no encontraba el kernel de openSUSE.

Así que después de arrancar con Karmic, y tirando de algunos recursos, concretamente éste (o este otro en castellano), la solución fue ejecutar update-grub (como root), tal como se muestra a continuación:
josea@ubuntu-dell:~$ sudo update-grub
[sudo] password for josea:
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.31-16-generic
Found initrd image: /boot/initrd.img-2.6.31-16-generic
Found linux image: /boot/vmlinuz-2.6.31-14-generic
Found initrd image: /boot/initrd.img-2.6.31-14-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Dell Utility Partition on /dev/sda1
Found Windows 7 (loader) on /dev/sda2
Found openSUSE 11.2 RC 1 (i586) on /dev/sda6
done
josea@ubuntu-dell:~$
update-grub ejecuta unos scripts que se encuentran dentro de /etc/grub.d, que entre otras cosas, y dinámicamente, se encargan de encontrar los s.o. que tengamos en nuestra máquina, y almacenar toda esa información en el archivo grub.cfg, que se encuentra en /boot/grub (vendría a ser el menu.lst de GRUB) y que no deberíamos modificar manualmente, ya que de esto se encargan precisamente los scripts mencionados antes.

Si GRUB2 no estuviese correctamente instalado, ejecutaríamos a continuación (en mi caso no fue necesario):
sudo grub-install /dev/sda
que instalaría GRUB2 en el MBR de la unidad sda (usar sdb, etc si vuestra unidad es otra, o usar /dev/sdaX, sustituyendo sda por lo que corresponda, y X por el número de la partición en la que queramos instalar GRUB2, si no quisiésemos hacerlo en el MBR). Si lanzase algún error, podríamos intentarlo con:
sudo grub-install --recheck /dev/sda
Es hora de reiniciar y comprobar si nuestro trabajo ha resultado satisfactorio.

martes, 24 de noviembre de 2009

Activar Kickoff en Mandriva 2010

Aquí seguimos, buscando la mejor distro KDE del momento. Con la avalancha de lanzamientos de las últimas fechas (Ubuntu, Mandriva, openSUSE y Fedora, por orden de publicación) uno no da abasto.
En esta ocasión estaba probando Mandriva 2010, y choca a estas alturas encontrarse con el menú clásico de KDE activado por defecto,


en lugar de Kickoff.


Cambiar de uno a otro es muy sencillo, pero ojo, que antes de poder hacerlo con el menú de contexto en el icono del lanzador, tenemos que comprobar que los elementos gráficos de escritorio no están desactivados (en cuyo caso dicho menú de contexto no nos mostrará esa posibilidad). Es el comportamiento predeterminado en Mandriva. Así que mientras no me di cuenta del detalle, estuve un buen rato maldiciendo mi torpeza.

Así que tal como decía antes, la configuración de los elementos gráficos está desactivada, por defecto.


Y así es como se nos muestra el menú de contexto del lanzador de KDE (ni rastro de la opción de activar Kickoff).


Tras activar la configuración de elementos gráficos de escritorio, ahora el menú presenta este aspecto.


p.d. Por cierto, en la carrera a la mejor distro KDE del año, destaca en primer lugar openSUSE (lástima de administración de paquetes), seguida muy de cerca por Mandriva, y más rezagada Kubuntu (fundamentalmente no acaba de cuajar KPackageKit, todavía muy verde). Estoy pendiente de probar Fedora (el liveCD se ha negado a cargar al inicio parte de los elementos del escritorio KDE, en mi sobremesa, así que mal comienzo).

domingo, 25 de octubre de 2009

Usar UUID o ID en lugar de nombres de dispositivos

El otro día compré una tarjeta expresscard eSata para poder conectar mi recién adquirida base (docking station) Sharkoon al portátil.



Al margen de las asombrosas velocidades de transferencia que se consiguen usando eSata en comparación con UBS, me encontré con el problema de que tanto al conectar el disco duro en caliente como al iniciar el sistema con él conectado, los nombres (o el orden) de los nombres de dispositivos pueden variar. Me explico...

Si arranco el sistema operativo sin el disco duro eSata conectado, el disco interno del portátil es /dev/sda, y las distintas particiones /dev/sda1, /dev/sda2, etc. Si conecto el disco eSata (el disco al docking, y el docking al puerto eSata de la expresscard), el sistema le asigna nombre de dispositivo /dev/sdb, y sus distintas particiones /dev/sdb1, /dev/sdb2, etc. En este estado de cosas, tendremos archivos de configuración, elinks, etc que hacen referencia a estas particiones y/o nombres de dispositivos. Pero si yo ahora arranco el sistema con el disco duro externo ya conectado al puerto eSata, puede pasar (de hecho en mi caso es lo que pasa) que el sistema le asigne a dicha unidad el nombre de dispositivo /dev/sda, y al disco duro interno /dev/sdb, con el consiguiente reordenado en las particiones.... y a partir de ahí ya os podéis imaginar la que se lía (en mi caso, del gestor de arranque ya no pasa).

Para evitar esta situación, podemos usar UUID (Identificador Universal Único) en lugar de nombres de dispositivos (/dev/sdx#). Los UUID se asignan unívocamente a cada unidad, independientemente de su orden de arranque, cambios en hardware, etc.
¿Y como podemos averiguar dichos UUID?. Una forma sencilla de hacerlo es a través de la utilidad de linea de comandos blkid. Tenemos que ejecutarla como superusuario (root), y el resultado puede ser parecido a éste:
linux-intb:~ # blkid
/dev/sda1: SEC_TYPE="msdos" LABEL="DellUtility" UUID="07D7-031C" TYPE="vfat"
/dev/sda2: UUID="A4C4FAA5C4FA78BE" TYPE="ntfs"
/dev/sda3: UUID="7688E5C284F748B5" TYPE="ntfs"
/dev/sda5: UUID="c57fbee4-4540-1d9a-7296-f108f9bb5959" TYPE="swap"
/dev/sda6: LABEL="kubuntu_9.04" UUID="c64c8686-4549-4b42-90f5-1db009068089" TYPE="ext4"
/dev/sda7: LABEL="openSUSE_11.2" UUID="42622030-05ab-44b0-a967-748d276fe753" TYPE="ext4"
pudiendo usar estos UUID tranquilamente en todas aquellas partes donde hasta ahora empleábamos los nombres de dispositivos y/o particiones (como en los archivos fstab, menu.lst y grub.conf). Por ejemplo, en el fstab, podemos añadir UUID=xxx.yyy.zzz (sin las comillas dobles) en sustitución de /dev/sdx#, es decir:
UUID=xxx.yyy.zzz  /media/eSATA     ext3 auto,user      0       2
en lugar de
/dev/sdb1  /media/eSATA     ext3 auto,user      0       2
De esta manera, nos ahorramos los quebraderos de cabeza ocasionados por cambios en el hardware.

Además de la especificación by-uuid, el administrador de dispositivos udev utiliza alternativamente otro tipo de alias denominado by-id. Una forma sencilla de averiguar estos id (así como uuid, etiquetas, etc) es sabiendo que udev establece estos alias al arranque sobre /dev/disk. Si ejecutamos:
ls /dev/disk -l
vemos 4 resultados:
josea@linux-intb:~> ls /dev/disk/ -l
drwxr-xr-x 2 root root 380 2009-10-25 14:00 by-id
drwxr-xr-x 2 root root 100 2009-10-25 15:00 by-label
drwxr-xr-x 2 root root 220 2009-10-25 14:00 by-path
drwxr-xr-x 2 root root 160 2009-10-25 15:00 by-uuid
Si a continuación ejecutamos:
ls /dev/disk/by-id -l
obtenemos
josea@linux-intb:~> ls /dev/disk/by-id/ -l
total 0
lrwxrwxrwx 1 root root 9 2009-10-25 15:00 ata-TOSHIBA_MK1234GSX_27LMTPXAT -> ../../sda
lrwxrwxrwx 1 root root 10 2009-10-25 15:00 ata-TOSHIBA_MK1234GSX_27LMTPXAT-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 2009-10-25 15:00 ata-TOSHIBA_MK1234GSX_27LMTPXAT-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 2009-10-25 15:00 ata-TOSHIBA_MK1234GSX_27LMTPXAT-part3 -> ../../sda3
lrwxrwxrwx 1 root root 10 2009-10-25 15:00 ata-TOSHIBA_MK1234GSX_27LMTPXAT-part4 -> ../../sda4
lrwxrwxrwx 1 root root 10 2009-10-25 15:00 ata-TOSHIBA_MK1234GSX_27LMTPXAT-part5 -> ../../sda5
lrwxrwxrwx 1 root root 10 2009-10-25 15:00 ata-TOSHIBA_MK1234GSX_27LMTPXAT-part6 -> ../../sda6
lrwxrwxrwx 1 root root 10 2009-10-25 15:00 ata-TOSHIBA_MK1234GSX_27LMTPXAT-part7 -> ../../sda7
lrwxrwxrwx 1 root root 9 2009-10-25 14:00 edd-int13_dev80 -> ../../sda
lrwxrwxrwx 1 root root 9 2009-10-25 15:00 scsi-SATA_TOSHIBA_MK1234G_27LMTPXAT -> ../../sda
lrwxrwxrwx 1 root root 10 2009-10-25 15:00 scsi-SATA_TOSHIBA_MK1234G_27LMTPXAT-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 2009-10-25 15:00 scsi-SATA_TOSHIBA_MK1234G_27LMTPXAT-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 2009-10-25 15:00 scsi-SATA_TOSHIBA_MK1234G_27LMTPXAT-part3 -> ../../sda3
lrwxrwxrwx 1 root root 10 2009-10-25 15:00 scsi-SATA_TOSHIBA_MK1234G_27LMTPXAT-part4 -> ../../sda4
lrwxrwxrwx 1 root root 10 2009-10-25 15:00 scsi-SATA_TOSHIBA_MK1234G_27LMTPXAT-part5 -> ../../sda5
lrwxrwxrwx 1 root root 10 2009-10-25 15:00 scsi-SATA_TOSHIBA_MK1234G_27LMTPXAT-part6 -> ../../sda6
lrwxrwxrwx 1 root root 10 2009-10-25 15:00 scsi-SATA_TOSHIBA_MK1234G_27LMTPXAT-part7 -> ../../sda7
Vamos con otro ejemplo: en menu.lst podemos utilizar la nomenclatura by-id en lugar de los nombres de dispositivos. En lugar de:
title openSUSE 11.2
root (hd0,6)
kernel /boot/vmlinuz-2.6.31.3-1-default root=/dev/sda7 resume=/dev/sda5 splash=silent quiet showopts vga=0x317
initrd /boot/initrd-2.6.31.3-1-default
podríamos poner:
title openSUSE 11.2
root (hd0,6)
kernel /boot/vmlinuz-2.6.31.3-1-default root=/dev/disk/by-id/ata-TOSHIBA_MK1234GSX_27LMTPXAT-part7 resume=/dev/disk/by-id/ata-TOSHIBA_MK1234GSX_27LMTPXAT-part5 splash=silent quiet showopts vga=0x317
initrd /boot/initrd-2.6.31.3-1-default

En el ejemplo que veíamos antes con fstab, si usásemos by-id en lugar de nombres de dispositivos o by-uuid, quedaría:
/dev/disk/by-id/scsi-3500000e01632b7d0-part2   /media/eSATA     ext3 auto,user      0       2
Ojo porque si creamos la partición durante la sesión en curso, udev no montará en /dev/disk los alias by-id o by-uuid hasta que reiniciemos.

viernes, 9 de octubre de 2009

Kubuntu 9.10 Karmic Koala con KDE 4.3.2

En mi última entrada, ponía en duda si al futuro Kubuntu Karmic le daría tiempo de integrar la recientemente publicada revisión 2 del escritorio KDE 4.3. Sin embargo, y para nuestro regocijo, se confirma tal circunstancia.

Tengo depositadas grandes expectativas en Karmic, y dicha noticia no deja de ser otro indicador más de ello. Animo a quienes no hayan probado KDE 4.x, o lo hayan hecho en alguna de sus versiones más tempranas (y les dejara mal sabor de boca), a darle una oportunidad. El lanzamiento de Karmic el 29 de Octubre sería un buen momento.

martes, 29 de septiembre de 2009

KDE 4.2.4 en Kubuntu Jaunty 9.04 (oficialmente)

Sorprendentemente (la primera vez que ocurre, que yo recuerde) los señores de Kubuntu incorporan una revisión del escritorio KDE, como actualización en un repositorio 'oficial' (y me refiero en una versión de Kubuntu ya publicada; durante el ciclo de desarrollo de la misma, sucede habitualmente).

Lo habitual hasta ahora era lo siguiente. Me explico:
Sale Kubuntu 8.10; oficialmente, con la versión de KDE 4.1, revisión 2. Durante el período de soporte de esa versión de Kubuntu, Canonical hace correcciones en dicha revisión, recompilaciones, etc que se publican en sus repositorios oficiales. Pero si los señores de KDE sacan revisiones de esa versión (4.1.3, 4.1.4, etc) Kubuntu no las incorpora en dichos repositorios, tal como comento en el segundo punto de esta entrada. Como mucho y hasta ahora, algún colaborador las recompilaba y las compartía con la comunidad (oficiosamente, por lo tanto) publicándolas en algún repositorio personal PPA (es de esa manera que ahora mismo tengo mi Kubuntu Jaunty con KDE 4.3.1).
Entiendo que no es posible ni factible incorporar como actualización de una versión de Kubuntu ya publicada, una nueva versión de KDE. Para eso tenemos los ciclos de publicación de Ubuntu/Kubuntu cada 6 meses (o los repositorios PPA, para los que gusten de hacer experimentos; eso sí, en casa y con gaseosa). De manera que si queremos disfrutar 'oficialmente' del nuevo KDE 4.3.x, es comprensible que tengamos que esperar a Kubuntu Karmic 9.10 (veremos si KDE 4.3.1, o la todavía no publicada 4.3.2, que saldrá entorno al 6 de Octubre, 3 semanas antes que la publicación final de Karmic, esperada para el 28 de Octubre).

Pero no me parece tan razonable que si (por ejemplo) Kubuntu Jaunty integra KDE 4.2.x, no se vayan publicando, aunque sea en los repositorios Backports (no activados por defecto) las sucesivas revisiones de dicho escritorio, que con un ciclo de publicación mensual, únicamente incorporan soluciones de errores o problemas de rendimiento detectadas, y no cambios en API's o interfaces de programación.

Pero como un síntoma de que las cosas en Kubuntu parecen estar cambiando (y para bien) finalmente lo que comento en el párrafo anterior ha sucedido.

domingo, 27 de septiembre de 2009

Configuración y uso de Ext2Fsd

En una entrada anterior os hablé de Ext2Fsd, un controlador para acceder a particiones ext2/ext3 desde Windows. Yo siempre había utilizado Ext2IFS, pero recientemente me encontré que no es compatible con inodes mayores de 128 bytes, de manera que no tenía acceso a particiones ext2/ext3 con dicha característica. Así que me he cambiado a Ext2Fsd, y aunque llevo poco tiempo, los resultados de momento son satisfactorios. La puesta en marcha y administración son sustancialmente diferentes a como se hacía en ExtIFS, de modo que me gustaría comentar como funciona.

De entrada, debemos distinguir entre el servicio que nos da acceso propiamente a las particiones ext2/ext3, y la utilidad que nos permite administrar todo lo relativo a su configuración y a las particiones (volúmenes, como le llama Ext2Fsd).

Una vez instalado, nos encontramos con el administrador en la bandeja del sistema.

Pulsando el botón derecho del ratón obtenemos el siguiente menú contextual:
y si escogemos 'Show Main Window' o igualmente con el botón izquierdo del ratón en lugar de con el derecho, vemos:
y

si seleccionamos 'Service Management' en el menú de contexto anterior.

En principio, no tenemos acceso a ninguna partición, así que desde el administrador tendremos que seleccionar la partición que queramos tener acceso, y asignarle una letra de unidad. Hacemos doble clic sobre la partición en cuestión, y en la pantalla que se abre:


pulsamos en el botón 'Mount Points' y asociamos una letra de unidad. Si aplicamos y volvemos a hacer doble clic sobre la partición, veremos una pantalla como ésta:

Es importante que establezcamos el juego de caracteres usado en la partición, pues predeterminadamente se usa el valor 'default'.

Si la distribución Linux que usamos (y casi todas hoy en día) utiliza el juego de caracteres UTF8, comprobaremos que no vemos correctamente acentos, eñes, etc.

Así que nada más asignarle una letra de unidad, el siguiente paso será establecer el codepage correspondiente (UTF8 en mi caso)

Aplicamos y a partir de ese momento, la partición aparecerá en Mi PC, y trabajaremos con ella como si de una partición Fat/Ntfs se tratase. Si no es así, es que el servicio está detenido, así que en la pantalla de 'Ext2Fsd Service Management', pulsamos el botón 'Start' si el servicio no está iniciado. Ahora sí, debemos ver las particiones en Mi PC.

Como vemos en la captura de la pantalla de administración de servicio (Ext2Fsd service management), podemos establecer que el servicio siempre arranque al inicio, de manera que a partir de ese instante, y si las unidades no son extraibles, siempre que reiniciemos, nos encontraremos accesibles las particiones, sin tener que hacer nada de nada. De hecho, la herramienta de administración puede cerrarse cuando queramos, lo importante es que tengamos el servicio en marcha.

También si vamos a usar particiones ext2/ext3 en unidades extraibles, pueda interesarnos activar la opción 'Assign drive letter automatically', de forma que nos evitamos el engorro de tener que asignar las letras de unidad manualmente cada vez que pinchemos una unidad.

La administración del servicio también podemos hacerla desde el menú 'File' del gestor de volúmenes:

miércoles, 23 de septiembre de 2009

KRename 4.0.0

Buenas noticias, pues tal como anuncian aquí, por fin se ha publicado la versión 4.0.0 de KRename, la primera versión final para el escritorio KDE4. Tal como comentaba en una anterior entrada, hasta ahora a los usuarios de KRename no nos quedaba otra que usar la anterior versión estable 3.0.x (enfocada a KDE3, aunque funcionase en KDE4), o tirar de repositorios no oficiales y usar alguna versión en desarrollo de la rama 4.0.x. Se supone que ahora que tenemos versión estable, todas las distros integrarán en sus repositorios oficiales esta versión, en detrimento de la 3.0.x.


KRename es una utilidad de renombrado de ficheros extremadamente potente que incorpora una gran cantidad de funcionalidades.

En mi opinión, y con la llegada oficial de KRename a KDE4, la única aplicación pendiente de migrar a Qt4 y con la que completaríamos la funcionalidad de la que disfrutábamos en KDE3, es K3b. De momento, tenemos que conformarnos con una alpha2.

martes, 22 de septiembre de 2009

Acceso desde Windows a particiones ext2/ext3 con tamaño de inode mayor a 128 bytes

Como ya comenté en una anterior entrada, gracias a Ext2 IFS, tenemos acceso (lectura/escritura) a particiones ext2 o ext3 desde Windows. Por lo menos hasta ahora.

Hace unos días compré un disco duro de 1Tb Seagate LP 5900rpm: ideal para hacer copias de seguridad usando eSata, silencioso, apenas se calienta, y muy económico (60€). Le di formato ext3 con el GParted de los repositorios de Ubuntu Jaunty, y como de costumbre, intenté acceder a la partición desde Windows, pero no hubo forma. Así que investigando un poco, me encuentro con esto:
Large inode
The current version of Ext2 IFS only mounts volumes with an inode size of 128 like old Linux kernels have. Some very new Linux distributions create an Ext3 file systems with inodes of 256 bytes. Ext2 IFS 1.11 is not able to access them. Currently there is only one workaround: Please back up the files and create the Ext3 file system again. Give the mkfs.ext3 tool the -I 128 switch. Finally, restore all files with the backup.
que viene a decir que particiones ext2/ext3 con tamaño de inode superior a 128 bytes no están soportadas por Ext2 IFS. ¿Cómo podemos solucionarlo? Ahora comento 2 alternativas.

Todos los pasos que siguen deberán de ejecutarse con la partición desmontada.
Además debemos tener instalado el paquete e2fsprogs (por defecto habitualmente), de lo contrario, ejecutamos
sudo apt-get install e2fsprogs
Si no sabemos de que partición se trata, podemos averiguarlo ejecutando:
sudo fdisk -l
Para averiguar el tamaño de los inodes de nuestra partición ext2/ext3, podemos ejecutar:
sudo tune2fs -l /dev/sdb1
que nos devolverá información relativa a nuestra partición (sdb1 en mi caso) resultando:
Filesystem volume name:   DISCO2
Last mounted on:
Filesystem UUID: 4d78dc72-191c-4411-97c6-1f3500f02224
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype sparse_super large_file
Filesystem flags: signed_directory_hash
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 61054976
Block count: 244190000
Reserved block count: 12209500
Free blocks: 230114068
Free inodes: 61054916
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 965
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8192
Inode blocks per group: 512
Filesystem created: Thu Sep 17 23:16:52 2009
Last mount time: Tue Sep 22 03:15:18 2009
Last write time: Tue Sep 22 03:15:26 2009
Mount count: 9
Maximum mount count: 32
Last checked: Thu Sep 17 23:16:52 2009
Check interval: 15552000 (6 months)
Next check after: Tue Mar 16 22:16:52 2010
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: c1bd76dd-d5df-4fca-b2a8-38b6967de2be
Journal backup: inode blocks
Si queremos filtrar únicamente los datos relativos a inodes, podemos ejecutar lo siguiente:
sudo tune2fs -l /dev/sdb1 | grep Inode
que devuelve:
Inode count:              61054976
Inodes per group: 8192
Inode blocks per group: 512
Inode size: 256
Como vemos, efectivamente GParted ha dado formato a mi partición con un tamaño de inode de 256 bytes.

La primera alternativa sería volver a formatear nuestra partición desde consola (dado que GParted no permite establecer dicho parámetro), estableciendo el tamaño de inode a 128 bytes, quedando para una partición ext3 como sigue:
mke2fs -v -I 128 -j -L "etiqueta_volumen" /dev/sdb1
o si queremos como ext2, quitamos el parámetro -j (este parámetro es el que activa el journaling, característica diferenciadora entre ext2 y ext3), quedando:
mke2fs -v -I 128 -L "etiqueta_volumen" /dev/sdb1
Vemos que el tamaño de inode se establece con el parámetro -I tamaño_bytes. Por supuesto, perderíamos todos los datos de nuestra partición al formatear.

Otra alternativa, si queremos utilizar el tamaño de inode de 256 bytes (que pronto se convertirá en el valor por defecto) u otro mayor, sería acceder a dichas particiones desde Windows con Ext2Fsd, que recientemente dio soporte a tamaños de inode mayores de 128 bytes, tal como comentan aquí.

p.d. Si únicamente vamos a utilizar la partición del disco para copias de seguridad nos podría interesar, para maximizar el espacio, ejecutar mke2fs con los parámetros -m 0 y -N 20000, tal como:
mke2fs -v -I 128 -j -N 20000 -m 0 -L "etiqueta_volumen" /dev/sdb1
Aunque establezcamos el número de inodes a 20000, éste es un valor de referencia usado por mke2fs; por ejemplo, si la partición es de 250Gb, y usamos dicho parámetro, el valor real será de 59.648 inodes, y sin él, el número de inodes será 61.049.000. Esto determinará el número de archivos que se pueden almacenar en la partición (a mayor número de inodes, mayor número de archivos, pero si lo que vamos a almacenar son archivos grandes, es una manera de maximizar el espacio disponible). De la misma manera, si no espeficicamos un valor para -m, se reservará un 5% del espacio de la partición al superusuario. Para una partición de 1TB, estamos hablando de casi 50Gb que recuperamos, estableciendo -m 0.