SquashFS: Creando archivos de sólo lectura para ahorrar espacio.

SquashFS es un sistema de archivos comprimido de sólo lectura para Linux. Se diseñó para utilizarlo en sistemas de memoria muy limitada, por ejemplo en muchos live-Cd de Linux, en el firmware de un router (y en general para sistemas embebidos), aunque también puede ser utilizado para ahorrar espacio. Veamos cómo:

Imagina que tu empresa tiene carpetas donde almacena los documentos de la última década organizados en carpetas por años. Lo más habitual es que estos archivos no vayan a ser modificados sino simplemente consultados. SquashFS nos permitiría comprimirlos, ahorrándonos espacio e incluso mejorando la velocidad de lectura.

El procedimiento a seguir consta de dos pasos: crear una imagen de disco con SquashFS para comprimir los datos y montarla en el sistema para acceder a ellos. Para lo primero tenemos el comando mksquashfs, cuxa sintaxis sería algo así: mksquashfs [directorios a comprimir] imagenDestino.sqsfs -comp [el algoritmo de compresión a usar] -b [tamaño de bloque ]. Vale, que visto así acojona pero os pongo un ejemplo práctico, donde comprimiremos las carpetas Facturas-2010, Facturas-2011 y Facturas-2012 en una imagen de SquashFS llamada HistoricoFacturas201012, usando el algoritmo de comprsión xz (que es la opción que nos da un mayor ratio de compresión) y con un tamaño de bloque de 1024kb (1 mega). Si no definís tamaño de bloque, por defecto serán 64kb:

mksquashfs facturas-2010 facturas-2011 facturas-2012 historicofacturas201012.sqsfs -comp xz -bs 1M

Con eso habremos creado una imagen de disco de sólo lectura en formato sqsfs, por lo que sólo nos queda montarlo como si fuera un disco para poder acceder a su lectura:

mount historicofacturas201012.sqsfs Facturas_10_12/

Si posteriormente quisiéramos extraer una de estas carpetas, por ejemplo para eliminar algún archivo, nos bastaría con el comando unsquashfs, usado tal que así unsquashfs [opciones] nuestraimagen.sqsfs [Directorios o archivos que extraemos]

Con nuestro ejemplo:

unsquashfs historicofacturas201012.sqsfs facturas-2010

Por defecto usará como directorio de extracción squashfs-root. Esto puede cambiarse usando la opción -d con el comando antes citado.

Instalando Elementary Tweaks en Elementary OS Freya.

No hace mucho comentaba que me había pasado a Elementary OS Luna. Anteayer instalé la última versión, Freya (y la verdad es que he notado una mejoría en el rendimiento, debe ser cosa del kernel). A raiz de aquella instalación os comentaba cómo instalar Elementary Tweaks, una herramienta que permite personalizar todavía más vuestro sistema. Pero con el cambio de versión el repositorio desde el que descargar Tweaks también cambia, así que si sois usuarios de Freya os tocará teclear lo siguiente:

sudo add-apt-repository ppa:mpstark/elementary-tweaks-daily
sudo apt-get update
sudo apt-get install elementary-tweaks

Luego, para seguir con la personalización ya podéis buscar diversos paquetes de iconos o temas. Para Luna había un huevo, como ya se comentó en el artículo pasado. Para Freya de momento no he encontrado tantos, aunque si le he metido el paquete de iconos de Potenza.

Primeros días con ElementaryOS

Como todo el que me siga en Twitter sabrá, no hace mucho en uno de mis equipos he migrado de Ubuntu (con Unity) a ElementaryOS. Vamos con una serie de primeras impresiones. Empezaré por lo malo, que ha sido poco.

Si tuviera que poner algo negativo, en comparación con Ubuntu (que a fin de cuentas, es la «madre» de Elementary) fue que durante la instalacioń no podía conectar con las redes WiFi, dado que ElementaryOS no incluye los paquetes de drivers privativos de Ubuntu, por lo que tuve que conectarme mediante cable para descargar e instalar todos los paquetes, incluyendo esos drivers. En fin, un problema menor pero hay que tener en cuenta antes de empezar la instalación.

