Blog Archives

Modificando la prioridad de paquetes APT

Esta necesidad surge como consecuencia de intentar actualizar Mariadb en un Debian Wheezy y el hecho de que el paquete libmysqlclient18 de Wheezy para MySQL entra en conflicto con el que está incluido en los repositorios de Mariadb.

El paquete provisto por Maria debería tener una “prioridad” más alta pero si ambos están “empatados” el sistema se decanta por la opción equivocada, esto puede ser verificado de esta manera:

# apt-cache policy libmysqlclient18
 libmysqlclient18:
 Installed: 5.5.24+dfsg-9
 Candidate: 5.5.24+dfsg-9
 Version table:
 5.5.28+dfsg-1 0
 996 http://ftp2.fr.debian.org/debian/ sid/main amd64 Packages
 5.5.28-mariadb1~wheezy 0
 500 http://mirror.jmu.edu/mariadb/repo/5.5/debian/
 wheezy/main amd64 Packages
 *** 5.5.24+dfsg-9 0
 999 http://cdn.debian.net/debian/ wheezy/main amd64 Packages
 100 /var/lib/dpkg/status

El candidato debería ser 5.5.28-mariadb1~wheezy en ese caso, se puede marcar el paquete Mariadb con una prioridad más alta pero esto debería ser corregido para que no sea necesario forzar las prioridades de los paquetes.

Esta es una solución rápida (no olviden ajustar el repo de Maria por el que están usando) :

#echo -e "Package: libmysqlclient18\nPin: origin mirror.jmu.edu\nPin-Priority: 1000" > /etc/apt/preferences.d/mariadb-mysqlclient18

Luego se puede verificar con “apt-cache policy libmysqlclient18” que el paquete candidato es el correcto esta vez y la instalación ahora debería funcionar correctamente.

Base de Conocimiento de mariadb.com

Publicado en Miniguías Etiquetado con: , , ,

Error al actualizar a la última versión de Moodle

Esta mañana me ví ante la necesidad de actualizar una “antigua” instalación de Moodle de la versión 2.0.2 a la última estable, que en este momento es la 2.7+. Cumplidos todos los requerimientos y habiendo hecho los resguardos me encontré ante un error que de no haberlo podido solucionar me hubiera dejado estancado a mitad de camino, con la plataforma inusable.

El mensaje de error era similar a este:

No se puede encontrar el componente.
Más información sobre este error

Debug info: es_ar
Error code: cannotfindcomponent

Stack trace:
    line 785 of /lib/componentlib.class.php: lang_installer_exception thrown
    line 640 of /lib/componentlib.class.php: call to lang_installer->install_language_pack()
    line 45 of /admin/tool/langimport/lib.php: call to lang_installer->run()
    line 1451 of /lib/upgradelib.php: call to tool_langimport_preupgrade_update()
    line 1527 of /lib/upgradelib.php: call to upgrade_language_pack()
    line 338 of /admin/index.php: call to upgrade_core()

Al intentar omitirlo la plataforma me redirigía a la página de actualización, con lo cual tampoco podía acceder al panel de administración.

En este punto es necesario aclarar que el idioma que se actualiza en los upgrades de Moodle es el que está en uso por el usuario administrador encargado de tal actualización. Por ello, lo primero que hay que hacer es intentar cambiar dicho idioma.

Cuando la página con el mensaje de actualización es mostrada (…/admin.index.php), simplemente añadir “?lang=es” debería ser suficiente para permitir a que el proceso de actualización continué de manera normal.

https://docs.moodle.org/

Publicado en Miniguías Etiquetado con:

Compresión de PDFs usando Ghostscript bajo Linux

Me encontré ante la necesidad de comprimir archivos PDF que incluían imágenes escaneadas, ya que esto hacía que su tamaño fuera innecesariamente grande. No era necesario contar con imágenes de alta resolución, bastaba con poder visualizarlas en pantalla e imprimirlas en una impresora convencional.

La magia de Ghostscript

Googleando los términos “compresión pdf” aparecieron varias opciones en linea para subir y comprimir los archivos, pero teniendo en cuenta que utilizo una computadora con Linux y no confío en ninguno de estos proveedores desconocidos opté por utilizar Ghostscript en su lugar. El siguiente comando redujo un PDF de 7,31MB a 674KB en alrededor de un segundo.

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=salida.pdf entrada.pdf
Del manual de Ghostscript podemos ver que existen varias calidades de donde escoger:

  • /screen – baja resolución similar a la opción “Optimizado para pantalla” de Acrobat Distiller.
  • /ebook – resolución media similar a la opción “eBook” de Acrobat Distiller.
  • /printer – similar a la opción “Optimizado para impresión” de Acrobat Distiller.
  • /prepress – similar a la opción “Optimizado para preimpresión” de Acrobat Distiller.
  • /default – pretende ser utilizable en una amplia variedad de usos, posiblemente a costa de un archivo de mayor tamaño.

