Posts Tagged Linux

‘Wirelessgeist’ en un Giada N10 (Ahtec)

Hace cosa de dos meses escribía una pequeña comparación entre los mini-PCs Ahtec N10 y Acer Aspire Revo. Al final del artículo ya ponía que, aunque el modelo de Acer tuviera detalles técnicos que lo hacían interesante, el ordenador de Ahtec me tenía totalmente encandilado.

A los pocos días fui a comprar el ordenador y la verdad es que es una pasada. Si bien se hecha de menos un poco de rendimiento cuando tienes bastantes cosas abiertas (sobretodo el OpenOffice), el ordenador es muy práctico y se puede meter en cualquier rincón ahorrando mucho espacio. Un detalle que me encanta de este equipo es el bajo nivel de ruido; comparado con mi antiguo Pentium-IV es como si lo tuviese siempre apagado (true story: un dia intenté encenderlo cuando ya lo estaba!).

Pues bien, el equipo funciona de puta madre a las mil maravillas con Ubuntu 10.04 pero hace unos días dejaron de funcionar las conexiones vía Wi-Fi. Todo parecía correcto, el comando ‘lspci’ mostraba información correcta sobre el dispositivo -para vuestra información, este equipo monta una RealTek RTL8187SE-, los logs del sistema no arrojaban ningún error pero el equipo no detectaba ninguna red.

He intentado reinstalar el SO, instalar otra versión de Ubuntu, compilar versiones diferentes del driver, arrancar versiones Live de las principales distribuciones para ver si funcionaba; vamos, que lo he probado todo menos instalar el driver mediante ndiswrapper, pero eso no lo pienso hacer (y menos sabiendo que el dispositivo tiene soporte en el kernel distribuido actualmente en Ubuntu 10.04).

Como nada de lo descrito había funcionado me veía llevando el equipo al servicio técnico… pero antes de ir, realicé una pequeña prueba de forma instintiva: Desconectar el equipo de la red eléctrica.

Exacto… funcionó… el equipo ha vuelto a su rendimiento habitual y las redes Wi-Fi han vuelto. ¿Conclusión? Me hubiese ahorrado unas cuantas instalaciones de diferentes distribuciones de Linux y un montón de tiempo si se hubiese ido la luz durante unos pocos segundos. Antes de empezar a reinstalar cosas desconectad el equipo de la corriente, sacad la batería si es un portátil, os puede ahorrar un montón de tiempo!!!

Lo dicho: True Story

, , , , , , , , ,

3 Comments

Problemas al instalar Ubuntu 9.10 en un disco SATA

Con la llegada del Koala me ha surgido un problema para instalar Ubuntu en una máquina que tengo por casa.

Esta máquina tiene una placa base con dos puertos SATA, pero nunca he podido instalar Ubuntu (u otra distribución de Linux) con un disco de este tipo en modo nativo. Para instalrlo siempre he recurrido al modo RAID (desde la BIOS) para que me reconociera la unidad y no me había dado más problemas.

Después de ver que la actualización de 9.04 a 9.10 no funcionaba tan bien como me esperaba, me decidí a instalar el Koala desde cero. El problema era que en la pantala de definición de las particiones no aprecía la unidad SATA (un problema gordo si sólo tienes una unidad de este tipo). Para solucionar este problema decidí recurrir a los foros de ayuda de Ubuntu y, evidentemente, alguien había tenido este problema antes y aquí va la solución…

Instalar Ubuntu 9.10 en un disco SATA en modo RAID

  1. Arrancamos desde el CD de instalación de Ubuntu y entramos en modo Live CD (no instalación)
  2. Una vez arrancado el sistema desde el CD abrimos el terminal
  3. Eliminamos el paquete dmraid:
    sudo apt-get remove dmraid
  4. Arrancamos la instalación desde el icono del escritorio
  5. Instalamos el sistema con las unidades SATA presentes en el particionador

UbuntuKarmicKoala

Espero que os ayude :-)

, , ,

2 Comments

Mi configuración de Firefox…

Una de las grandes ventajas de Linux respecto a sistemas operativos mayoritarios es la facilidad de customización de su apariencia. Una vez te acostumbras a la flexibilidad de entornos como Ubuntu + Gnome es complicado volver a sistemas más rígidos en cuanto a los componentes de la interfaz. Y una vez esta rueda ha empezado a girar ya no para ante nada… y mi siguiente víctima, en este caso, ha sido el navegador Firefox.