Escritorio Elementary OS

El fuerte de ElementaryOS es el diseño, se trata de un sistema operativo «bonito«, muy bien diseñado. A la hora de personalizar su apariencia incluye varias opciones, aunque yo recomendaría la instalación de Elementary Tweaks, que nos permitirá personalizarlo con mayor precisión, e instalar los paquetes de iconos y temas alternativos:

sudo apt-get install elementary-blue-theme elementary-champagne-theme elementary-colors-theme elementary-dark-theme elementary-harvey-theme elementary-lion-theme elementary-milk-theme elementary-plastico-theme elementary-whit-e-theme elementary-elfaenza-icons elementary-emod-icons elementary-enumix-utouch-icons elementary-nitrux-icons elementary-taprevival-icons elementary-thirdparty-icons elementary-plank-themes elementary-wallpaper-collection

Elementary Tweaks

A pesar de su cuidado aspecto no es un sistema operativo pesado para nada. Ahora mismo, con varias pestañas abiertas en Firefox, Audacious reproduciendo música, Shutter abierto para editar capturas de pantalla para esta entrada y un par de procesos más trabajando en segundo plano no llega a los 1200 megas consumidos. A nivel de interfaz me gusta el dock, basado en Docky, y el concepto de las esquinas activas, que nos permite automatizar una acción cada vez que llevamos el botón a una esquina de la pantalla (por ejemplo, minimizar la ventana activa cuando lo llevo a la esquina izquierda). Para facilitar la instalación de software han incluído el centro de software de Ubuntu, y yo recomendaría además instalar también el gestor de paquetes de Synaptic. Y por comodidad también metería el lanzador de Synapse. Elementary OS no trae preinstalado mucho software (viene con el navegador Midori, el chat Empathy, Geary para el correo, Shotwell para las imágenes, sendos reproductores de música y vídeo…), por un lado os obligará a instalar muchas cosas tras la migración, por otro lado os evitará el coñazo de andar desinstalado según qué cosas (por ejemplo, no está la polémica búsqueda en Amazon por defecto de Ubuntu).

Añadiré que he leído que Elementary puede dar problemas con tarjetas gráficas ATI antiguas, aunque parece que se soluciona con la instalación de los drivers legacy y un downgrade (por cierto, estoy promocionando el uso del término «antiguación» en lugar de downgrade, un palabro que surgió entre cañas en una cena de ex-compañeros de clase, mucho más bonito ).

En resumen, la experiencia en los primeros días con este sistema operativo ha sido buena. De momento se quedará una temporada en el equipo.

¿Cómo instalo Elementary Tweaks en Elementary OS Luna?

(Nota: Este artículo era sobre la instalación en ElementaryOS Luna, para Freya mira Este)

Si usas ElementaryOS y quieres tener más opciones de personalización, cuentas con la opción de Elementary Tweaks, una herramienta que te permitirá aumentar la precisión en tu personalización del escritorio de este sistema operativo basado en Ubuntu. La cosa es sencilla, basta abrir un terminal y teclear las siguientes instrucciones:

sudo apt-add-repository ppa:versable/elementary-update
sudo apt-get update
sudo apt-get install elementary-tweaks

Luego basta con ir a la configuración del sistema y ya encontrarás el icono para abrir Tweaks.

Usando Unity Web Player en Linux, con Pipelight

Si bien desde la cuarta versión de Unity3D el popular motor gráfico permite exportar proyectos para Linux, a día de hoy seguimos careciendo de una forma de usar el complemento de Unity para el navegador, el Unity Web Player. Esto es porque hace uso de Silverlight de Microsoft, que sí está disponible para Windows (como es lógico siendo productos del mismo fabricante) y MacOS.

Entonces ¿nos quedamos sin poder usarlo en Linux? No, claro que no. El proyecto Pipelight nos da la herramienta para que no echemos en falta Silverlight en Linux.

El proceso de instalación variará según la distribución que utilicemos, pero puedes verlos todos en la página oficial del proyecto. Aquí veremos las instrucciones que yo seguí en Ubuntu, para el resto de distribuciones me remito al enlace:

sudo add-apt-repository ppa:pipelight/stable
sudo apt-get update
sudo apt-get install --install-recommends pipelight-multi
sudo pipelight-plugin --update

Tras la instalación de Pipelight habrá que habilitar los plugins que queremos usar. El comando que hace esto es:

sudo pipelight-plugin --enable nombreDelPlugin
##En nuestro caso, para Unity, sería
sudo pipelight-plugin --enable unity3d

Esto no sólo os permitirá utilizar Unity3D, sino otros complementos como Adobe Flash, Acrobat Reader, etc. Podéis verl toda la información en el enlace.

Periolisto considera que Linux es una alternativa a Google… como buscador (marca España 100%)

Por la tarde veía el vídeo compartido en muros de facebook, y posteriormente también me encontraba un artículo sobre el tema en el blog de Victor Hck.

Os pongo en situación: programa de debate/tertulia en TVE, donde debaten sobre el tema del Canon AEDE (bueno, eso no se debate, están todos de acuerdo con la línea oficialista) y el cierre de Google News en España. Se abre una línea de discusión interesante en el programa: el monopolio de facto que tiene Google y al que la Comisión Europea, capitaneada por el comisario Almunia (recordemos, uno de los que hundió al PSOE post-Felipe en la mayoría absoluta de Aznar), ha intentado meter mano infructuosamente durante el último lustro. Entonces vemos una gran perla que muestra el nivel periodístico (más bien periolístico) de los medios españoles. Uno de los periolistos opina que la comisión europea debe propulsar una alternativa a Google, porque sus competidores se han quedado por detrás (Yahoo y Bing, como si no se tratara de proyectos con empresas billonarias detrás), cito la conversación, grosso modo, que va a continuación de que afirmen que se necesita crear una alternativa:

-No, si lo hay, pero no funciona.
-Pues que funcione, porque (blah blah)…
-«Linus», se llama «linus».
-No, eso no..
-Es un método operativo que funciona como…

Esto me lleva a plantear varias cuestiones:

  • Ya que la televisión pública la pagamos con nuestros impuestos, sobre todo desde que no tiene publicidad ¿podrían molestarse al menos en llevar a alguien que sepa algo del tema del que va a hablar? (es una pregunta retórica, ya que obviamente seguirán llevando a sus siervos apaniaguados, que ladren la versión oficial)
  • Es cierto que Google, como ya he dicho arriba, en la práctica tiene un monopolio como buscador en Europa, pero ¿es posible hacer algo para revertir la situación?, porque realmente existen alternativas a Google, y alternativas perfectamente funcionales, algunas además apoyadas por empresas muy grandes. De hecho Bing es el buscador por defecto de Internet Explorer, navegador que viene preinstalado en el sistema operativo mayoritario en equipos de escritorio: Windows.
  • ¿Se preocupaba tanto la Comisión Europea cuando Microsoft presionaba para sacar del mercado a Linux? ¿Cuando presionaban a empresas de desarrollo para que no hicieran versiones para linux de su software? Porque a la compañía de Bill Gates prácticamente la dejaron campar a sus anchas muchos años, sin contar la gran cantidad de licencias que han vendido a la administración.
  • Puestos a meter mano al negocio de Google ¿no sería mejor buscar solución a su contabilidad creativa que les permite pagar impuestos irrisorios (no sólo a ellos, también a Amazon, Apple, Microsoft, Starbucks, Inditex) que a que tengan la mayor cuota de mercado como buscador?. Porque eso sí que sería una medida interesante, ya que hablamos de miles de millones de euros que se van a paraísos fiscales.
  • ¿No es absurdo, a la par que hipócrita, hablar del problema del monopolio Google y luego pretender que todas las gestiones del Canon se tengan que hacer a tavés de AEDE?, y ya puestos ¿han denunciado estos mismos el monopolio también de facto que ejerce la SGAE en España en temas de gestión de derechos de autor?
  • ¿Es la gente que ve estos programas consciente de la poca idea que tienen estos tertulianos, que están condicionando su opinión y cosmovisión? Y no sólo en temas sobre tecnologías, ya que cuando hablan sobre política o economía vienen a soltar perlas del mismo calibre.

