Instalar el Java de Oracle en Debian

Para instalar el Java de Oracle en Debian 6 ó 7 (Squeeze o Wheezy) hay que seguir el siguiente procedimiento:
1) Descargar el jdk más moderno correspondiente a nuestra arquitectura (i386 o x86_64) de la página de descargas de Java.

2) Instalarlo en /opt con:
# cd /opt
# tar -xzvf <path_to_download>/jdk-7u7-linux-i586.tar.gz

(Ojo, cambiar el nombre del fichero con el que nos hayamos descargado).

3) Registramos esta versión de Java como alternativa y la marcamos por defecto (los comandos se corresponden con la versión para i386, por lo que habrá que modificarlos  en caso de estar en x86_64:
# update-alternatives --install /usr/bin/java java /opt/jdk1.7.0_07/bin/java 1
# update-alternatives --install /usr/bin/javac javac /opt/jdk1.7.0_07/bin/javac 1
# update-alternatives --install /usr/lib/mozilla/plugins/libjavaplugin.so mozilla-javaplugin.so /opt/jdk1.7.0_07/jre/lib/i386/libnpjp2.so 1
# update-alternatives --set java /opt/jdk1.7.0_07/bin/java
# update-alternatives --set javac /opt/jdk1.7.0_07/bin/javac
# update-alternatives --set mozilla-javaplugin.so /opt/jdk1.7.0_07/jre/lib/i386/libnpjp2.so

4) Verificar la versión de java instalada con el comando:
# java -version
java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) Server VM (build 23.3-b01, mixed mode)

5) Verificar la versión instalada en el navegador en esta página, pulsando en el botón «Verificar la versión de Java».

Tomado del blog > /dev/null.

Instalar el entorno de desarrollo Android en Debian Squeeze

Esta es una versión resumida y traducida al español, con muy poco aporte propio, del blog de Christoph Haas. No solo funciona en Debian Squeeze, los mismos pasos se pueden seguir para instalarlo en otras distribuciones, como p.e. OpenSUSE, lo único que cambiaría sería la forma de instalar el jdk de Oracle, pero para eso ya hay otra entrada donde se explica.

Los pasos a seguir para tener un entorno de desarrollo Android con Eclipse en Debian Squeeze son:

1) Instalar el Java de Oracle (lo siento, si no, no funciona del todo bien).
Para ello tenemos que confirmar que tenemos configurado apt para acceder a los repositorios no libres. Es decir, que en el fichero /etc/apt/sources tengamos una línea más o menos como esta:

deb http://ftp.es.debian.org/debian/ sid main contrib non-free

Puede cambiar el origen dependiendo del país, la forma de acceso y la rama que usemos (sid, stable, etc.), pero lo importante es que al final ponga main contrib y non-free. Instalamos los paquetes:

apt-get install sun-java6-jdk sun-java6-jre

Eliminamos después el paquete gcj, por si acaso.

apt-get install sun-java6-jdk sun-java6-jre

Si estamos en 64 bits hay que instalar también:

sudo apt-get install ia32-libs

2) Instalar Eclipse.
Aunque hay un paquete deb en la distribución, no me ha funcionado. Hay que instalar la versión “Eclipse classic” de la página de descargas de Eclipse y descomprimirla en el directorio /opt:

sudo tar -C /opt -xzf /<directorio_de_descargas>/eclipse-SDK-3.5.1-linux-gtk.tar.gz

Cambiamos el propietario:

sudo chown -R <nuestro_usuario>:<nuestro_grupo> /opt/eclipse

Creamos un script para lanzar el programa, por ejemplo el fichero /opt/eclipse/eclipse_launcher.sh con el contenido:

#!/bin/bash
export MOZILLA_FIVE_HOME="/usr/lib/iceweasel/"
export ECLIPSE_HOME="/opt/eclipse"
export GDK_NATIVE_WINDOWS=1
/opt/eclipse/eclipse

(Si usamos firefox hay que poner firefox en vex de iceweasel)

Damos permisos de ejecución al script:

sudo chmod a+x /opt/eclipse/eclipse_launcher.sh

Opcionalmente, pero queda bien, se puede añadir este lanzador en el menú, de la misma forma que se explica para añadir el lanzador de Firefox en el tercer párrafo de esta entrada.

3) Instalar el SDK de Android.
Descargamos el SDK de la página de descargas y lo descomprimimos en nuestro directorio personal.

cd ~
tar xzf /<ruta al fichero descargado>/android-sdk_r04-linux_86.tgz

Añadimos la ruta de las tools del SDK:

