Añadir clave GPG a RPM para verificar paquetes

Recientemente, al actualizar el paquete google-talkplugin, recibía este error:

Error grave: package google-talkplugin-5.41.3.0-1.x86_64 cannot be verified and repo google-talkplugin is GPG enabled: failed to lookup digest in keyring for /var/cache/PackageKit/24/metadata/google-talkplugin/packages/google-talkplugin-5.41.3.0-1.x86_64.rpm

Diciéndome, básicamente, que no se puede verificar el paquete porque no se dispone de la clave pública que se usó para firmarlo.

Continúa leyendo Añadir clave GPG a RPM para verificar paquetes

Anuncios

Instalar paquetes con PackageKit desde CLI

Tradicionalmente, cada distribución Linux ha usado un gestor de paquetes:

  • Debian con apt-get.
  • RHEL/CentOS con yum.
  • Fedora ahora con dnf.
  • Arch con pacman
  • Etc.

Por ello, hace unos años surgió la iniciativa de PackageKit, un framework de gestión de paquetes que proporciona una capa de estandarización sobre ellos.

Continúa leyendo Instalar paquetes con PackageKit desde CLI

Cómo compilar automáticamente Sass en Odoo

El tutorial de cómo crear un tema para Odoo te explica cómo usar LESS como preprocesador de CSS.

Está bien, pero si te gusta programar en Python, probablemente te guste más Sass que LESS por su sintaxis (y quizá por otras razones). Pues bien, website_less también permite compilar Sass (y SCSS) automáticamente.

Continúa leyendo Cómo compilar automáticamente Sass en Odoo

Cómo forzar la instalación de documentación con yum/dnf

La imágen oficial de CentOS para Docker viene preconfigurada para no instalar la documentación al instalar paquetes. Puedes comprobarlo con:

$ docker run --rm centos grep tsflags /etc/yum.conf

Verás que te devuelve tsflags=nodocs. La documentación de yum.conf nos explica lo que hace la opción tsflags.

Lo que queremos hacer es deshabilitarla al instalar ciertos paquetes. Por ejemplo CUPS la necesita para mostrar su index.html. Lo instalaríamos así en nuestro Dockerfile:

Continúa leyendo Cómo forzar la instalación de documentación con yum/dnf

Cómo hacer que Magento reconstruya el caché de las imágenes

Situación

Magento tiene esa peculiaridad de que su registro de errores no sirve para nada. Dicho esto…

Supongamos que tienes una tienda Magento en producción que necesitas modificar. En lugar de modificarla directamente, montas un servidor de desarrollo y mueves allí los ficheros y la base de datos. Hasta aquí todo normal.

Empiezas a hacer modificaciones y ves que el resultado es, cuanto menos, raro. Motivo: Magento está leyendo los datos de la caché, que tras hacer los cambios está desactualizada. Como es normal, borras toda la caché.

Craso error. Ahora no puedes ver las fotos de los productos.

Solución

Permisos

Antes que nada, asegúrate de que el usuario que utiliza tu servidor web (normalmente www-data o apache) tiene acceso de escritura a $MAGENTO_ROOT/var/ y $MAGENTO_ROOT/media/. La gente recomienda asignar permisos permisivos, tal que así:

$ chmod -R a=rwx $MAGENTO_ROOT

Yo no suelo recomendarlo, ya que si estás en un servidor compartido, cualquier otro usuario de ese servidor podría fastidiarte esos directorios. Prefiero otro sistema más seguro:

$ chown -R mi_usuario:apache $MAGENTO_ROOT
$ chmod -R u=rwX,g=rX,o= $MAGENTO_ROOT
$ chmod -R g+w $MAGENTO_ROOT/var $MAGENTO_ROOT/media

De este modo, los demás usuarios quedan excluidos, y solo quedas tú (como usuario) y tu servidor (como grupo).

Requisitos mínimos (¡y bibliotecas!)

Ten en cuenta que al migrar Magento no ha comprobado que tengas bien los requisitos mínimos. Debes comprobarlo a mano. Eso implica editar $MAGENTO_ROOT/.htaccess para tener suficiente memoria (aunque eso debería estar bien si antes ya iba) e instalar las bibliotecas que no vienen de fábrica, que en Fedora se traduce a:

# yum install php-soap php-gd
# systemctl restart httpd

Esta última tontería me ha robado 6 horas de mi vida. Espero que a ti te sirva.

Instalar Steam en Fedora 18

A fecha de hoy hay un chico que nos ha hecho el favor de empaquetar Steam, que ya es estable para Linux. Para instalarlo:

# cd /etc/yum.repos.d
# wget http://spot.fedorapeople.org/steam/steam.repo
# yum install steam

Si además usas los drivers de nVidia, tendrás que instalar esto:

# yum install xorg-x11-drv-nvidia-libs.i686

Si usas los de ATI, instala este otro:

# yum install xorg-x11-drv-catalyst-libs.i686

(Estos drivers de 32 bits te harán falta también si quieres jugar juegos de 32 bits a través de Wine)

Probando Fedora

Esta semana he estado probando Fedora (versión 15 actualmente), debido a lo que leí acerca de ella en la clasificación de mejores distros de 2011. No es que me considere un experto, ni mucho menos, pero tenía curiosidad.

Después de haber probado varias, me he dado cuenta de que prácticamente te puedes montar el mismo sistema con cualquier distro, pero dependiendo de tu objetivo, hay unas que te lo pondrán más fácil que otras. Esto y la filosofía que lleva cada una por detrás son sus principales diferencias, al fin y al cabo.