Error 502 Bad Gateway en Nginx. Posibles soluciones

Me han preguntado varios lectores sobre el mismo problema: se encuentran con un error 502, Bad Gateway o puerta de enlace, devuelto por un servidor Nginx. ¿Dónde se produce este error? Pues en el punto en que el servidor Nginx se comunica con otra aplicación o servicio ¿Y por qué se da? Por muchos motivos: que uno de los dos esté caído, que no se «aclaren» con el protocolo (mala configuración), etc. Puede darse cuando Nginx funciona como proxy de Apache, con problemas derivados de la configuración del buffering o del tiempo de espera de respuesta, cuando Nginx funciona como puerta de enlace con otra aplicación o cuando Nginx funciona con el daemon PHP-FPM.

Lo primero, tanto en el caso del daemon de PHP-FPM, como en el de usarlo como proxy de Apache o como puerta de enlace para otro servicio es reiniciar dichos servicios. En la mayoría de los casos el error surge porque el servicio se ha detenido por algún motivo, y con el reinicio se soluciona. En caso de que ocurra reiteradamente entonces investigad por qué ese servicio «casca» de forma tan habitual. Seguramente en los logs del servidor esté mucha de la información que necesitaréis para encontrar la solución.

Aunque la caída del servicio es lo más habitual no es la única opción. En otro artículo ya hablamos de configurar los valores del tiempo para timeout de FastCGI en IIS, en Nngix podemos hacer esto editando el archivo nginx.conf, dentro del bloque http (esto es un ejemplo copiado de la documentación oficial de Nginx, cada caso deberá adaptarse a sus necesidades):

http {
...
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
...
}

En caso de que estéis usando Nginx como proxy deberéis añadir unas líneas como estas en el archivo nginx.conf:

proxy_connect_timeout       600;
proxy_send_timeout          600;
proxy_read_timeout          600;
send_timeout                600;

Para el caso de PHP-FPM debes asegurarte, revisando el fichero http://www.conf de configración de Nginx, de que está bien configurado el puerto en que el servicio debe estar «a la escucha». Generalmente es una de estas dos opciones:

listen = /var/run/php5-fpm.sock
#o si no
listen = 127.0.0.1:9000

Si no está configurado así probad una de esas dos opciones y reiniciad el servicio.

Otra causa de este problema venía derivado del uso de APC Cache, y se solucionaba dejando de usarlo y pasándose a Xcache. De esto hará cosa de un año, puede que a día de hoy ya no genere problemas, pero a saber.

Y a más de uno le ha comenzado el problema tras actualizar algunos paquetes de PHP en su servidor. El problema viene porque en esa actualización los permisos de lectura-escritura-ejecución del socket han sido modificados, y el servidor no puede acceder a ellos porque no está en el mismo grupo. Para solucionar esto tienes que tocar varios archivos. El primero nginx.conf, donde comprobaremos que esto esté tal cual:

user nginx;

Luego nos vamos a /etc/php-fpm.d/www.conf y lo configuramos así

listen = /tmp/php5-fpm.sock
listen.owner = nginx
listen.group = nginx

Y tras esto reiniciamos tanto el servicio de nginx como el de php-fpm.

Estos son los principales problemas y soluciones que he ido encontrando por la red, espero que os sirvan de ayuda.

Netflix disponible oficialmente en Ubuntu

Si bien creo recordar que existían ya algunos programas y extensiones no oficiales que permitía reproducir series y películas desde este popular servicio de streaming, desde ayer es posible hacerlo ya de forma simple y oficial en equipos con Ubuntu (y supongo que también Mint y Debian, pero la verdad es que no he podido comprobarlo ya que no tengo cuenta, entre otras cosas porque la compañía no opera todavía en España).

En cualquier caso, los subscriptores de Netflix sólo tendrán que instalar Chrome 37 (compatible con Ubuntu a partir de 12.04 LTS) desde el paquete .deb oficial de google.

A pesar de ser un servicio que ofrece materiales protegidos por DRM, bajo las draconianas restricciones de derechos de autor habituales, la llegada de Netflix a Ubuntu era esperada por muchos usuarios que se veían condenados a tener una partición con Windows, o a recurrir a la virtualización.