echo 'export PATH=${PATH}:${HOME}/android-sdk-linux/tools' >> /home/<nuestro_usuario>/.bashrc

4) Instalar el plugin de Android en Eclipse:
Arrancamos Eclipse y vamos a “Help / Install new software”. En el campo “Work with” ponemos http://download.eclipse.org/releases/indigo/ (en vez de indigo habrá que poner la versión que tengamos descargada, que puede ser otra, como por ejemplo «juno» o kepler) y pulsamos “enter”. En el cuadro de software disponible (Name / Version) aparecerá “Pending …” y en la esquina inferior derecha de la ventana de Eclipse nos irá contando cuándo lleva descargando (“Fetching children of Indigo: (xx%)”). Puede tardar bastante.

Una vez que se hayan terminado de cargar los componentes disponibles, hacer click en la sección “Web, XML and Java EE Development» y seleccionar el elemento “WST Server Adapters”. Pulsamos “Next” dos veces, aceptamos el acuerdo de licencia y pulsamos “Finish”. Tardará otro rato en instalar el software. Al terminar hay que reiniciar Eclipse.

Volvemos de nuevo a “Help / Install new software” y Pulsamos en el botón “Add” y rellenamos el campo nombre con “Android plugin” y en “Location” ponemos la url http://dl-ssl.google.com/android/eclipse/. Pulsamos OK y nos vuelve a cargar componentes. Seleccionamos todos los elementos de la sección “Developer Tools”. Otra vez “Next … Next … aceptar… y Finish” como antes. En algún momento nos dice que estamos instalando contenido sin firmar. No pasa nada. Pulsamos OK y seguimos. Al terminar, otra vez arrancar Eclipse.

Hay que decirle a Eclipse dónde están las SDK. Para ello vamos a Windows / Preferences y en la sección Android ponemos en la “SDK location” el directorio donde lo descomprimimos en el paso 3.

5) Instalar una máquina virtual.
Lanzar el Android SDK desde el menú o desde un terminal con el comando

$>android

Aparece una ventana de configuración, en la que tenemos que ir a Tools / Options y marcar el checkbox Force https:// ...

En la ventana de “Available Packages” seleccionamos para instalar la versión de Android con la que queramos trabajar. Esto tarda bastante y descarga mucha información al disco. Paciencia. Una vez que termina, vamos a Tools / Manage AVDs y creamos una máquina virtual para el emulador con la versión que deseemos. Se puede pulsar en “Start” y ver el emulador, pero hay que tener en cuenta que tarda bastante en cargar, estaremos un buen rato viendo el logo de ANDROID hasta que termina. Es buena costumbre dejar el emulador abierto mientras codificamos, así, cuando demos «Run» o «Debug» a la aplicación, Eclipse verá que ya está cargado el emulador y todo irá más deprisa. Si cada vez que ejecutamos una prueba cerramos y abrimos el emulador, tendremos que esperar que vuelva a cargar.

Y ya está. Con esto ya podemos hacer nuestra primera aplicación Android.

Instalar el DNI electrónico en Debian Squeeze / Ubuntu / Linux Mint

Resumo a continuación el procedimiento que yo he seguido para la instalación, y que me ha funcionado tanto en Debian Squeeze como en Linux Mint 16 (en otras distribuciones supongo que también funcionará, utilizando los paquetes correspondientes, pero yo no lo he probado):

1) INSTALAR LIBRERIAS NECESARIAS
sudo apt-get install libccid libpcsclite1 libpcsclite-dev pcscd pcsc-tools libpcsc-perl libusb-dev

2) INSTALAR EL LECTOR DE TARJETAS
Instalamos el lector de tarjetas, en mi caso es un SCR3310.
Descargamos, si no lo tenemos ya, el paquete de instalación del lector.

Descomprimimos el archivo
tar -xvzf /<ruta_al_archivo_descargado>/scmccid_5.0.11_linux.tar.gz

Ejecutamos el archivo de instalación que viene con él
cd /<ruta_al_archivo_descargado>/scmccid_5.0.11_linux
sudo ./install.sh

3) INSTALAR EL CERTIFICADO RAIZ
Importar el certificado raiz de la FNMT accediendo a esta página. Al pulsar sobre el icono con forma de certificado (o un enlace con la palabra «aquí») se abrirá una ventana en la cual marcamos los tres checks que aparecen y luego pulsamos OK.

