Si vagrant no te funciona

Captura de pantalla 2016-04-01 a las 13.27.31

Vagrant es un Docker muy chulo, un virtualizador que nos permite desplegar aplicaciones y entornos seguros de forma que podemos empaquetar dichos entornos y desplegarlos rápida y sencillamente. La ventaja, igual que Docker, es que no metemos máquinas completas y si solo lo mínimamente necesario para que la aplicación pueda ejecutarse. Su instalación es muy sencilla y la creación de máquinas especificas, contenedores, aplicaciones también. Os recomiendo muy encarecidamente que visitéis su web para más información ya que es un campo muy interesante y actualmente es hacia donde tienden todos los ISPs.

Pero, ¿que pasa cuando la máquina se niega a arrancar?. Veamos una posible solución al error `read’: Is a directory @ io_fread – /etc/exports (Errno::EISDIR)

Leer más

Limpiar un disco de una máquina virtual en Virtualbox

Si usáis una máquina virtual dentro de VirtualBox, seguramente hayáis borrado alguna vez ficheros pero vais que el disco sigue manteniendo su tamaño.

La solución es sencilla:

  1. Entrar en la máquina virtual linux
  2. Limpiar de los ficheros que no queremos
  3. Ejecutar “dd if=/dev/zero of=zerofillfile bs=1M” que llenará de ceros todo el espacio libre en el disco
  4. Nos aparecerá un mensaje como “dd: writing ‘zerofillfile’: No space left on device”
  5. Ejecutamos “rm zerofillfile”
  6. Apagamos la máquina virtual con “sudo halt” por ejemplo
  7. Vamos a la carpeta de nuestro ordenador donde se encuentra el fichero del disco. Si tenemos alguna duda podemos verlo en la configuración de la máquina, en el almacenamiento.
  8. VBoxManage modifyhd –compact “RUTA AL FICHERO DEL DISCO”.
  9. Si se trata de un fichero vmdl tenemos que hacer algún paso intermedio:
    1. VBoxManage  clonehd “RUTA AL FICHERO DEL DISCO” “cloned.vdi” –format vdi
    2. VBoxManage modifyhd –compact “cloned.vdi”
    3. VBoxManage  clonehd “cloned.vdi” “RUTA AL FICHERO DEL DISCO” –format vmdk

Como siempre, espero que os sirva.

Actuar sobre una lista de ficheros con espacios

Si queremos hacer algo con una lista de ficheros y nos encontramos espacios, esta es la solución


find . -type f | while IFS= read -r file; do echo "${file}"; done

Lo importante son las comillas.

Si queremos por ejemplo moverlos a otro sitio, deberemos usar también las comillas dobles


find . -type f | while IFS= read -r file; do echo "${file%.doc}"; mv "${file}" /tmp/"${file}"; done

 

Cambiar tipo mime de un fichero

Recientemente me ha pasado que algún editor modifica la codificación de un fichero como consecuencia si yo tengo un fichero .php que muestre una palabra con acentos y el encoding del fichero no coincide con el encoding que yo le estoy diciendo en el “meta”…pues problema al canto y caracteres raros por ahí…

El encoding se puede solucionar guardando el fichero en el encoding apropiado (algunos editores soportan esta opción) pero para linux (Mac) esta es la solución más sencilla que he encontrado.

Solución en linux:

Para identificar que encoding tiene un fichero concreto:

 $file --mime nombrefichero.php 

Esto nos produce una salida…

 nombrefichero.php:         text/plain; charset=iso-8859-1

Para reconvertir al formato que deseamos por ejemplo a utf-8:

  iconv -f iso-8859-1 -t utf-8 nombrefichero.php > nombrefichero_utf8.php

 

*NOTA: cuidado con intentar encodear un fichero formato ascii a utf-8 porque ascii ya es utf-8 por lo que la reconversión no se lleva a cabo.