Filosóficamente, como con la llegada de Steam hace unos meses, nos vemos en una encrucijada y un fuerte debate sobre la conveniencia o no de la llegada de plataformas de contenidos privativos a un sistema libre. Por una lado suena a rendirse y a hacer concesiones a la industria del copyright, por otro lado es una forma de lograr que los usuarios pierdan el miedo a dar el salto.

Instalar Spotify en Linux: Fedora o Ubutu – Mint – Debian

No vamos a negar que el popular servicio sueco de streaming de audio Spotify a veces es un pelín puñetero para su instalación en algunas distribuciones GNU/Linux, si bien tampoco debería ser esto un impedimento para quien quiera utilizarlo. En el caso de Fedora bastará con seguir unos pequeños pasos para poder instalarlo en nuestro equipo.

Logo de Spotify

Veamos primero como iría en Fedora (versión 18 en adelante):

El primer paso es añadir un nuevo archivo de repositorio:

sudo nano /etc/yum.repos.d/ulyaoth.repo

En ese archivo añadimos los siguientes datos para la conexión:

[ulyaoth]
name=Ulyaoth Repositories
baseurl=http://repos.ulyaoth.net/Fedora/$releasever/$basearch/
enabled=1
gpgcheck=0

Tras estos dos primeros pasos ya hemos añadido el repositorio, así que basta con instalar:

yum install spotify

El caso de la familia Debian (Ubuntu, Mint y Debian) es distinto, pero no tiene mucho problema tampoco:

El primer paso es editar el /etc/apt/sources.list y añadir:

deb http://repository.spotify.com stable non-free 

El segundo paso es añadir la clave pública de Spotify:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 94558F59 

Y ya estamos a dos comandos de tener la instalación terminada:

sudo apt-get update
sudo apt-get install spotify-client 

Instalar KeePass en Ubuntu e integrarlo en nuestro navegador

¿El gestor de contraseñas KeePass2 no es una herramienta sólo para Windows? En principio sí, y además tenemos para Linux otras herramientas muy válidas, algunas ya instaladas de forma predefinida en nuestra distribución (por ejemplo KeePassX, pero hasta donde he llegado no permite integración con el navegador, de ahí este tutorial), pero algunos usuarios que han migrado desde el SO de Redmond lo echan de menos ¿es posible utilizarlo en mi nuevo Ubuntu? Sí, con el antes citado KeePassX, ¿y la integración con el navegador de KeePassHttp? Lo dicho antes, KeePassX en principio no lo permite pero tenemos una solución para instalar KeePass2 e integrarlo en Chrome o en Firefox.

KeePass2 hace uso de librerías de .NET
, por lo que necesitaremos incluirlas en la instalación, siriviéndonos de la del proyecto MONO :

sudo apt-add-repository ppa:jtaylor/keepass
sudo apt-get update
sudo apt-get install keepass2 mono-complete

El siguiente paso será descargar el módulo KeePassHttp desde GitHub. Tras descargarlo y descomprimirlo en tu equipo busca el archivo KeePassHttp.plgx y muévelo a la carpeta /usr/lib/keepass2/plugins (si no existe dicha carpeta, créala, necesitarás permisos de administrador para esto, así que usa sudo).

Una vez hecho esto si ejecutas KeePass2 verás la opción KeePassHttp Options en el menú de Herramientas (Tools), lo cual será señal de que el módulo está funcionando (si no lo ves es que algo falló). Tras esto basta instalar los complementos para los navegadores: ChromeIPass y PassIFox para el navegador de Mozilla. En el caso de Firefox tendrás que reiniciar el navegador tras instalar (Chrome creo recordar que no).

Tras eso, al abrir el navegador, te pedirá que introduzcas una clave de encriptación para operar con KeePassHttp, que será almacenada en tu llavero de claves de KeePass2. Una vez la hayas introducido ya podrás comenzar a utilizar KeePass integrado con tu navegador, pudiendo rellenar los campos e usuario y contraseña con un simple click en tu menú contextual.