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

Va uno cortito y fácil para la posteridad: No se puede instalar Ethereum (eth o cpp-etherum, el client Ethereum escrito en C++, no confundir con geth que es lo mismo pero Golang based) debido a que oficialmente, solo Ubuntu se encuentra soportado, al menos por ahora.

 

Ethereum Logo - Ethereum en español

 

Si seguiste la documentación oficial, la guía de instalación dice que hagas:

 

apt-get install software-properties-common
add-apt-repository -y ppa:ethereum/ethereum
apt-get update
apt-get install eth

 

Que anda bien, hasta que llegas al penúltimo punto en donde te encontrás con que:

Failed to fetch http://ppa.launchpad.net/ethereum/ethereum/ubuntu/dists/jessie/main/binary-amd64/Packages 404 Not Found

 

Para que luego en el último punto te encuentres con que:

E: Unable to locate package ethereum.

Continúa leyendo