A este le puse por título TIP por que no es mas que eso: otro ayuda memoria para la posteridad, a saber:

 

  • Tenés dos archivos con texto: archivo1 y archivo2 como en el ejemplo de la captura de pantalla.
  • Necesitás identificar las líneas duplicadas o simplemente restarlas como en el ejemplo y mostrar únicamente las que no se repiten.

 

La única forma que conozco de lograr esto en Bash sin recurrir a complicados regex de la muerte forma mas rápida de lograr esto sin tener que pensar mucho es como tantas otras veces: GREP.  Alguien debería hacerle un pedestal al autor original de grep, sin duda.

Los switchs que vas a utilizar en grep son:

  1. -x  match únicamente si toda la línea coincide.
  2. -f  para en lugar de utilizar stdin o una palabra como argumento, usar un archivo, de a una línea por vez.
  3. -v  para reverse search, restar las líneas que coincidan en archivo2 de archivo1.

 

Utilizar grep en Bash para restar el contenido de un archivo de otro linea a linea en la consola de comando de Linux

Utilizar grep en Bash para restar el contenido de un archivo de otro linea a linea en la consola de comando de Linux

 

Continúa leyendo

 

Otro título sugerido: La lógica detrás del include/exclude de RSYNC, que no es tan obvia.

Otro: Rsync, la puta que te parió rsync.

 

De lo fácil o difícil que puede resultar hacer un backup con Linux, dependiendo de como lo mires.

De lo fácil o difícil que puede resultar hacer un backup con Linux, dependiendo de como lo mires.

 

Vá uno cortito y útil. No tan obvio y medio complejo de encontrar en la primera página de Google a menos que seas hábil Googleador, pero después te comés un garrón de la gran flauta: Como ejecutar Rsync para copiar archivos, pero únicamente determinados tipos de archivo, basando la selección en la extensión que tuvieran. Parece fácil, si.

Para el versado seasoned sysadmin Linuxero está será bastante obvia, no obstante, hoy la tuve que usar de nuevo por vez número mil y no me anduvo a la primera. No me acrodaba específicamente la sintaxis y terminé Googleando. Como siempre que me pasa esto me lo agendo para la posteridad, acá estoy de nuevo, y así se hace:

 

rsync -av --dry-run --include '*/' --include '*.php' --exclude '*' source/dir/ target/dir/

 

¿Bastante obvio, no? El de arriba va con un –dry-run para que puedas examinar la salida del comando. Si te resultó satisfactorio y no te mandaste ninguna cagada, sacale el –dry-run para que los archivos se copien efectivamente y si te molesta el output por pantalla, sacale la «v» de verbosity, quedando:

 

rsync -a --include '*/' --include '*.php' --exclude '*' source/dir/ target/dir/

 

¿Te sirvió? Pagame un café.

 

 

 

Otro títlulo sugerido: Para la posteridad y para el SEO.

Acá como hice para sacar el mensaje de advertencia de Ansible que ya me tenía las bolas por el piso:

 

[WARNING]: Optional dependency ‘cryptography’ raised an exception, falling back to ‘Crypto’

 

Este problema con Ansible lo venía arrastrando hace tiempo ya y nunca me había detenido todavía a intentar repararlo dado que todo funciona haciendo fallback a crypto

Este problema con Ansible lo venía arrastrando hace tiempo ya y nunca me había detenido todavía a intentar repararlo dado que todo funciona haciendo fallback a crypto

 

Una Googleada y medio mas tarde econtrarás como yo, que el problema se soluciona reinstalando cryptography, entonces volvés contento a la shell y ejecutás:

pip install --upgrade cryptography

 

Pero nada,  cryptography no se reinstala y te tira este mensaje de error por la cabeza:

 

Error: ImportError: No module named setuptools_ext

Continúa leyendo

 

 

La que sigue es un caso bastante atípico pero que no por eso he tenido que googlear la suficiente cantidad de veces como para que se justifique venir a documentar acá:

Como desactivar el auto-apagado de la pantalla, el power-saving de la consola de Linux, desde una sesión remota via SSH.

 

Desactivar el salvapantallas de la consola de Linux, cuando tenés teclado y mouse puestos o iniciada una sesión localmente es una cosa relativamente trivial, como ya escribí alguna vez en el pasado. La cosa se complica cuando necesitás hacer lo mismo pero esta vez remotamente. Ya sea por que no tenés teclado y mouse pero si un monitor conectado con un proceso corriendo, o por que solo podés iniciar sesión mediante keys.

Cualquiera sea el caso que te ocupa, lo importante es que no tenés acceso físico a la tty1 (o tty2, tty3, la que fuera) y necesitás desactivar el blank screen saver que apaga la pantalla.

 

tty - la consola de comandos de Linux

tty – la consola de comandos de Linux

 

El tiempo durante el cual la pantalla permanece encendida está dado por el contenido del archivo /sys/module/kernel/parameters/consoleblank. Podés verificarlo ejecutando:

~# cat /sys/module/kernel/parameters/consoleblank
600

Continúa leyendo