Hace tiempo que buscaba un navegador para Linux que se ajustara a mis necesidades (a ver cuando Google lanza una versión estable de Chrome!) y como no lo encontraba, decidí fabricarmelo yo mismo. Una de mis necesidades principales es que el navegador no me ocupe espacio innecesario en la pantalla con barras inútiles y otra es la integración con el servicio de bookmarks Delicious.

Firefox es totalmente compatible con Delicious gracias al add-on oficial de Yahoo:
https://addons.mozilla.org/en-US/firefox/addon/3615

Y se puede suprimir la barra del menu por un botón con el plugin Compact Menu 2:
https://addons.mozilla.org/en-US/firefox/addon/4550

Si con esto os he despertado el apetito os dejo unos plugins más para que les echeis una ojeada:

Omnibar, modifica la barra de direcciones para que incluya también búsquedas de Google (estilo Chrome):
https://addons.mozilla.org/en-US/firefox/addon/8823

Fission, nos muestra el porcentaje de carga de la página en la barra de direcciones (estilo Safari):
https://addons.mozilla.org/en-US/firefox/addon/1951

New Tab King, proporciona accesos directos a las páginas web más visitadas en una pestaña nueva:
https://addons.mozilla.org/en-US/firefox/addon/10828

Otros plugins interesantes para añadir funcionalidades nuevas son Screengrab! (realiza captiuras de páginas web con scroll), FireFTP (cliente FTP en una pestaña) o Firebug (indispensable para programadores web). Y en el caso que trabajarais con Amazon AWS no dejaría de instalarme S3Fox (un cliente de S3) y Elasticfox (para gestionar nuestras opciones de EC2).

Personalmente después de instalar todos estos addons aun estoy contento con el rendiemiento de Firefox (155MB de RAM con 6 pestañas abiertas) pero sobretodo, estoy contento porque es una buena herramienta para mi trabajo… y queda bien!! Juzgad vosotros mismos…

firefox

Un godo desde Santa Cruz de Tenerife os saluda!

, , , , , , , , , , ,

No Comments

Subir vídeos a YouTube con Zend Gdata

Aunque no sea difícil seguir los tres artículos relacionados con la subida de vídeos a You Tube (se encuentran todos a continuación) os dejo la referencia a los tres apuntes:

  1. Requisitos previos
  2. Identificación del usuario
  3. Subir el vídeo

Y algunos enlaces de interés:

, , , , , , , , ,

1 Comment

El código abierto empieza a emanciparse

Es fácil oir hablar sobre software de código abierto en entornos relacionados con la programación o la administración de sistemas informáticos pero no lo es tanto en entornos como la telefonía móvil o los videojuegos. Esta dinámica parece ser que poco a poco se va invirtiendo y hay algunas evidencias que así lo corroboran.

OpenMoko el teléfono “abierto”

OpenMoko es un proyecto orientado a la creación de teléfonos móviles con una base de programas libres. Es cierto que con la irrupción en el mercado de Android (el sistema operativo para móviles respaldado por la Open Handset Alliance, del que espero hacer un pequeño apunte en breve) el proyecto ha tenido que reorientarse a adaptar Android a su actual dispositivo el Neo FreeRunner ya que es una alternativa mucho más fiable que su anterior software.

Por otro lado, el proyecto OpenMoko también resulta interesante, no por la utilización de software libre, por la “apertura” de sus componentes físicos. Todas las características y especificaciones se pueden encontrar en su página web para tener la información necesaria en caso de querer modificar la estructura del equipo.

Neo FreeRunner

OpenPandora a medio camino entre la DS y un netbook

OpenPandora es una consola portátil con un teclado QWERTY completo y un procesador ARM corriendo un sistema Linux. El proyecto aún no ha empezado a enviar las primeras unidades definitivas pero la expectación creada en entornos “freaks” (perdón… no se como definirlos mejor ;) ) es muy alta y seguro que la primera producción se va a quedar corta para las peticiones recibidas.

OpenPandora

Evo Smart ordenador-consola-media-center de “sobremesa”

Evo Smart es una línea de consolas con la característica de que corren prácticamente sobre hardware que podríamos encontrar en cualquier ordenador de sobremesa. Existen diferentes versiones de la consola en función de las características que escojamos y los precios rondan más o menos los 400 dólares.