4) INSTALAR EL PAQUETE OPENSC-DNIE PARA EL DNI ELECTRONICO
Descargamos el paquete que se corresponda con nuestro sistema de la pág. web del eDNI y lo instalamos. En mi caso el paquete a descargar es el Debian_Squeeze_opensc-dnie_1.4.8-2_i386.deb. (Los que usen Linux Mint 11 tienen que descargar el paquete para Ubuntu Natty. Para la versión de Linux Mint 15 sirve la de Ubuntu Precise. Para Linux Mint 16 en 32 bits me ha servido este paquete). La forma más cómoda de instalar el paquete es acceder a él desde el explorador de archivos y pulsando el botón derecho, seleccionar la opción Abrir con instalador de paquetes GDebi.

5) PREPARAR EL NAVEGADOR PARA LA LECTURA DEL DNI ELECTRONICO
Entramos en Firefox /Iceweasel en Editar / Preferencias / Avanzado / Cifrado / Dispositivos de seguridad.
Pulsamos en Cargar y pulsando en el botón Examinar seleccionamos el archivo /usr/lib/libpkcs11-dnie.so y luego pulsamos OK. Pulsamos de nuevo OK y cerramos la ventana de preferencias de Firefox / Iceweasel.

Cerramos el navegador y lo volvemos a abrir. Metemos el eDni en el lector de tarjetas y para comprobar que nos lee nuestro certificado abrimos el Firefox / Iceweasel y vamos a Editar / Preferencias / Avanzado / Criptografía / Ver certificados.
Al pulsar en la pestaña «Mis certificados», nos pedirá el PIN y nos mostrará los certificados del eDNI listos para ser usados en internet

Hay muchas más páginas web sobre cómo instalar el DNI electrónico español en Linux, las que he visto más completas y útiles son:

Instalación de DNI electrónico (DNIe) en Debian Squeeze

Usando el DNI electrónico en Debian squeeze/sid

Documentacion OpenDNIe Instalacion Linux del Cenatic

De todas ellas he extraído información para realizar esta entrada. Muchas gracias a todas.

Instalar la última versión de Iceweasel en Debian 6 (Squeeze)

Aunque ya hay un enlace a un método para hacerlo en la wiki de esDebian, al repasarlo no me ha funcionado del todo bien el paso de importación de la llave, así que pongo aquí el método completo con la forma en la que sí que me ha funcionado (lo estoy ejecutando en un Debian 6 de 32 bits, pero debería funcionar igual en 64 bits)

1) Añadir los repositorios de backport, añadiendo al fichero /etc/apt/sources.list las siguientes lineas:
deb http://backports.debian.org/debian-backports squeeze-backports main
deb http://mozilla.debian.net/ squeeze-backports iceweasel-release

2) Importar la llave:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 85A3D26506C4AE2A

3) Actualizar e instalar
sudo apt-get update
sudo aptitude install -t squeeze-backports iceweasel

Instalar Firefox en Debian 6

Aunque se puede instalar el navegador Firefox de Mozilla incluyendo el repositorio de Mint Debian, prefiero dejar los repositorios de Debian tal cual, e instalar la última versión de Firefox usando el binario que proporciona Mozilla (en estos momentos la 10, pero funcionaría igual para otras versiones, sólo hay que cambiar el fichero a descargar). El proceso es el siguiente (esto me ha funcionado en un Debian 6 Squeeze para 32 bits):

Descargamos el fichero de aquí. Hacemos login en una consola como root y lanzamos los siguientes comandos (suponiendo que el fichero lo hemos descargado en el directorio Descargas):
#cd /opt
#tar xvf /home/<nuestro_usuario>/Descargas/firefox-10.0.tar.bz2
#cp /opt/firefox/icons/mozicon128.png /usr/share/pixmaps/firefox.png
#ln -s /opt/firefox/firefox /usr/bin/firefox

Luego, para crear un enlace en el menú, vamos a Sistema / Preferencias /Menú principal, seleccionamos Aplicaciones / internet, pulsamos el botón «Elemento nuevo» y creamos un lanzador de tipo Aplicación, le ponemos de nombre «Firefox», comando «/opt/firefox/firefox», comentario «Pues eso», pulsamos Aceptar y ya está.

Edito: he visto que como el directorio creado en /opt pertenece al usuario root, cuando haya una actualización para el navegador ésta no podrá instalarse automáticamente por falta de permisos. La solución es cambiar el propietario de la carpeta, ya sea permanentemente o cuando el navegador nos avise de que hay una actualización disponible (lo podemos saber si pulsamos en Ayuda / Acerca de Firefox).  El comando para ello es:
#chown -R nuestro_usuario:nuestro_grupo /opt/firefox

Para que la carpeta vuelva al usuario root el comando es:
#chown -R root:root /opt/firefox