Facilitando las cosas con BASH

#!/bin/sh

gs    -q -dNOPAUSE -dBATCH -dSAFER \
-sDEVICE=pdfwrite \
-dCompatibilityLevel=1.3 \
-dPDFSETTINGS=/ebook \
-dEmbedAllFonts=true \
-dSubsetFonts=true \
-dColorImageDownsampleType=/Bicubic \
-dColorImageResolution=150 \
-dGrayImageDownsampleType=/Bicubic \
-dGrayImageResolution=150 \
-dMonoImageDownsampleType=/Bicubic \
-dMonoImageResolution=150 \
-sOutputFile=
$1-comprimido.pdf \
$1

Guardamos esta porción de código y le asignamos permisos de ejecución [ej. en una terminal ingresamos: nano comprimirpdf; pegamos el código anterior, guardamos (Ctrl+O) y salimos (Ctrl+X), lo hacemos ejecutable (chmode u+x comprimirpdf)] y luego escribimos: ./comprimirpdf archivo.pdf y obtendremos un archivo llamado archivo-comprimido.pdf con una versión comprimida de archivo.pdf.

 

Referencias |

Publicado en Miniguías Etiquetado con: ,

Clonando de mayor a menor

No voy a arrancar hablando de la flexibilidad que nos brinda el Software Libre porque no estaría diciendo nada nuevo, solo quiero dar cuenta de la solución utilizada para clonar el contenido de una partición más grande que la de destino.

El problema original planteaba la necesidad de evitar realizar una instalación por segunda vez, sobre todo teniendo en cuenta la minuciosidad que particularmente aplico a mi trabajo. Al tratarse el equipo de destino de un sistema con doble arranque, la posibilidad de igualar el tamaño de la partición de destino con la de origen queda descartada ya que al ‘otro sistema’ no le gustan ese tipo de cambios.

Así fue que recurrí a la red en busca de una alternativa que me permitiera llevar el contenido de una partición de sistema (GNU/Linux claro) a otra con un par de gigabytes menos.

#rsync -av --progress origen destino

Opciones

  • -a, preserva la fecha y hora, y los permisos de los archivos
  • -v, brinda información sobre que archivos están siendo transferidos y un breve resumen al final.
  • –progress, esta opción le dice a rsync que muestre información de progreso durante la transferencia. Así, un usuario aburrido, tendrá algo que mirar.

Una vez completada la copia solo resta restaurar el Grub con alguna de las alternativas disponibles:

Y listo, :-))

Publicado en Miniguías Etiquetado con:

Efecto vintage en fotografías usando Gimp

El efecto vintage consiste en dar a una imagen las características que tenían las fotografías de la década del 70 u 80 donde la tonalidad era más lavada y en las cuales, con el tiempo, se podían llegar a apreciar imperfecciones.

El Software Libre, una vez más, nos permite disponer de un potente programa de edición de imágenes como lo es el Gimp. Valiéndose de esta herramienta, cualquier persona puede transformar las fotos normales en imágenes estilo vintage. Veamos dos maneras de hacer esto en pocos y sencillos pasos.

Efecto Vintage en Gimp I

Efecto Vintage en Gimp II

Publicado en Miniguías Etiquetado con: ,

“Missing HP LaserJet XXXX firmware file”

Revisando los logs de un equipo con una impresora HP LJ 1020 conectada me encuentro con el mensaje de error “Missing HP LaserJet 1020 firmware file /lib/firmware/hp/sihp1020.dl

Lo que usualmente hacía en estos casos era descargar la última versión del driver foo2xqx e instalarlo. Durante el proceso de instalación se descarga el driver, pero en formato .img.

Pero con la premisa de no complicarme la vida decidí buscar algún sitio de donde poder descargar el archivo en cuestión. Y me encontré con este

http://oleg.wl500g.info/hplj/

Así que bastó un sencillo wget para solucionar el problema.

wget -O /lib/firmware/hp/sihp1020.dl http://oleg.wl500g.info/hplj/sihp1020.dl

 

Publicado en Miniguías Etiquetado con: ,

Escalado de imágenes desde la consola

Muchas veces resulta necesario reducir el tamaño de archivos de imagen y en esta miniguía mostramos la manera de llevar a cabo tal tarea desde la linea de comandos.