Se puede encontrar esta consola corriendo tanto Linux como Windows. Los juegos puedes descargarse de la pàgina web de la consola o comprar en formato SD, en Windows también hay la opción de jugar directamente desde la red… Una mancha negra sin duda para la empresa que aún no esté disponible en Linux.

Evo Smart Console

Si has probado algunos de los sitemas anteriores podrías animarte y comentar que tal tu experiencia ;) En breve intentaré hacer una breve reseña sobre Android y sus posibilidades, me muero por tener un dispositivo con este sistema en sus entrañas!

Saludos!

, , , , ,

No Comments

Mover los archivos de datos de MySQL Server

En ocasiones es posible que nos interese tener los archivos dónde se encuentran los datos de MySQL en un directorio diferente del que viene configurado en la instalación del servidor. Vamos a ver que pasos debemos seguir si en un momento dado queremos migrar los datos de un MySQL Server a un directorio diferente.

Estos pasos han funcionado en diferentes equipos ejecutando un MySQL Server 5.0 con replicación (tanto en modo master cómo en slave) sobre un sistema Ubuntu 8.10. Los archivos de datos en este caso están almacenados en /var/lib/mysql y los vamos a migrar a /home/mysql

  • Creamos el directorio mysql en /home (si no lo tenemos creado ya):
    cd /home
    sudo mkdir mysql
  • Paramos el servidor de MySQL:
    sudo /etc/init.d/mysql stopEste paso hay diferentes formas de ejecturalo, se puede utilizar cualquier comando que pare el servidor MySQL.
  • Copiamos todo el contenido de /var/lib/mysql a /home/mysql :
    sudo cp -R /var/lib/mysql/* /home/mysql/Es muy importante no dejarse la opción -R ya que es la que nos permite copiar directorios con todo su contenido.
  • Una vez copiado el contenido si vamos al directorio /home/mysql veremos que el propietario de los archivos es root. Por este motivo debemos cambiar el propietario de todos los archivos y directorios (incluído /home/mysql):
    sudo chown -R mysql:mysql /home/mysqlOtra vez la opción -R nos permite realizar la operación recursivamente por todos los sub-directorios.
  • Editamos el fichero de configuración del servidor:
    sudo gedit /etc/mysql/my.confEn este ejemplo hemos empleado Gedit pero evidentemente puede editarse con editores del tipo vi o nano.

    Y en la línea dónde encontramos esto:
    ...
    datadir = /var/lib/mysql

    Ponemos lo siguiente:
    ...
    datadir = /home/mysql

  • Es posible que si intentáramos arrancar el servidor de base de datos funcionara pero en la mayoría de casos debemos modificar la configuración de AppArmor. Primero modificaremos uno de los archivos de configuración:
    sudo gedit /etc/apparmor.d/usr.sbin.mysqldY vamos a realizar la siguiente modificación, dónde nos encontremos con las líneas siguientes:
    ...
    /var/lib/mysql/ r,
    /var/lib/mysql/** rwk,
    Vamos a poner lo siguiente:
    ...
    /var/lib/mysql/ r,
    /var/lib/mysql/** rwk,
    /home/mysql/ r,
    /home/mysql/** rwk,
    Si hacemos estas modificaciones pero no volvemos a arrancar AppArmor no nos va a servir de nada, así que antes de seguir al ultimo paso debemos ejecutar el siguiente comando:
    sudo /etc/init.d/apparmor restart
  • Para finalizar sólo tenemos que volver a arrancar el servidor MySQL:
    sudo /etc/init.d/mysql startSi todo ha ido bien el servidor no tardará mucho en arrancar ;)
    • Si una vez realizados estos pasos queremos asegurarnos que el servidor realmente esta almacenando los datos en el directorio que le hemos señalado podemos crear una base de datos vacía y ir al directorio /home/mysql/ y ejecutando el comando ‘ls’ mirar si se ha creado un directorio con el nombre de la base de datos nueva.

      Espero que os sirva!

, , , ,

1 Comment

Empaquetar una instancia de EC2 en funcionamiento (II)

Este post es la continuación de Empaquetar una instancia de EC2 en funcionamiento (I), si no lo has leído mejor que le des un vistazo antes de continuar, si ya lo has leído adelante…

Empaquetar la instancia

Para empaquetar la instancia debemos encontrarnos en el directorio /tmp de la instancia y correr el siguiente comando (que pertenece a las AMI Tools que hemos instalado en el apunte anterior):
ec2-bundle-vol -k /mnt/pk-xxxx.pem -c /mnt/cert-xxxx.pem -u xxxx-xxxx-xxxx* El campo xxxx-xxxx-xxxx lo tenemos que sustituir por los numeros que aparecen en la parte superior derecha de nuestra página de Access Identifiers (justo debajo de Welcome Nombre Usuario | Sign Out).

Este comando va a tardar un poco y nos va a generar una serie de archivos que luego va a ser los que vamos a tener que subir y registrar.

Subir la AMI empaquetada a Amazon S3

Para poder disponer de la AMI debemos subirla a un bucket de Amazon S3. En el proceso de registro de una cuenta de EC2 se nos obliga a tener una de S3 porque las instancias quedan almacenadas allí, por lo tanto con una cuenta de EC2 seguro que tenemos acceso a una de S3.

El único requisito que debemos cumplir para subir una AMI a una cuenta de S3 es disponer de un bucket en la misma Availability Zone. Para gestionar les servicios de Amazon Simple Storage Service, S3, existe un programa multiplataforma en Java llamado Bucket Explorer; la licencia cuesta unos 40 dólares que para la simplicidad del programa considero justos (existe una licencia de prueba de 30 días).

Una vez creado el bucket debemos recordar su nombre y correr el comando siguiente dentro del directorio /tmp en la máquina virtual:
ec2-upload-bundle -b nombredelbucket -m image.manifest.xml -a accessKeyID -s secretAccessKey* Evidentemente sustituyendo nombredelbucket por el nombre del bucket creado, accessKeyID por la clave de acceso pública y secretAccessKey por la clave secreta. A parte de esto, el nombre del manifest puede variar según las opciones que hayamos descrito en la operación de “bundle”.

Registrar la AMI

Una vez subida la AMI al bucket de S3 sólo tenemos que registrarla para poder instanciarla desde el tablero de control de EC2. Una vez registrada nos aparecerá si seleccionamos Private Images en el desplegable de la sección AMIs y ya podremos arrancar tantas instancias como queramos desde la web.

Para registrar la AMI debemos correr el siguiente comando en la máquina local (dónde deberíamos tener instaladas las API Tools de Amazon, diferentes de las AMI que hemos instalado en la instancia de EC2, para más información lee mi post anterior sobre Amazon EC2):
sudo ec2-register nombredelbucket/image.manifest.xml
La instancia tarda unos segundos en estar disponible en el panel de control pero si todo ha ido bien deberíamos tener nuestra AMI personalizada y privada lista para lanzarse.

Cualquier duda dejadla en comentarios y miraremos de resolverla lo más pronto posible, así quizás ayudamos a otras personas que se encuentren con el mismo problema :)

Saludos!

, , , , , ,

No Comments

Empaquetar una instancia de EC2 en funcionamiento (I)

La documentación de Amazon sobre sus servicios es, en muchos casos, bastante confusa. Por este motivo, y enlazando con un apunte anterior en el que hablabamos de crear una página web sencilla con un servidor en Amazon EC2, vamos a revisar el proceso de empaquetado (bundle) de una instancia para crear una AMI de la que podamos correr tantas instancias como nos apetezca.

¿Por qué queremos crear una propia AMI?

Normalmente las AMI que tenemos a nuestra disposición tienen una selección de software bastante estándar, por consiguiente, si el software que queremos correr difiere mucho de la selección preestablecida, sería recomendable crear una AMI propia para no tener que instalar y configurar todo el software adicional cada vez que arrancamos una instancia.
Esta AMI podrá ser completamente privada, así que podremos dejar la configuración muy ajustada a nuestro sistema para ahorrar el máximo tiempo posible en el arranque de cada máquina virtual.

En resumen podríamos decir que crear una AMI propia nos permite dejar guardada una máquina configurada con todo el software necesario para arrancar una instancia y ponernos a trabajar con un tiempo mínimo de start-up.

Prerrequisitos

Para llevar a cabo este mini-tutorial para realizar el “bundling” de una instancia de EC2 necesitaremos lo siguiente:

  • Una instancia de EC2 corriendo Ubuntu 8.10
  • Conocer y tener acceso a la Private-key y certificado del protocolo de identificación X.509
  • Tener acceso a la instancia de EC2 por SSH (esto implica tener acceso al archivo *.pem que nos sirve de identificación en la instancia)
  • Conocer las Access Key ID y Private Access Key de la cuenta de Amazon WebServices

Subir la Private Key y el Certificate a la máquina virtual

Para poder identificarnos en las operaciones que realicemos en la máquina virtual nos hará falta tener a nuestra disposción los archivos de identificación (Private Key y Certificate del protocolo X.509). Aún así debemos tener en cuenta que tendremos que subirlos a un directorio que no quede guardado cuando hagamos el empaquetado de la AMI porque sino podríamos estar esparciendo nuestros archivos secretos de identificación por todas nuestras instancias en funcionamiento (¿y eso es algo que no queremos verdad?).

El directorio dónde vamos a subir estos archivos será /mnt y lo haremos con el siguiente comando:
scp -i /ruta/a/llaves/archivo-de-identificacion.pem /ruta/a/llaves/pk-xxxx.pem /ruta/a/llaves/cert-xxxx.pem root@dns.publica.de.amazon :/mntEste comando sube los dos archivos pk-xxxx.pem y cert-xxxx.pem al directorio /mnt de la máquina virtual como usuario root utilizando el mismo sistema de identificación que utilizariamos si quisiéramos acceder por ssh.

No debería hacer falta pero señalamos que tenemos que cambiar la ruta /ruta/a/llaves por la ruta absoluta de los archivos implicados y dns.publica.de.amazon por la DNS pública de la instancia que podemos encontrar en el panel de control de Amazon EC2.

Instalación de las herramientas en la máquina virtual

Para instalar las herramientas de Amazon para gestionar las AMIs vamos a seguir un proceso que nos ha funcionado pero no tiene porqué ser el único ni el mejor. Este proceso utiliza el paquete precompilado *.rpm de Amazon y la herramienta alien para pasarlo a *.deb. Vamos a verlo paso a paso:

  • Accedemos a la máquina virtual por ssh (recuerda que todas las operaciones después de esta se realizarán en la linea de comandos de la instancia en Amazon EC2):
    ssh -i /ruta/a/llaves/archivo-de-identificacion.pem root@dns.publica.de.amazon
  • Instalamos el software que necessitamos para instalar y utilizar las AMI Tools de Amazon:
    apt-get install ruby alien* es posible que nos encontremos estos dos paquetes ya instalados en la AMI correspondiente pero mejor asegurarnos.
  • Descargamos las AMI Tools en un directorio que luego no vaya a ser almacenado en el “bundling” como por ejemplo /tmp:
    cd /tmp
    wget http://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.noarch.rpm
  • Una vez descargado el archivo rpm vamos a crear el .deb con alien y instalarlo:
    alien -d ec2-ami-tools.noarch.rpm
    dpkg -i ec2-ami-tools_1.3-31781_all.deb
    * El nombre del paquete .deb generado puede variar según las versiones del software que estemos utilizando.

Si todo ha funcionado de forma correcta ya tenemos la instancia preparada para ser empaquetada y registrada pero esto lo veremos en un post posterior (aquí).

, , , , ,

No Comments

Variables de entorno en Ubuntu

Como usuario avanzado-administrador de sistemas Linux siempre ha habido un tema que me parecía oscuro y extraño, las variables de entorno.

Tener definido un PATH adecuado para poder disfrutar de la facilidad que supone autocompletar los comandos sólo con apretar el tabulador siempre es recomendable (si no ponemos absolutamente todos los directorios dentro claro…), pero alterar estas variables siempre se supone un trabajo extra que no siempre estamos dispuestos a realizar.

Bien, pues aquí va un pequeño ‘flash’ de como podemos añadir directorios al PATH para encontrar comandos ejecutables y setear variables de entorno:

  • Entramos a editar el archivo /etc/enviroment como administradores
    sudo gedit /etc/enviroment
  • Nos vamos a encontrar con el siguiente contenido:
    enviroment
  • Para añadir directorios al PATH sólo tenemos que añadir un separador (:) antes de cerrar las comillas y escribir la ruta absoluta del directorio.
    Si queremos añadir el directorio /home/user/games/WorldOfGoo al PATH nos tendrá que quedar el siguiente contenido en el archivo enviroment:
    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/user/games/WorldOfGoo"
  • Para añadir variables de entorno sólo tendremos que escribirlas en una nueva linea.
    Si queremos setar la variable de entorno JAVA_HOME con el valor “/usr/lib/jvm/java-1.5.0-sun” el contenido del archivo será el siguiente:
    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
    JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun

Podeis encontrar más detalles de variables de entorno en Ubuntu aquí

, ,

1 Comment