Au revoir.
Después de más de 4 años escribo el último post en este blog, no es despedida dramática, es cerrar un ciclo con un final apropiado y haciendo un breve recuento.
¿Razones? Varias.
El blog cumplió su cometido principal: servirme como medio para expresar y dar a conocer situaciones, inquietudes, noticias que en su momento me parecieran relevantes.
Conforme avanzaba el tiempo me dí cuenta que algunas cosas eran de real utilidad para varias personas, al mismo tiempo emepezé a «documentar» experiencias que tenía con el sistema GNU/Linux con el fin de acceder a ellas cuando el mismo o un problema similar se sucitara, así como también de apoyo para quienes experimentaran esos mismos problemas.
Otra de las razones es que el servicio wORDpRESS.com pasó de ser un servicio básico de blogs a un servicio saturado de funcionalidades y orientado a las redes sociales, algo que no es de de mi preferencia. Y dado que es un servicio gratuito la posibilidad de personalización de dichas funcionalidades es nula, solución: nuevo blog en distinta plataforma.
La tercer razón: Ausencia de inspiración. Leyendo una reflexión en el blog de rafalinux (recomendado) me dí cuenta que este blog había llegado a su fin y era preferible cerrarlo de una vez por todas y no pretender reviviéndolo cada 3 meses como usualmente se suele hacer.
El blog quedará abierto pues aún se mantiene una media de 70 visitas diarias y comentarios con dudas que estoy dispuesto a responder.
En algunas semanas pienso empezar de nuevo un blog con temática aún indefinida en una plataforma distinta tal como lo mencioné lineas arriba. Ya pondré por aquí la nueva dirección para mis 3¾ lectores, saludos.
Liberar memoria RAM caché en GNU/Linux
La memoria caché es aquella que almacena información de los procesos con el objetivo de ser reutilizada para lograr que se lleven a cabo procesamientos futuros de manera casi instantanea. Linux por sí mismo almacena esta memoria y la reutiliza cuando es requerida, pero tambien la libera cuando otro proceso requiere memoria RAM.
En Linux, desde la versión 2.6.16 del Kernel es posible para el usuario «administrar» la liberación de la memoria caché mediante el archivo /proc/sys/vm/drop_caches
No sé por qué alguien querría manejar manualmente este tipo de procesos si el Kernel por sí mismo lo hace a su manera (¿paranoia?) y nunca he sabido de algún inconveniente debido a esto.
Lo única ventaja que se me ocurre de realizar esto es para hacer una especie de «refresh» sin tener que reiniciar el Sistema; cerrar todas las aplicaciones y darle prioridad a aplicaciones que se vayan ejecutando en cierto orden. Y no estoy seguro que tenga que recurrirse a esto para lograrlo, pues al abrir una aplicación que requiera memoria, Linux se encargará de liberarla para darle prioridad a la nueva aplicación que lo requiera.
La tarea consiste simplemente en asignarle (como root) un valor del 0 al 3 al archivo /proc/sys/vm/drop_caches:
echo 0|1|2|3 > /proc/sys/vm/drop_caches
El significado de cada valor:
- 0 » Cede el control al Kernel para que administre la memoria
- 1 » Libera pagecache
- 2 » Libera dentries y inodes
- 3 » Libera pagecache, dentries y inodes
Donde:
pagecache: Memoria caché de la paginación.
dentries: (Directory Entries) Representa la relación de forma estructurada que existe entre directorios-archivos.
inodes: Son nodos índice de archivos y directorios que usa el Sistema de Archivos para administrar las actividades posibles de dichos archivos y directorios guardados en disco o memoria. Contiene la metadata de los archivos y directorios: permisos, tamaño, propietario, última fecha de acceso, creación, modificación, etc…
Se debe recomienda utilizar en primer lugar el comando sync para forzar la grabación de información pendiente en la memoria caché y de esta manera asegurarse de liberar solamente información «libre».
sync ; echo 0 > /proc/sys/vm/drop_caches sync ; echo 1 > /proc/sys/vm/drop_caches sync ; echo 2 > /proc/sys/vm/drop_caches sync ; echo 3 > /proc/sys/vm/drop_caches
Fuentes:
http://www.linuxinsight.com/proc_sys_vm_drop_caches.html
http://redes-privadas-virtuales.blogspot.com/2009/07/liberar-la-memoria-ram-cacheada-en.html
:wq
Recuperar archivos eliminados con «rm» es posible, a veces.
Eliminar un archivo con un típico «rm archivo» en los inicios de una persona en entornos Unix es más común que hacer un ls en la terminal de windows. Cuando sea el caso y eliminemos sin querer un archivo con el comando rm es posible recuperarlo siempre y cuando exista un proceso en ejecución que involucre al archivo eliminado.
Un caso hipotético.
Lanzo el navegador Opera mediante un script llamado oopera.sh, el navegador sigue abierto y por accidente he eliminado el archivo:
rm Scripts/oopera.sh
Lo primero que hay que hacer es listar los procesos del sistema y comprobar que el archivo que hemos eliminado se encuentre ahí:
ps -A | grep -i opera
PID TTY TIME CMD 4092 ? 00:00:00 oopera.sh 4093 ? 00:11:35 opera 4219 ? 00:00:00 operapluginclean 12369 ? 00:00:02 operapluginwrap
En el directorio /proc están listados y organizados los procesos del Sistema
El subdirectorio /proc/NumeroDelPID/fd/ contiene (entre otras cosas) un enlace simbólico de cada archivo, proceso, socket, directorio activo en el Sistema.
fd = file descriptor
Teniendo el PID (Identificador del Proceso) del archivo se comprueba el estado del archivo y al mismo tiempo el nombre del enlace simbólico:
ls -l /proc/4092/fd/* | grep oopera.sh lr-x------ 1 ramonoid ramonoid 64 Apr 20 13:57 /proc/4092/fd/255 -> /home/ramonoid/Scripts/oopera.sh (deleted)
Estado: (deleted)
Enlace: 255
Y ya localizado el enlace, lo único que queda es hacer la restauración con un simple cp:
cp /proc/4092/fd/255 $HOME/Scripts/oopera.sh
:wq
Mejorando el desempeño con el comando «cd» o cómo hacernos más flojos en la terminal [1]
Existen una gran cantidad de sencillos tips para los sistemas basados en UNIX (GNU/Linux, *BSD, Solaris, etc…) que nos facilitará la vida a los que usamos la terminal, en especial a quienes usamos las coreutils en reemplazo de algún file manager. Si bien son prescindibles para el desempeño en la terminal, son de gran utilidad si se quiere ser un poco más ágil y evitarse teclear menos para tareas básicas.
En este post, mencionaré algunos básicos para movernos a lo largo del árbol de directorios *nix.
1. La variable de entorno $CDPATH
Se trata de una variable que nos permite tratar directorios como si estuvieramos todo el tiempo situados en ellos, esto nos ahorraría el trabajo de teclear una ruta completa.
Por ejemplo, en vez de teclear:
cd /home/usuario/Documentos/Escuela/Tareas/Contabilidad\ Financiera/
Si agregamos «/home/usuario/Documentos/Escuela/Tareas/» a la variable CDPATH, podriamos solamente escribir:
cd Contabilidad\ Financiera/
Para definirla, simplemente se agrega la variable «CDPATH» con los directorios separados por «:» al archivo de configuración de la shell que se esté utilizando (.zshrc .bashrc .kshrc etc…), por ejemplo:
export CDPATH="/usr/local/share/:$HOME/Documentos/"
En caso de que existan dos directorios con el mismo nombre, uno en /usr/local/share/ y otro en /home/usuario/Documentos, cd recorre en orden de izquierda a derecha los directorios en la variable CDPATH, por lo que reconocerá primero el directorio que se encuentre en /usr/local/share/ y se cambiará a ese.
2. El caracter «~»
Este caracter es el equivalente a /home/usuario/, por lo que tecleando un simple «cd ~» podriamos situarnos en nuestro $HOME desde cualquier otro directorio.
O tambien copiar un archivo a nuestro home desde /usr/share/app1/ tecleando:
cp archivo1 ~
Otra utilidad podría ser listar lo que tenemos en nuestro $HOME:
ls ~usuario
3. Zsh y el autocd
Existe una simple opción para Zsh llamada «auto_cd». La utilidad de esta opción es que se puede omitir la palabra «cd» para cambiarse a un directorio (así o más flojo).
Simplemente hay que agregar «setopt auto_cd» al .zshrc
El autocompletado y el pushd y popd son otras genialidades que deberían estar en la lista, ya lo explicaré después… tal vez.
:wq
Los 10 comandos que uso más
cruznick me mandó la invitación para participar en esto de publicar los «10 comandos que uso más».
Mi historial de comandos lo tengo limitado a «666», no uso bash y tengo el historial en un archivo separado. El comportamiento de «history» es distinto, y al tener limitado a 666 mi historial, pues el resultado va sobre lo que he tecleado los últimos….. ~7 días.
Comando original:
history | awk ‘{print $2}’ | sort | uniq -c | sort -rn | head -10
Comando modificado:
┌─(ramonoid@gentoo:pts/1)──────────────────────────────────────────────────(~)─┐ └─(00:21:%)──> cat .zsh_history | awk '{print $1}' | sort | uniq -c | sort -rn | head -10 51 mv 35 sudo 27 search 26 rm 24 cat 23 ls 20 sv 20 cd 17 unmerge 16 vp
vp = emerge -vp
sv = sudo vim
search = emerge –search
Creo que lo protocolario es que yo invite a alguien más, así que invitaré a Thalskarth, a ushcompu y a Rugebiker
:wq
Separar un archivo flac
Perdón a mis 1¼ lectores por no actualizar esto, tenía planeado no actualizarlo jamás pero creo que lo dejaré para poner tonterías relacionadas exclusivamente al mundillo de Unix y las compus, o no.
Hoy escribiré algo para la gente pobre que nos encanta ilusionarnos con tener música lossless en FLAC, WAV, AIFF, ALAC o lo-que-sea.
Me descargué un álbum en flac y para mi sorpresa solo venían 2 archivos .flac, 1 por cada CD rippeado, y como a mí me gusta tener las canciones separadas y scrobblear para documentar lo que escucho en (last|libre).fm pues investigué la manera de separar el archivo en las distintas canciones que conforman el álbum.
Las herramientas:
emerge -av cuetools shntool #shntool con la USE flag "flac"
cuetools se trata de una serie de scripts que ayudan a manejar los archivos con extensión «cue», en gentoo en particular uno de los scripts no se instala en donde se supone debería de instalarse, así que por comodidad, a moverlo:
mv /usr/share/doc/cuetools-*/extras/cuetag.sh /usr/local/bin
La conversión:
cuebreakpoints archivo.cue | shnsplit -o flac archivo.flac
Esto generará las canciones separadas con su extensión .flac si el archivo .cue está bien estructurado.
La taggeada:
En las versiones nuevas de cuetools hay que hacer un ajuste al script cuetag.sh para hacer que maneje sin problemas los archivos .flac
Se sustituyen simplemente unos parámetros en unas lineas del script:
sed -i 's/remove-vc-all/remove-all-tags/g;s/import-vc-from/import-tags-from/' /usr/local/bin/cuetag.sh
Y…
cuetag.sh archivo.cue split-track*.flac
Listo.
-Extra-
Generar un arhivo .cue cuando este no exista separado pero esté incluido en el archivo .flac:
metaflac --show-tag=CUESHEET archivo.flac | grep -v ^CUESHEET > archivo.cue
El álbum se trata de «Conqueror» de Jesu en su edición Japonesa con los 2 tracks extra (20 de Octubre, cualquier edición es bienvenida). http://www.discogs.com/Jesu-Conqueror/release/901537
En realidad esto ya lo había hecho meses atrás en Archlinux pero no tuve problemas y solo quería documentarlo ahora que los tuve xD!
Basado en: https://nxadm.wordpress.com/2009/02/09/split-one-flac-cue-file-into-separate-tracks/
:wq
Top 10 Albums 2010 [2]
2010.
Nada nuevo en términos generales. Mezclas de refritos de refritos.
Aquí va lo más interesante que escuché y que sentí rescatable de entre tanto intento fallido de resucitar los 90’s.
Y no, no puse a Arcade Fire, ni a Crystal Castles, ni a Gorillaz, ni a Kanye West, ni a The Black Keys, ni a Deftones, ni a Kings Of Leon.
Que me perdonen tod_s l_s tumblers.
10. The Body – All The Waters Of The Earth Turn To Blood
Estados Unidos (RI) | Sludge | last.fm | Página
***********************
Inglaterra | Indie | last.fm | Página
***********************
8. Bullets In Madison – We Became Your Family When You Died
Estados Unidos (IL) | Indie/Shoegaze | last.fm | Página
***********************
7. Jefre Cantu-Ledesma – Love Is A Stream
Estados Unidos (CA) | Drone/Ambient | last.fm | Página
***********************
6. Standstill – Adelante Bonaparte
España | Indie(¿?) | last.fm | Página
***********************
5. Year Of No Light – Ausserwelt
Francia | Post-metal | last.fm | Página
***********************
4. Lis Er Stille – The Collibro
Dinamarca | Progresivo/Post-rock(¿?) | last.fm | Página
***********************
3. Swans – My Father Will Guide Me Up A Rope To The Sky
Estados Unidos (NY) | Post-punk/Industrial(¿?) | last.fm | Página
***********************
Estados Unidos (OR) | Ambient | last.fm | Página
***********************
1. World’s End Girlfriend – Seven Idiots
Japón | (¿¿¿???) | last.fm | Página
El hijo de puta que usa en una canción el título de una canción de Arvo Pärt pero toma un fragmento de otra canción del mismo Arvo Pärt merece ser mi top de este año xD!
***********************
Otras cosas interesantes que tomé mucho en cuenta para decidir mis 10, y que facilmente podría poner en un top más amplio: Jónsi, Ef, Rosetta, Cloudkicker, Sailors With Wax Wings, Alcest, Tera Melos, Aidan Baker, Zola Jesus, Yann Tiersen, Khoma, Flying Lotus, Ólafur Arnalds, Best Coast, thisquietarmy, Kayo Dot, High On Fire, Talons, Dreamend, Fang Island, Current 93, The Bad Plus, Tamaryn, Nadja, Kausal.
:wq
9 tips para el cuidado de viniles
Buscando maneras de darle mantenimiento y cuidar los discos de vinil fue que me encontré esta lista de 9 tips sencillos donde explican como mantener los viniles en un buen estado que permitan preservarlos por mucho más tiempo.
http://www.vinylrevinyl.com/2008/10/02/how-to-maintain-your-vinyl-records/
Creo que resultan medio obvios los tips, pero más que nada publico esto por si alguno de mis 2½ lectores conocen a otras personas que tengan interés y conocimiento en este asunto del manejo de viniles. O mejor aún, si tienen una experiencia buena con alguno de los 23,000 productos que existen para limpiarlos.
El sitio entero está bueno por cierto.
:wq
27 comments