Un sitio Impertinente

Archive for the ‘Debian’ Category

Basuritas en consola

sin comentarios

Me descargué un lote de archivos que necesitaba eliminarle los 9 primeros caracteres, como no tenía tiempo suficiente usé unas basuritas en la consola Linux para hacer el trabajo, sé que no es lo más optimo ni lo mejor pero me salvó el día.

Ejemplo de nombre de archivo: 010526 – Alguna Agrupacion Musical – Cancion.mp3

# Renombra todos los espacios en blanco con el carácter de piso abajo (underscore)
for archivo in *.mp3; do mv "$archivo" ${archivo// /_}; done
 
# Elimina los 9 primeros caracteres del archivo
for archivo in *.mp3; do nuevoarchivo=`echo $archivo | sed 's/^.\{9\}//'`; mv $archivo $nuevoarchivo; done
 
# Renombra todos los caracteres piso abajo (underscore) nuevamente a espacios en blanco
for archivo in *.mp3 ; do mv -v "$archivo" "$(echo $archivo | sed 's/_/ /g')" ; done

Bienvenida la ayuda para mejorar el script (puede dejarla en los comentarios).

Escrito por apostols

November 13th, 2018 at 2:20 pm

De .NEF a .JPG en Linux sin perder calidad

con un comentario

El día de ayer mi amiga Gabriela me comentó que estaba tratando de transformar archivos .NEF (formato electrónico de archivos RAW de Nikon) a .JPG y que estaba perdiendo calidad en la imagen final, y que además tenía un lote de unas 2000 fotografías que deseaba procesarlas a JPG sin pasar por un proceso manual (ella usa Darktable ó UFRaw para ello). Durante un rato estuve jugando con las herramientas de imagemagick y notaba la alta perdida de calidad, por ejemplo:

Imagen Original .NEF

 

Imagen JPG procesada con Darktable/UFRaw

 

Para ello escribí un pequeño y sucio script en bash que:

  • Convierte los archivos .NEF a .PNG y luego con imagemagick transforma el PNG a JPG (método sucio que funciona usando netpbm, dcraw y imagemagick).
  • Procesa un lote de .NEF que estén ubicados en el directorio donde se corra el script.
#/bin/bash
# Instrucciones:
# 
# 1. Para que este script funcione, necesita tener instalado: netpbm, dcraw, imagemagick
#
# sudo aptitude install netpbm dcraw imagemagick
#
# 2. Setear permisos de ejecucion al script
# chmod +x nef_a_jpg.sh 
#
# Enjoy :D
#
# Por: Juan Angulo Moreno <apostols@gmail.com> 2014-07-20
 
echo "Preparando el ambiente..."
 
total_archivos=`ls *.NEF| wc -l` 
echo "Iniciando conversion... Total de archivos a convertir: $total_archivos"
 
# Que comience la fiesta
for ARCHIVOS in *.NEF ; 
do 
	nombre_base=`basename "$ARCHIVOS" .NEF`;
	echo "Conviertiendo $nombre_base.NEF a JPG...";
	dcraw -c -w $ARCHIVOS | pnmtopng > $nombre_base.png;
	convert $nombre_base.png $nombre_base.jpg
	echo "Listo."
done

Escrito por apostols

July 21st, 2014 at 11:58 am

Recuperando datos de una memoria interna en Android 4.X o superior

con 6 comentarios

Con la llegada del MTP (Media Transfer Protocol) desde Android Honeycomb 3.X, cada vez se hace más difícil tener acceso directo al disco interno sin tener que pasar por protocolos intermedios. En las versiones de Android superiores a la 4.X prácticamente es imposible tener acceso UMS (Usb Massive Storage), es por ello que les dejo esta pequeña receta.

Ingredientes

  • Un teléfono ó tableta con acceso a Root.
  • Tener instalado el paquete BusyBox en tu dispositivo.
  • Una PC/Notebook/Netbook con cualquier distribución de Linux. En el caso de correr otro sistema operativo, tener instalado Cygwin (en Windows) ó Homebrew (en OS X). En mi caso usé Debian Whezzy.
  • ADB (Android  Debug Brigde). Este depende de tu Sistema Operativo.
  • USB Debugging Enabled en tu dispositivo.
  • Netcat y pv (Monitor de progreso de datos a través de una tubería).  Este depende de tu Sistema Operativo, que podrá ser instalado a través de Cygwin ó Homebrew.

¡A cocinar!

1. Tener activo el USB Debugging.

2. Reiniciamos el dispositivo en Mode Recovery (esto varía depende del distribuidor del hardware). En mi caso, usé un Samsung Galaxy S4 (I-9505),

3. Abrir una terminal y ejecutar los siguientes comandos ADB:

$ adb forward tcp:5555 tcp:5555
$ adb shell
$ busybox nc -l -p 5555 -e busybox dd if=/dev/block/mmcblk0

Con esto estaremos preparando el volcado del disco interno mmcblk0 desde el dispositivo.

Nota: El disco interno de 16 Gb en el sistema es /dev/block/mmcblk0. 
No necesariamente sea el mismo en su sistema. Verifique el nombre de 
su dispositivo.

4. Ahora solo nos queda volcarlo al disco local con:

$ adb forward tcp:5555 tcp:5555
$ nc 127.0.0.1 5555 | pv -i 0.5 > mmcblk0.img

El proceso de volcado para 16 Gb es aproximadamente 1:15 horas.

Ya con la imagen (mmcblk0.img) creada podremos aplicarles algunos programas para recuperación de datos (En Linux como foremost, photorec, entre otros), ó Recuva (en Windows).

Escrito por apostols

June 30th, 2013 at 1:24 am

Optimizando MySQL para VPS

sin comentarios

Desde hace algunos años la tecnología de virtualización cada vez toma más auge. Muchas personas contratan servicios de VPS porque pueden tener todas las ventajas de administración de un root por un precio muy bajo. No todo es bueno, ya que con la tecnología de virtualización se pierden recursos, ya que estos están limitados (Memoria, CPU, Disco), ya que el servidor físico puede ser compartido por innumerables servidores virtuales (y compiten recursos de la misma, como es el caso de OpenVZ).

La configuración que viene por defecto del MySQL en la mayoría de las distribuciones de GNU/Linux trae parámetros por defecto para servidores físicos, al instalarse en un VPS, el mismo, si no se le hace una buena afinación podría colapsar. Me sucedió recientemente que el MySQL que trae por defecto Debian Wheezy si se generan varias instancias cuelga a un VPS de 512 MB de RAM. Para poder generar los ajustes, conseguí una herramienta que aliaza el rendimiento llamada Tuning-Primer , de Matthew Montgomery, un pequeño script en bash que te da consejos para establecer algunas variables de la configuración, basándose en los parametros que proporciona el servidor.

Su instalación es sumamente sencillo, solo requiere que tengamos un usuario/password en la base de datos y el programa bc instalado:

# wget http://www.day32.com/MySQL/tuning-primer.sh
# chmod u+x tuning-primer.sh
# ./tuning-primer.sh

Un ejemplo del reporte de esta herramienta es la siguiente:

— MYSQL PERFORMANCE TUNING PRIMER —
– By: Matthew Montgomery –

MySQL Version 5.5.24-4 x86_64

Uptime = 0 days 12 hrs 17 min 4 sec
Avg. qps = 0
Total Questions = 22445
Threads Connected = 1

Warning: Server has not been running for at least 48hrs.
It may not be safe to use these recommendations

To find out more information on how each of these
runtime variables effects performance visit:
http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html
Visit http://www.mysql.com/products/enterprise/advisors.html
for info about MySQL’s Enterprise Monitoring and Advisory Service

SLOW QUERIES
The slow query log is NOT enabled.
Current long_query_time = 10.000000 sec.
You have 0 out of 22466 that take longer than 10.000000 sec. to complete
Your long_query_time seems to be fine

BINARY UPDATE LOG
The binary update log is NOT enabled.
You will not be able to do point in time recovery
See http://dev.mysql.com/doc/refman/5.5/en/point-in-time-recovery.html

WORKER THREADS
Current thread_cache_size = 8
Current threads_cached = 1
Current threads_per_sec = 0
Historic threads_per_sec = 0
Your thread_cache_size is fine

MAX CONNECTIONS
Current max_connections = 128
Current threads_connected = 1
Historic max_used_connections = 2
The number of used connections is 1% of the configured maximum.
You are using less than 10% of your configured max_connections.
Lowering max_connections could help to avoid an over-allocation of memory
See “MEMORY USAGE” section to make sure you are not over-allocating

INNODB STATUS
Current InnoDB index space = 0 bytes
Current InnoDB data space = 0 bytes
Current InnoDB buffer pool free = 98 %
Current innodb_buffer_pool_size = 128 M
Depending on how much space your innodb indexes take up it may be safe
to increase this value to up to 2 / 3 of total system memory

MEMORY USAGE
Max Memory Ever Allocated : 173 M
Configured Max Per-thread Buffers : 344 M
Configured Max Global Buffers : 168 M
Configured Max Memory Limit : 512 M
Physical Memory : 496 M

Max memory limit exceeds 90% of physical memory

KEY BUFFER
Current MyISAM index space = 9 M
Current key_buffer_size = 16 M
Key cache miss rate is 1 : 158
Key buffer free ratio = 67 %
Your key_buffer_size seems to be fine

QUERY CACHE
Query cache is enabled
Current query_cache_size = 8 M
Current query_cache_used = 3 M
Current query_cache_limit = 1 M
Current Query cache Memory fill ratio = 48.41 %
Current query_cache_min_res_unit = 4 K
MySQL won’t cache query results that are larger than query_cache_limit in size

SORT OPERATIONS
Current sort_buffer_size = 2 M
Current read_rnd_buffer_size = 256 K
Sort buffer seems to be fine

JOINS
Current join_buffer_size = 132.00 K
You have had 0 queries where a join could not use an index properly
Your joins seem to be using indexes properly

OPEN FILES LIMIT
Current open_files_limit = 65562 files
The open_files_limit should typically be set to at least 2x-3x
that of table_cache if you have heavy MyISAM usage.
Your open_files_limit value seems to be fine

TABLE CACHE
Current table_open_cache = 32712 tables
Current table_definition_cache = 400 tables
You have a total of 101 tables
You have 101 open tables.
The table_cache value seems to be fine

TEMP TABLES
Current max_heap_table_size = 16 M
Current tmp_table_size = 32 M
Of 1117 temp tables, 30% were created on disk
Effective in-memory tmp_table_size is limited to max_heap_table_size.
Perhaps you should increase your tmp_table_size and/or max_heap_table_size
to reduce the number of disk-based temporary tables
Note! BLOB and TEXT columns are not allow in memory tables.
If you are using these columns raising these values might not impact your
ratio of on disk temp tables.

TABLE SCANS
Current read_buffer_size = 128 K
Current table scan ratio = 17 : 1
read_buffer_size seems to be fine

TABLE LOCKING
Current Lock Wait ratio = 0 : 22724
Your table locking seems to be fine

Por ejemplo, yo para un VPS con 512 de RAM (que corre únicamente MySQL) usé la siguiente configuración en el /etc/mysql/my.cnf

max_connections=128
wait_timeout=30
thread_cache_size=8
table_cache=32712
key_buffer_size=16M
query-cache-type=1
query_cache_size=8M
tmp_table_size=32M

Esta herramienta es más efectiva si se correo luego de tener más de 48 horas prestando servicio. Si se logra optimizar el MySQL en un VPS se puede lograr aprovechar el máximo de los recursos sin temer que en algún momento pueda dejar de prestar servicios.

Escrito por apostols

July 21st, 2012 at 11:57 pm

New GPG Key: 0x82871FC0

sin comentarios

I am transitioning GPG keys from an old 1024-bit DSA (0x34BCCD04) key to a new 4096-bit RSA key (0x82871FC0). The old key will continue to be valid for some time, but I prefer all new correspondance to be encrypted in the new key, and will be making all signatures going forward with the new key.

My new GPG key transition document is available at: http://apostols.net/key-transition.txt.asc.

Cheers,

Escrito por apostols

July 8th, 2012 at 1:01 pm

De dpatch a quilt

con 2 comentarios

Hace unas semanas me reactivé con el Proyecto Debian, comencé el proceso de mitigación de bugs en los paquetes que mantengo desde el año 2007. Una de las herramientas en que siempre me apoyé y que fue fiel compañero de batalla para aplicar parches: dpatch. Actualizandome conseguí que quilt ahora viene con soporte nativo en el dpkg 3.0 format, así que decidí probarlo. Una de las cosas que me gustó fue que usando quilt no tengo que hacerle mucho hacking al debian/rules (al contrario que dpatch, se necesitaba declarar funciones de patch/unpatch/etc). Para la migración de dpatch a quilt utilicé este simple comando:

for inc in $(dpatch list-all); do quilt import -P $inc.diff debian/patches/$inc.dpatch; quilt push; done

Antes de comenzar debemos preparar el ambiente:

cd /donde/sea/que/esten/las/fuentes/
mkdir debian/patches
export QUILT_PATCHES=debian/patches
touch debian/patches/series

Nota: Se recomienda setear la variable QUILT_PATCHES=debian/patches en ~/.quiltrc

Una forma rápida para comentar a parchear con quilt es la siguiente:

quilt push -a # Aplicamos parches, si existen
quilt new repara_esto.diff # Se crea el archivo que contendrá el parche
quilt add algo.c # Se agrega el archivo a modificar
sed -i '1 s/^/Hola/' algo.c # Se realiza la modificación al archivo
quilt refresh # Se crea el parche
quilt pop -a # Se deshacen los cambios

Y para modificar un archivo que ya tenga un parche:

quilt push repara_esto.diff
sed -i 's/Hola/Chao/' algo.c
quilt refresh repara_esto.diff
quilt pop -a

Más información: Quilt for Debian Maintainers

Escrito por apostols

September 7th, 2011 at 9:58 am

Agregado en Debian,Ñu-con-Linux

7mo Día Debian Caracas

sin comentarios

Tenemos el agrado de invitarlos a la celebración del décimo octavo aniversario de Debian, siendo esta una de las distribuciones Linux que se caracteriza por ser la más libre de todas y brindar a sus usuarios y administradores estabilidad y seguridad incomparables.

En el marco de la celebración del 18 aniversario de la distribución de GNU/Linux Debian el próximo 20 de Agosto se realizará el Séptimo Día Debian, una reunión de interesados en el Software Libre y Linux en general, ideal para debatir compartir y conocer en compañía de compañeros, estudiantes, profesores y profesionales en general del área de Tecnologías Libres.

Este año el magno evento estará en su mayoría orientado a realizar demostraciones prácticas y técnicas (semi talleres) para lo cual invitamos a los participantes que posean computadora portátil llevarlas y acompañar a los facilitadores en los recorridos técnicos por los cuales nos pasearán. Si no tienes laptop pues no importa es “demostrativo” anota tu chuleta y luego descarga los recursos empleados o prácticas aquí en esta pagina. Totalmente Libre y Gratuito.

¿Dónde y Cúando?
7mo Dia Debian 2011 – Colegio Universitario Caracas.
Sábado 20 de Agosto de 2011 – Caracas Venezuela.
Ubicada en: Av. Principal de la Floresta cruce con Av. Francisco de Miranda Urb. La Floresta, Edificio Sucre. a una cuadra de la estación de metro “Altamira”, frente a Centro Plaza. Chacao Estado Miranda.

Más Información

Website: http://www.diadebian.org.ve / Twitter: @diadebian

Escrito por apostols

August 9th, 2011 at 9:27 am

Hallacazo UNPLUG un éxito

con un comentario

Ayer celebramos una vez más (como todos los años) el Hallacazo UNPLUG edición 2010. Por primera vez asisten tanta gente (17 personas), cada vez crece más y más la familia UNPLUG.

Familia UNPLUG Dic 2010

De los asistentes: tatica, zentraedi, bigjocker, djamel y su hija, alberkman, n3ro, g013m, m1m1, Roliverio, X3MBoy, ellanos, Richzendy, One y su compadre, j3nnn1 y mi persona.

La sorpresa de la noche fue el estreno de los “UNPLUG Awards” dónde se premiaron a:

  • Ing. Frustrado: alberkman.
  • Sexy g33k g1rl: m1m1.
  • Sexy Slut: apostols.
  • Mejor cantante: orvtech (recibió bigjocker por él).
  • Trol de año: bigjocker.
  • Vaporware del año: Kadath (recibe bigjocker).
  • Mejor tara sustituta: n3ro.
  • Premio improvisado: Mujer nerd del año: j3nnn1.

Faltaron por asistir muchos más. Para el próximo año que estaremos cumpliendo 10 años tenemos varias sorpresas.

Las fotos las puedes encontrar en la galería de tatica y de X3Mboy.

¡Gracias totales!

Escrito por apostols

December 10th, 2010 at 10:18 am

Hallacazo UNPLUG 2010

sin comentarios

Me complace anunciarles que el Hallacazo UNPLUG (que no es más que la reunión anual física de los integrantes del Grupo de Usuario de GNU/Linux UNPLUG) 2010 se dará acabo:

  • Día: 09 de Diciembre de 2009
  • Hora: 6:00 P.M.
  • Lugar: Restaurante Nonna Mia. Plaza La Castellana, Ed. IASA. Chacao – Venezuela


Ver Restaurante Nonna Mia en un mapa más grande

Te esperamos!

Escrito por apostols

December 6th, 2010 at 4:01 pm

Culminó exitosamente el FLISOL 2010 Caracas

con 4 comentarios

El día sábado 24 de abril de 2010 se llevó acabo el Festival Latinoamericano de Instalación de Software Libre en 19 sedes. Lamentablemente en 4 de las sedes no se pudo ejecutar el Festival. Específicamente en la Sede que asistí (Caracas) pude notar:

1. Grupos de Usuarios y Distribuciones: Fue sorprendente ver como los grupos de usuarios de Linux y de las distribuciones se organizaban de forma perfecta, sin necesidad de que existiera alguien que los tratara como “muchacho pequeño”. Se comportaron a la altura, engranando y colaborando en todo lo que se iba presentando. Las distribuciones asistentes fueron: Ubuntu, Fedora, Debian, OpenSolaris y Canaima. Lo mejor de todo fue ver un ambiente armónico y sin mostrar diferencias (aka Distrowar). De los grupos de usuarios y organizaciones sin fines de lucro que pude notar: Mundo Accesible, UNPLUG, VELUG, UNEFA-GLUG, eyeOS, LugMa, IUTlv-LuG, Temiga (Si me falta alguno por favor dejar el nombre como comentario para luego actualizar el post).

2. El perfecto Orga-Team sin tiranía: Esto fue lo mejor, ver como un grupo pequeño de colaboradores fue creciendo al pasar las horas (hasta un señor asistente nos ayudó muy temprano a cargar sillas y mesas). Al final del día éramos como 40 personas colaborando de forma activa. Muchas personas asumieron el liderazgo en determinados momentos para tratar de solventar los problemas que se iban presentando. Nadie le gritó a nadie, nadie se molestó con nadie y lo mejor: nadie le impuso a nadie lo que tenía que hacer. Algunas anécdota muy bonitas fue ver en la mañana de ayer como un grupo de personas al ver que faltaban hacerle unos ajustes a los salones los acomodaron de forma rápida (y hasta lo limpiaron), otros al notar que fallaron los desayunos se organizaron y fueron a comprar algo de comer para todos, todo esto autogestionado por ellos mismos.

3. El espacio físico: La sala de conferencias del piso 12 de la UNEFA Chuao es perfecta para hacer este tipos de eventos, es super amplia, cómoda y cuenta con muchas tomas eléctricas. Las aulas que nos prestaron estaba perfectas para el personal asistente.

4. El grupo de ponentes: Excelente grupo de ponencias, desde la más básica hasta la más compleja en el área de Tecnologías Libres. Para mi parecer una de las charlas que tuvo más impacto fue la de “Aprendiendo el lenguaje de señas” de Nerissa Aguilera, a la gente le gustó tanto que hasta se dejaron tomar vídeos hablando el lenguaje de señas 😀

Nagui y su charla de lengua de señas

5. Nuestra líder: María “tatica” Leandro ha demostrado durante muchos años que reto que se le presenta, reto que asume y saca adelante. Toda mi admiración y respeto a mi amiga tatica, ella ha sabido ganarse el corazón de cada uno de nosotros. Son pocas las mujeres en la Comunidad de Software Libre en Venezuela pero las que están son guerreras y muy comprometidas con el movimiento.

Tatica demostrando como FoF > *

6. Mi gran familia: Siempre estoy en la disyuntiva de que es ¿UNPLUG?, un LUG relajado y divertido ó una gran familia. Hoy llego a la conclusión que somos las dos cosas. En este FLISOL por primera vez tenemos un pendón para identificarnos (gracias a tatica), asistieron gran parte de los que hacen y dejaron de hacer vida en este LUG (los otros estaban trabajando en el FLISOL en las otras ciudades). Cumplimos nuestras dos metas: Difundir el Software Libre y compartir fisicamente como esa familia que somos y seremos. Fue excelente reunirme personalmente con alberkman, Figuex, Jocho, Richzendy, tatica, Caronte, mogaal, FOAD, azra3l_, n3r0, zamuro, CaChi, satanas82, kamihacker, eddy, willicab, foursixnine, eidast y AThilA. Hasta nos encontramos y compartimos con rootvlza (persona que no fue por muchos años de agrado para nadie de la CSL).

UNPLUG PRESENTE!

Contamos hasta con dos fotógrafos profesionales para el evento: Kamihacker y CaChi. Uno los veía como buenos Paparazzi corriendo y buscando los mejores ángulos para plasmar de forma digital los mejores momentos del evento.

Hasta Pedobear nos hizo compañia: Pues sí, después de mi charla sobre Privacidad de datos, me cambié de franela que contenía al famoso Oso Pedofilo de Internet: Pedobear. Esa franela causó euforia en muchos de la comunidad, todos querían una foto con él y él quería atrapar niños (para su mala suerte no pudo). Fue una muy buena sátira que animó a gran parte de los asistentes al evento.

Pedobear!!!

Lo malo
Por primera vez puedo decir que lo malo que tuvo el evento fue por parte externa: Las dos últimas semanas fueron complicadas con respecto a la Sede, al Orga-Team le tocó volver a enviar cartas de solicitud de préstamo de espacios a la UNEFA por que hubo cambios en la directiva. El día del evento nos enteramos que nos habían quitado dos sitios (un auditorio y una aula) donde se iban a dar las charlas y tocó reprogramar todo las charlas (gracias a j3nnn1 por tomar el control de esta situación).

Las fotos del evento las pueden encontrar recolectadas en: http://flisol.org.ve/ciudades/caracas/fotos

Quiero felicitar a cada una de las personas que se involucraron de una ú otra forma con la organización del evento, aquellas que trabajaron como hormiguitas detrás del telón para que la función pudiera salir sin retardos y con la mejor calidad. Esto es comunidad, esto es trabajo en equipo, esto es autogestión. Si se puede y quedó muy bien demostrado. ¡FELICITACIONES A TODOS!.

Nota: Gracias a m1m1, kamihack y CaChi por las fotos que están en este post.

Escrito por apostols

April 26th, 2010 at 9:14 pm