P.D. : Los binarios que Mozilla suministra en su página principal de descarga son para 32 bits. En los sistemas de 64 bits esta forma de instalar Firefox no funcionará, dando error while loading shared libraries: libstdc++.so.6. La instalación de Iceweasel utilizando los repositorios backport sí que funcionará en 64 bits.

Edito otra vez: Hay otra página de descargas de Mozilla aparte de la citada antes, que es esta. En ella es posible descargarse también los binarios tanto para i686 como para x86_64. A día de hoy (15/3/2012) la versión más actual que se puede descargar es la 11. Es posible también descargarse las versiones en otras lenguas o en variantes locales, para ello no hay más que navegar por el árbol de directorios y elegir la que más nos guste.

Incluir usuario en sudoers

Si intentamos utilizar la opción «sudo» en Debian para ejecutar comandos en consola con nuestro usuario asumiendo privilegios del usuario root (tal y como se hace en Ubuntu y en otras distros ), veremos que el sistema nos da un error que nos dice que nuestro usuario no está incluido en el fichero «sudoers». Aunque hay quien sugiere editar a pelo el fichero /etc/sudoers, creo que es mejor hacerlo utilizando las aplicaciones de administración de Debian, de la siguiente manera:

Accedemos a Sistema / Administración / Usuarios y grupos. Una vez allí aparece seleccionado nuestro usuario (normalmente solo habrá uno, el nuestro, si no, seleccionamos aquél que queramos incluir en «sudoers»). Pulsamos el botón Gestionar grupos, y en la ventana que aparece seleccionamos el grupo «sudo»  y pulsamos el botón Propiedades. En la nueva ventana que nos aparece seleccionamos el «ckeckbox» del usuario a incluir en «sudoers» y pulsamos Aceptar. Se nos pedirá la contraseña de «root», después cerramos las ventanas que nos quedan abiertas, cerramos la sesión y al  volver a iniciar sesión ya podremos utilizar el comando «sudo» con nuestro usuario.

Cambiar la imagen de fondo en Grub 2

Hay varias formas, de hacerlo, pero la que veo más sencilla es la siguiente: editar como root el archivo(si no existe, habrá que crearlo)

/usr/share/desktop-base/grub_background.sh

Y modificar (o crear)la linea:

WALLPAPER=/usr/share/images/desktop-base/debian-blueish-wallpaper-640x480.png

Poniendo en ella la imagen que queramos (yo soy un poco carca y me gusta el antiguo azul de Debian). Hay que tener en cuenta que según la imagen que pongamos habrá que modificar también el color de la fuente para verlo bien poniendo:

COLOR_NORMAL=black/black
COLOR_HIGHLIGHT=white/black

El segundo color es el color de fondo, que si no se pone «black» nos tapa la imagen.

P.D.: Esto funciona en Debian 6 y en Ubuntu 10.04. En otras distribuciones o versiones es posible que no sirva, porque la implementación de Grub2 es diferente en cada caso.

Si los script php no funcionan en /home/~usuario/public_html

A partir de la versión 10.04 LTS de Ubuntu Server y también en Debian Wheeze los script de php5 no funcionan por defecto cuando se invocan en el directorio del usuario habilitado para el módulo de Apache mod_userdir. Para solucionarlo editar el archivo

/etc/apache2/mods-available/php5.conf

Y comentar las líneas que se refieren a dicho módulo, dejándolas

#    <IfModule mod_userdir.c>
#        <Directory /home/*/public_html>
#            php_admin_value engine Off
#        </Directory>
#    </IfModule>

Después de salvar el archivo, reiniciar el Apache  y ya deberían de funcionar.

Tomado de Ubuntuforums

Cuando no termina el safe-upgrade en Debian

Para subir la versión de Debian a la inmediatamente posterior, por ejemplo de Squeeze a Wheezy, lo habitual es actualizar el /etc/apt/sources.list con los nuevos repositorios y utilizar los comandos:

#aptitude update
#aptitude safe-upgrade

Aunque este sistema es seguro y no da problemas, es posible sin embargo que encontremos que el comando «safe-upgrade» parece embuclarse, teniendo que pararlo tras varias horas de ejecución (o minutos, depende de la impaciencia) sin que veamos que termine correctamente. Esto se debe a que «safe-upgrade» no elimina ningún paquete previamente instalado, algo que a veces es necesario para poder terminar la instalación de la nueva versión. Cuando esto ocurre basta con hacer directamente

#aptitude full-upgrade

Que terminará la actualización normalmente sin problemas.