Utilizaremos el programa mogrify, que es parte del conjunto de herramientas ImageMagick, para realizar nuestro cometido.

En primer lugar, instalamos las herramientas necesarias

$ apt-get install imagemagick

En el siguiente ejemplo se realiza un escalado de todos los archivos con extensión .jpg a 800x600px y 65% de calidad. Los valores utilizados variarán en función de cual sea el destino de las imágenes procesadas.

$ mogrify -size 800x600 -quality 65 *.jpg

El parámetro size puede recibir las dimensiones en pixeles, como en el ejemplo anterior, o como porcentaje (ej. -size 70%)

El parámetro quality establece el nivel de compresión JPEG/MIFF/PNG.

Publicado en Miniguías

[Como] Crear un USB MultiBoot en GNU/Linux

Prerequisitos

  • Ubuntu GNU/Linux o sistema basado en Ubuntu (se puede usar un CD o USB)
  • Una unidad Flash USB (para ser usada como USB MultiBoot)
  • Conexión a internet
  • Instalar depot-multiboot.sh.tar.bz2

Instalación

  1. Descargar y extraer el script install-depot-multiboot.sh al Escritorio
  2. Hacer doble clic sobre install-depot-multiboot.sh del escritorio y seleccionar the option to “Ejecutar en un Terminal

Uso

  1. Insertar la unidad USB
  2. Lanzar el script via Aplicaciones > Accesorios > MultiBoot
  3. Seleccionar nuestro dispositivo USB de la lista y hacer clic en Validar
  4. Ahora basta con arrastrar las imágenes ISO a la ventana para agregar una distribución

  5. Una vez que hayamos finalizado ya disponemos de una herramienta de arranque con múltiples alternativas. A disfrutar.

 

Enlace | http://liveusb.info/dotclear

Publicado en Miniguías

[Como] Modificando imágenes en un directorio

$ mogrify -resize 50% directorio/*

Con mogrify podemos hacer lo mismo que con convert, sólo que el fichero de origen y de destino es el mismo.

¿Y si queremos guardar los archivos originales? Tendremos que hacer un pequeño script para convertir los archivos de un directorio y guardarlos en otro direcorio diferente; pero… y si son muchos ? Tenemos algunas posibilidades:

$ for f in prueba/*.jpg; do convert -monitor -resize 50% $f “prueba2/”${f##*/}; done

Si tenemos todos los archivos en el directorio prueba, queremos redimensionar al 50% y guardarlos en prueba2/ con el mismo nombre que tienen. ${f##*/} elimina el directorio del nombre del archivo, es lo mismo que la orden basename. Y con el parámetro -monitor veremos más o menos lo que está haciendo convert en cada momento.

Aunque, tal vez queramos un indicador de progreso para saber más o menos cuánto queda y cuántos archivos llevamos, lo podemos hacer con bc y Xdialog:

archivos=`ls prueba/*.jpg`;

total=`echo $archivos | wc -w`;

hecho=0;

for f in $archivos;

do

convert -resize 50% $f "prueba2/"${f##*/};

let hecho=$hecho+1;

echo "scale=0;$hecho*100/$total"|bc;

done | Xdialog --gauge "Progreso..." 10 100 0

En este ejemplo, separamos en variables los archivos a tratar y contamos el total de archivos a procesar. La variable hecho contará cuántos archivos ha convertido hasta el momento.

Luego en el bucle principal convertiremos los archivos e iremos incrementando la variable hecho en 1. Más adelante, con la ayuda de bc calculamos el porcentaje hecho. El bucle lo pasamos con una pipe a Xdialog, con su opción de gauge con lo que iremos indicando el proceso a medida que se vayan convirtiendo archivos.

 

Poesía Binaria

Publicado en Miniguías

[Como] Personalizar el applet del reloj en Ubuntu

  • Presionar ALt+F2
  • Ingresar: gconf-editor
  • Ir a “Apps > Panel > Applets > Clock_Screen* > Prefs”
    (* puede tener un nombre diferente, solo hay que buscar el applet con la carpeta ‘prefs’ correcta)
  • Doble clic en el valor ‘Format’. Cambiarlo a ‘custom’.
  • Doble clic en el campo ‘Custom Format’ pegar el código de alguno de los estilos sugeridos.
  • Podemos usar cualquier fuente instalada en nuestro sistema.

    Haciendo clic sobre cualquiera de los ejemplos es posible descargar al código para conseguir ese comportamiento.

     

    OMG! Ubuntu

Publicado en Miniguías