Instalación.

El instalador es muy sencillo. No tanto como el de Ubuntu, pero en dos patadas lo tienes instalado. Además, puedes probarlo por un LiveCD o LiveUSB.

Escritorio.

Lo primero que salta a la vista, y una de las principales razones por las que me he decidido a probarla, es el nuevo escritorio Gnome 3. Han pegado un cambiazo bestial, me gusta bastante, aunque he de reconocer que aún les faltan algunas cosas por pulir, sobre todo en cuanto al excesivo uso del ratón se refiere.

Aceleración 3D libre.

Por primera vez tras instalar un sistema Linux en mi ordenador con tarjeta nVidia tengo aceleración 3D sin necesidad de instalar los drivers privativos, todo gracias a Gallium, una tecnología muy interesante e innovadora, que incluso introduce soporte nativo para Direct3D 11. Punto extra para Fedora. 

Sin Chromium.

Fedora no dispone de Chromium en sus repositorios oficiales, debido a los motivos que se indican en el link, aunque están trabajando en colaboración con Google para remediar esto, y en el mismo link te explica cómo instalarlo desde otro repositorio sin demasiadas complicaciones.

Es una pena, ya que es mi navegador favorito. Aunque ya me acostumbré a no tener Firefox, sino Iceweasel, en Debian, y son cosas que no afectan excesivamente.

Software actualizado.

Sinceramente, es una de las razones por las que me he cansado de Debian: que los paquetes tardaban muchísimo en actualizarse. Sin ir mas lejos, a día de hoy Iceweasel está aún en la versión 3.5 en Debian Testing, mientras que ya está disponible el 5, y no hablemos del retraso de años que lleva Wine…

Fedora, en cambio, tiene todos los paquetes que he visto en su versión más reciente, y con muy pocas modificaciones. Recordemos que Ubuntu también tiene versiones recientes, pero casi todos los adaptan a su manera de ver las cosas.

Software libre.

Fedora es otra de esas distribuciones bastante concienciadas con el software libre.

Esto tiene sus ventajas e inconvenientes: si todo el software proporcionado es libre, tu ordenador lo es también, sin embargo careces de cosas como reproducción de MP3 o Flash.

Siempre puedes instalar estas cosas a través de los repositorios correspondientes, bien de rpmfusion o de Adobe, respectivamente, pero requiere un poquito más de configuración por tu parte.

Paquetes RPM.

Cuando pasas a usar el sistema de instalación y desinstalación de paquetes, hay otro cambio sustancial: Fedora utiliza yum con empaquetado *.rpm en lugar de APT con empaquetado *.deb (como es el caso de Ubuntu, Debian y derivados).

De cara al usuario, las herramientas APT son mejores, ya que tienes el Ubuntu Software Center, invencible en cuanto a sencillez y comodidad, o Aptitude, con una interfaz por consola que te ofrece el control más absoluto. Además, al menos según mi impresión, las dependencias se calculan mucho más rápido.
Sin embargo, yum me parece que es un sistema mucho más avanzado tecnológicamente por dos motivos: el uso de PackageKit y de deltas. Me explico.

PackageKit es una librería diseñada para estandarizar el manejo de paquetes, independientemente de la tecnología subyacente, de modo que las aplicaciones de instalación y desinstalación funcionen igual independientemente del sistema de empaquetado.

Por ejemplo, Fedora usa como interfaz gráfica el gnome-packagekit, que puede instalarse en cualquier distro que use Gnome y PackageKit. Como digo, esta interfaz deja mucho que desear respecto a las disponibles con APT, pero al menos el enfoque es el correcto.

Además, Fedora usa los Delta RPMs (Presto), una de las cosas que más me han sorprendido y gustado en comparación con APT. Lo explico:

Normalmente, en Debian y derivados, para actualizar un paquete, APT se encarga de descargar la nueva versión completa e instalarla. Usando los deltas, Fedora compara la versión local que tienes instalada con la que vas a descargar, y únicamente descarga las diferencias, las cuales combina con el paquete disponible localmente para fabricar el nuevo paquete y entonces instalarlo. Como consecuencia, se reduce el tamaño de la descarga entre un 60 y un 80%, que se dice pronto.

Debian también está trabajando en debdelta, un sistema parecido para APT, pero ya sabemos que en Debian las cosas se las toman con calma…

Nota importante: yum no desinstala las dependencias innecesarias al quitar un paquete automáticamente, salvo que así lo indiques añadiendo la siguiente línea a la sección [main] de /etc/yum.conf:

clean_requirements_on_remove=1

Conclusiones.

Después de probar Debian, Arch y Fedora, sigo con la opinión de que si eres novato, debes ir a por Ubuntu, al menos hasta que te familiarices más con todo este mundillo.

 
En cuanto a distros de escritorio para usuarios con algo de experiencia, escoge la que mas se adapte a tu filosofía:

La filosofía de Ubuntu es adaptar todo el software para que todo se adecue a su visión de cómo debería ser, hacerlo más fácil para el usuario final, sin  preocuparse demasiado de si el software es libre o no.

La de Fedora es usar sólo software libre, y tratar de no modificar el programa original salvo en lo estrictamente necesario.

En cuanto a Debian, tiene la filosofía que más me gusta de todas, pero implica tener paquetes muy desactualizados. Para servidores esto no importa demasiado, pero para una máquina de escritorio es algo decepcionante.