software libre – El Blog de Tomas http://tomasdel.com Tue, 28 Feb 2017 00:09:35 +0000 es-ES hourly 1 https://wordpress.org/?v=4.9.4 Ver menú del Grub sin editar /etc/default/grub http://tomasdel.com/390 http://tomasdel.com/390#respond Sat, 31 Jan 2015 19:43:49 +0000 http://tomasdel.com/?p=390 Siguiendo con el envión de postear cosas cortas, dejo un tip que siempre me olvido a la hora de usar el Grub.

Grub tiene una configuración por defecto en la cual si existe un único Sistema Operativo en el equipo, el menú no se muestra y se accede directamente al SO.

Pero me paso que yo necesitaba ver el menú una única vez, para lanzar el memtest, entonces la solución de editar el archivo en /etc/default/grub, y modificar las variables en cuestión es demasiado. Yo necesitaba algo que funciones una vez sola y que siga como antes.

Encontré por ahí que si luego del POST de la BIOS, se presiona

Shift

se puede ver el menú del grub. Lo probé y es cierto.

Lo unico que resta aclarar es que a veces hay que hacerlo repetidas veces por las dudas.

]]>
http://tomasdel.com/390/feed 0
Ping: Ver estadísticas sin cortar la ejecución http://tomasdel.com/385 http://tomasdel.com/385#respond Fri, 30 Jan 2015 20:40:39 +0000 http://tomasdel.com/?p=385 Vía systemadmin.es me encuentro con que hay una manera de ver las estadísticas del ping sin cortar la ejecución del mismo.

Mientras se ejecuta un ping, hay que enviar la señal SIGQUIT (Se logra con CTRL+’\’).

La salida del ping usando esto luce mas o menos de esta manera:

$ ping localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.059 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.059 ms
64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.058 ms
64 bytes from localhost (127.0.0.1): icmp_seq=4 ttl=64 time=0.064 ms
4/4 packets, 0% loss, min/avg/ewma/max = 0.058/0.060/0.059/0.064 ms
64 bytes from localhost (127.0.0.1): icmp_seq=5 ttl=64 time=0.061 ms
64 bytes from localhost (127.0.0.1): icmp_seq=6 ttl=64 time=0.057 ms
6/6 packets, 0% loss, min/avg/ewma/max = 0.057/0.059/0.059/0.064 ms
6/6 packets, 0% loss, min/avg/ewma/max = 0.057/0.059/0.059/0.064 ms
64 bytes from localhost (127.0.0.1): icmp_seq=7 ttl=64 time=0.057 ms
7/7 packets, 0% loss, min/avg/ewma/max = 0.057/0.059/0.059/0.064 ms
7/7 packets, 0% loss, min/avg/ewma/max = 0.057/0.059/0.059/0.064 ms
64 bytes from localhost (127.0.0.1): icmp_seq=8 ttl=64 time=0.065 ms
64 bytes from localhost (127.0.0.1): icmp_seq=9 ttl=64 time=0.059 ms
64 bytes from localhost (127.0.0.1): icmp_seq=10 ttl=64 time=0.059 ms
10/10 packets, 0% loss, min/avg/ewma/max = 0.057/0.059/0.059/0.065 ms
64 bytes from localhost (127.0.0.1): icmp_seq=11 ttl=64 time=0.063 ms
64 bytes from localhost (127.0.0.1): icmp_seq=12 ttl=64 time=0.064 ms
64 bytes from localhost (127.0.0.1): icmp_seq=13 ttl=64 time=0.065 ms
^C
--- localhost ping statistics ---
13 packets transmitted, 13 received, 0% packet loss, time 11993ms
rtt min/avg/max/mdev = 0.057/0.060/0.065/0.010 ms

Si observan bien, verán un resumen de las estadísticas entre lineas, que son las veces que lance la señal SIGQUIT.

La moraleja de todo esto es que hay que leer el man de los comandos mas seguido :p

Source: http://systemadmin.es/2015/01/estadisticas-de-ping

]]>
http://tomasdel.com/385/feed 0
Desarrollo en Hadoop http://tomasdel.com/356 http://tomasdel.com/356#respond Sun, 09 Nov 2014 20:21:32 +0000 http://tomasdel.com/?p=356 Como ya comenté anteriormente, me encuentro realizando mi tesis de grado en un tema que propone una cruza de las áreas de Big Data y Recuperación de Información. En dicho contexto, utilizo Hadoop como Framework y Java como lenguaje de desarrollo.

En dicha oportunidad prometí un post con contenido sobre desarrollo para Hadoop. Acá les dejo unas diapositivas que prepare especialmente para introducir en el tema.

En dichas slides se puede acceder a un tutorial de instalación de Hadoop 2 en modo local y cluster, y algunos ejemplos de código.

Ya que estamos, si quieren mirar código y si tienen tiempo colaborar, estoy subiendo mis implementaciones a un repositorio público en Github. Es un repositorio íntegramente funcional sobre Hadoop 2. Ademas estoy tratando de ir subiendo issues para favorecer la colaboración (De alguna manera marca el estado de avance de los proyectos y da una idea de lo que falta hacer).

Si tienen intenciones de colaborar o forkear, no duden en contactarse conmigo.

]]>
http://tomasdel.com/356/feed 0
Post instalación Ubuntu 14.04 http://tomasdel.com/338 http://tomasdel.com/338#respond Mon, 20 Oct 2014 22:13:29 +0000 http://tomasdel.com/?p=338 Por diversos motivos, tuve que reinstalar Ubuntu 14.04 en mi notebook. Siempre me ocurre que cada vez que necesito instalar de cero o reinstalar, tengo que recordar o anotar previamente cuales son los programas y configuraciones que tenia en la vieja instalación.

Así que la intención del post este es tener una referencia o machete personal en linea para todo lo que tiene que ver con la post instalación de Ubuntu, y por ahí a alguno le sirve.

1 – Agregar Repositorios adicionales

Algunos repositorios de terceros no vienen agregados de forma predeterminada por cuestiones legales, sin embargo, suele tener software adicional o mas actualizado que los repositorios oficiales.

La forma mas sencilla de activarlo es buscando la aplicación “Software & Updates” o “Software y actualizaciones”, y una vez allí, visitar las pestañas Software de Ubuntu (Activar main, universe, restricted y multiverse, Código fuente es opcional y yo no lo activo), Otro Software (Socios de Canonical e Independientes, de nuevo puede activarse opcionalmente los referentes al código fuente, y yo no lo hago) y Actualizaciones (security, updates, proposed y backports).

Una vez realizado lo anterior, es recomendable realizar una actualización general:

sudo apt-get update && sudo apt-get upgrade

Quiero agregar que esto lo hago en mi notebook personal que es de uso “Desktop”, para el caso de un servidor es posible que existan otras precauciones y debería consultarse algún tipo de literatura especializada.

2 – Software adicional

Lo siguiente que hago es instalar el software que utilizo de forma diaria o rutinaria para mis tareas personales y laborales, algunos de estos programas se consiguen desde los repositorios oficiales, otros los descargo desde las webs oficiales. Cada uno de estos tipos de software sera comentado de forma separada.

2.1 – Software desde los repositorios oficiales

Cabe aclarar que el listado siguiente es un listado de cosas que a mi me sirven, así que es posible que muchas de las cosas que aparecen ustedes quieran obviarlas.

build-essential
aptitude
synaptic
htop
nmap
mc
gummi
guake
xchat
subversion
git
mercurial
postgresql
php5
php5-pgsql
pgadmin3
apache2
audacious
shutter
gparted
ipython
gimp
meld
openjdk-7-jdk
adobe-flashplugin
wine
ssh
vlc
aria2

2.2 – Software que descargo desde las paginas oficiales

El siguiente listado es de aquellos programas que descargo desde sus respectivas paginas oficiales. Dejo los nombres de los programas, con los links a las paginas de descargas, y algunos comentarios en los casos que lo requieran.

Netbeans: Descarga un archivo de extensión .sh, que debe ser ejecutado desde la terminal, previamente agregándole permisos de ejecución (chmod +x archivo.sh).
Sublime3
Mendeley
Chrome
Geany: En este caso descargo el código fuente en un archivo .tar.gz, lo compilo e instalo (./configure, make y sudo make install). El paso del configure siempre falla porque necesita dependencias, si es el caso, instalar libgtk2.0-dev e intltool.
Virtualbox
Teamviewer: En este caso, a pesar de instalar una versión de SO de 64bits, la versión de TV para la misma arquitectura siempre falla en la instalación. Por ello, la solución fácil es bajar la versión de 32bits sin importar que arquitectura se uso en el SO. A mi me anduvo siempre sin problemas.
Skype: Tiene sus trucos, ver mas abajo.
Dropbox
Vagrant

2.2.3 – Skype

Al intentar instalar Skype, mediante el paquete .deb descargado desde el sitio oficial, puede ocurrir que se encuentren con un error como el siguiente:

 skype:i386 : Depends: libqt4-dbus:i386 (>= 4:4.5.3) but it is not going to be installed.
              Depends: libqt4-network:i386 (>= 4:4.8.0) but it is not going to be installed.
              Depends: libqt4-xml:i386 (>= 4:4.5.3) but it is not going to be installed.
              Depends: libqtcore4:i386 (>= 4:4.7.0~beta1) but it is not going to be installed.
              Depends: libqtgui4:i386 (>= 4:4.8.0) but it is not going to be installed.
              Depends: libqtwebkit4:i386 (>= 2.2~2011week36) but it is not going to be installed.
              Depends: libstdc++6:i386 (>= 4.2.1) but it is not going to be installed.
              Depends: libxss1:i386 but it is not going to be installed.
              Depends: libxv1:i386 but it is not going to be installed.
              Depends: libssl1.0.0:i386 but it is not going to be installed.
              Depends: libpulse0:i386 but it is not going to be installed.
              Depends: libasound2-plugins:i386 but it is not going to be installed.

En este caso, hay que instalar las dependencias indicadas, les dejo la linea de aptitude para dicha instalación.

sudo aptitude install libqt4-dbus:i386 libqt4-network:i386 libqt4-xml:i386 libqtcore4:i386 libqtgui4:i386 libqtwebkit4:i386 libstdc++6:i386 libxss1:i386 libxv1:i386 libssl1.0.0:i386 libpulse0:i386 libasound2-plugins:i386

Si en la instalación les dice que el paquete skype esta parcialmente instalado y quiere desinstalarlo, acéptenlo sin problemas, y la próxima vez que intenten instalar Skype, el error inicial no debería aparecer.

2.3 – Instalación manual de programas

2.3.1 – Si se dispone del código fuente

Lo normal cuando se disponga del código fuente de un programa, es tener que realizar los siguientes 3 pasos:

./configure
make
sudo make install

El primer paso revisa que todas las librerías que necesita el software para compilarse se encuentran en el sistema. En caso que exista un error en este paso, sera necesario buscar en la documentación del software particular que librerías necesita, o buscarlo en la Web.

El comando make compila el software, es decir, crea los binarios a partir del código fuente, que sera lo que se ejecute posteriormente en nuestro equipo.

El comando make install ubica los binarios y crea accesos directos y variables de entorno para que el software recién compilado sea utilizable desde el sistema. Como puede necesitar escribir en carpetas del sistema, es necesario ejecutarlo con permisos de root (por eso sudo adelante).

Una vez realizado el make install, la carpeta donde se realizo la compilación puede ser eliminada, pero en caso de no querer borrarla para probar o recompilar posteriormente sin necesidad de bajar el software nuevamente, recomiendo ejecutar un cuarto comando make clean, que elimina archivos intermedios utilizados durante la compilación, y que ocupan lugar en el disco y no son necesarios.

2.3.2 – Si se descargaron archivos con extensión .deb

Muchos de los programas ofrecen binarios precompilados de extension .deb, instalables en Debian/Ubuntu etc…

Para instalar dicho programas, solo es necesario ejecutar lo siguiente:

sudo dpkg -i archivo.deb

En la medida que recuerde mas tareas pos-instalación, la idea es agregarla. Si se les ocurre algún software adicional que ustedes usen, etc… los invito a compartirlo en los comentarios del blog (Les agregue redes sociales para que no tengan que hacerse ni un usuario en el sitio, no sean vagos :p ).

UPDATE: Leyendo blogs, me encontré con este post que mediante dpkg genera un archivo con la lista de paquetes instalados en un sistema (Debian, Ubuntu o derivados). Lo interesante es que de paso muestra como re instalar en el nuevo sistema los paquetes a partir del archivo generado.

]]>
http://tomasdel.com/338/feed 0
Hadoop: Introduccion, articulos e Instalación http://tomasdel.com/326 http://tomasdel.com/326#respond Mon, 13 Oct 2014 14:32:15 +0000 http://tomasdel.com/?p=326 El día miércoles 8/10/2014 en el marco de una materia me invitaron a exponer la experiencia que vengo reuniendo en lo que respecta al Big Data y a Hadoop en particular. Ya tenia preparada una diapositiva introductoria, la cual amplié y corregí de cara al curso, el cual es sobre Sistemas Distribuidos y agregue algún contenido adicional sobre como opera HDFS de forma mas detallada.

Las slides:

Por otro lado, el profesor me pidió, de la vasta documentación en el tema, 1 articulo o dos para ofrecer como bibliografia. Si bien podría haber dicho el libro de Tom White, que es la referencia en el tema, me pareció que para un curso que no es especifico de Hadoop dos artículos mas específicos podrían ser un mejor aporte. Los artículos que elegí fueron:

[DEA,2004]: Dean, J. Et. all. “MapReduce: Simplified Data Processing on Large Clusters“.  OSDI. 2004.

[SHV,2010]: Shvachko, K. Et. all. “The Hadoop Distributed File System“. IEEE. 2010.

Por ultimo, Agrego dos tutoriales que armamos con dos colegas (Esteban y Alejandro) para instalar Hadoop para desarrollo (conocida como single-node) y como cluster.

]]>
http://tomasdel.com/326/feed 0
Network is unreachable al actualizar Flash Player en Ubuntu http://tomasdel.com/317 http://tomasdel.com/317#respond Tue, 07 Oct 2014 12:20:38 +0000 http://tomasdel.com/?p=317 Cuando estamos en una red con Proxy, a pesar de tener configurado el mismo en APT y en Bash, al actualizar flashplayer plugin nos aparece el siguiente error:
flashplugin-installer: downloading http://archive.canonical.com/pool/partner/a/adobe-flashplugin/adobe-flashplugin_11.2.202.406.orig.tar.gz
Traceback (most recent call last):
    File "/usr/lib/update-notifier/package-data-downloader", line 239, in process_download_requests
        dest_file = urllib.urlretrieve(files[i])[0]
    File "/usr/lib/python2.7/urllib.py", line 94, in urlretrieve
        return _urlopener.retrieve(url, filename, reporthook, data)
    File "/usr/lib/python2.7/urllib.py", line 240, in retrieve
        fp = self.open(url, data)
    File "/usr/lib/python2.7/urllib.py", line 208, in open
        return getattr(self, name)(url)
    File "/usr/lib/python2.7/urllib.py", line 345, in open_http
        h.endheaders(data)
    File "/usr/lib/python2.7/httplib.py", line 969, in endheaders
        self._send_output(message_body)
    File "/usr/lib/python2.7/httplib.py", line 829, in _send_output
        self.send(msg)
    File "/usr/lib/python2.7/httplib.py", line 791, in send
        self.connect()
    File "/usr/lib/python2.7/httplib.py", line 772, in connect
        self.timeout, self.source_address)
    File "/usr/lib/python2.7/socket.py", line 571, in create_connection
        raise err
IOError: [Errno socket error] [Errno 101] Network is unreachable

La solución es descargarlo a mano e indicarle al instalador la carpeta donde esta el archivo. Se hace de la siguiente forma:

$ cd ~/Descargas
$ wget http://archive.canonical.com/pool/partner/a/adobe-flashplugin/adobe-flashplugin_11.2.202.406.orig.tar.gz
--2014-10-07 08:27:53--  http://archive.canonical.com/pool/partner/a/adobe-flashplugin/adobe-flashplugin_11.2.202.406.orig.tar.gz
Resolving proxy.unlu.edu.ar (proxy.unlu.edu.ar)... 170.210.96.10
Connecting to proxy.unlu.edu.ar (proxy.unlu.edu.ar)|170.210.96.10|:8080... connected.
Proxy request sent, awaiting response... 200 OK
Length: 14142192 (13M) [application/x-gzip]
Saving to: ‘adobe-flashplugin_11.2.202.406.orig.tar.gz’

100%[==============================================================================================================================>] 14.142.192   992KB/s   in 15s    

2014-10-07 08:28:09 (934 KB/s) - ‘adobe-flashplugin_11.2.202.406.orig.tar.gz’ saved [14142192/14142192]
$ sudo dpkg-reconfigure flashplugin-installer

En el paso del wget, utilizar el enlace que nos mostro apt antes de que aparezca el error, en el ejemplo era http://archive.canonical.com/pool/partner/a/adobe-flashplugin/adobe-flashplugin_11.2.202.406.orig.tar.gz

Al ejecutar el ultimo paso, aparece una interfaz en ncurses, donde debemos ingresar la carpeta donde descargamos el archivo (No hay que ingresar el nombre del archivo).

Screenshot from 2014-10-07 08:42:06Si todo esta correcto, la instalación finaliza con la siguiente salida:

Installing from local file /home/tomas/Descargas//adobe-flashplugin_11.2.202.406.orig.tar.gz
Installing from local file /home/tomas/Descargas//adobe-flashplugin_11.2.202.406.orig.tar.gz
Flash Plugin installed.
Flash Plugin installed.

 

]]>
http://tomasdel.com/317/feed 0
Video: Inventing on principle http://tomasdel.com/297 http://tomasdel.com/297#respond Fri, 01 Aug 2014 21:35:21 +0000 http://tomasdel.com/?p=297 Recién hoy me hice el tiempo de mirar este video de una conferencia de Victor Bret, muy interesante, que si bien en un principio puede parecer orientado a programadores, va muchos mas allá y nos da una forma de pensar el mundo, un enfoque posible.


Los subtitulos estuvieron a cargo de un grupo de gente que lo hizo durante la ultima PyCamp (Evento al cual tuve la dicha de asistir), y tengo que reconocer que la lectura fue muy amena y clara, entonces desde este humilde blog mis felicitaciones tanto por tomarse el tiempo como por el buen laburo que realizaron.

El video, a mi juicio, no tiene desperdicio y merece ser mirado completamente, aunque especialmente deberían dedicarle un tiempo educadores en cualquier área de TICs, sobre todo profesores de materias de programación.

Me parece importante destacar el recorrido histórico que realiza sobre cracks de las ciencias de la computación (Reconozco que algún nombre no lo conocía) y como valora de ellos ideas que iban mucho mas allá de lo que todos reconocemos hoy en día (tal invento el mouse, tal invento la GUI). Detrás de esas implementaciones, según la visión de Bert, existía una especie de “inconformismo” con el estado de cosas imperante al momento, y eso los movilizo a cambiarlas desde su lugar. Los fanáticos del VIM van a patalear acá, pero yo estoy de acuerdo con el planteo de Bert (vean el video).

Genial también como situá a RMS en esa linea histórica de tipos que cambiaron el mundo con una idea clara de lo que querían lograr, con una definición clara de lo que para ellos estaba bien y mal. RMS esta muy subvalorado por como cierta prensa construye su imagen, pero aun hoy no se llega a comprender en toda su magnitud lo que el tipo generó.

]]>
http://tomasdel.com/297/feed 0
Hadoop, otra introducción http://tomasdel.com/293 http://tomasdel.com/293#respond Tue, 29 Jul 2014 16:31:58 +0000 http://tomasdel.com/?p=293 Les dejo una recopilación de material de la web que realice en forma de diapositiva, introduciendo a Hadoop.

La mayoría del contenido no es propio, sino que es recopilado de presentaciones y webs online. La integración es a fines académicos. En la mayoría de los casos agregue referencias, pero si encuentran algún lugar que falte, por favor avísenme y lo agrego.


La herramienta que use para armar las slides es slides.com, que es una interfaz para la librería reveal.js, que esta muy copada, y solo usa HTML+CSS+JS (con librerías, obviamente).

Lo próximo es una diapo con algunos ejemplos de aplicaciones en Hadoop (instalación, código, etc…)

]]>
http://tomasdel.com/293/feed 0
Entendiendo Vagrant: Otra Introducción http://tomasdel.com/260 http://tomasdel.com/260#respond Fri, 13 Jun 2014 01:22:29 +0000 http://www.tomasdelvechio.com.ar/?p=260 Introducción

logo_vagrant-81478652Para un trabajo estoy usando Vagrant. Es una herramienta interesante, ya que permite realizar un deploy de maquinas virtuales (VMs) con relativa facilidad.

Pero me costo un poco la curva inicial, tuve que leer bastante porque utiliza ciertos conceptos que parecen “nuevos” aunque luego son cosas conocidas una vez que se lee la documentación, la que por cierto, esta muy completa, pero en Ingles.

La intención con este post, es dar mi introducción corta a esta herramienta, y remitir a otros posts y documentación que me sirvió para entender como funciona.

Muchas de las ideas acá expuestas surgieron de la lectura de la trilogía de Posts de Erika Heidi.

La idea detrás de Vagrant es automatizar la construcción y despliegue (deploy) de Maquinas virtuales que serán utilizadas para tareas similares o idénticas.

Un caso posible es un entorno de desarrollo, donde cada nuevo desarrollador debería instalar el sistema en base al software necesario para programar, teniendo en cuenta las versiones y configuraciones particulares de los mismos. En su lugar, se podría crear un repositorio con las configuraciones para Vagrant, entonces el desarrollador en cuestión se descargaría un par de archivos de textos, y mediante una cantidad mínima de comandos tendría una VM con la configuración lista para comenzar a desarrollar.

El siguiente Mapa Conceptual muestra a grandes rasgos los conceptos relacionados con Vagrant.

VagrantComo se observa, Vagrant actúa como “pegamento” de otras tecnologías previamente existentes, y las integra en un único comando con diversas opciones.

Conceptos

Vamos a explicar alguno de los conceptos que aparecen en el mapa conceptual:

Providers: Nombre que asigna Vagrant a los Hypervisores o Software para gestionar VMs. Por defecto utiliza Virtualbox. En el caso de VMware, según entiendo, ademas de la licencia propia de este, hay que pagar una licencia por el plugin de Vagrant para utilizarlo.

Box: Es una instalación de un sistema operativo concreto, en un archivo que Vagrant utiliza. Es normal que diferentes desarrolladores de SO o personas independientes publiquen sus Boxes en internet, para poder descargarnos un entorno ya instalado y pre-configurado. Algunos ejemplos acá, acá y acá.

Provisioning: Tiene nombre parecido a Providers, pero son ideas diferentes. Un provisioning es un software para automatizar tareas en una VM. Es independiente y previo a Vagrant, aunque este utiliza dicho Software para alcanzar el objetivo de crear documentos de actualización, control y mantenimiento de las Boxes.

Vagrantfile

Una box de vagrant puede ser replicada cuantas veces se desee, y las diferencias entre cada entorno se establecen a través de un archivo por cada “instalación” que se llama Vagrantfile.

El archivo es en realidad un script en Ruby, que es leído por el comando vagrant para realizar las diferentes acciones.

Para tener una VM con vagrant, alcanza con tener una carpeta y un archivo Vagrantfile con la configuración adecuada.

En Internet hay muchos proyectos para extraer ejemplos, acá agrego una configuración posible:

Vagrant.configure("2") do |config|
    config.vm.box = "precise64"
    config.vm.box_url = "http://files.vagrantup.com/precise64.box"
    config.vm.network :private_network, ip: "192.168.33.101"
    config.vm.synced_folder "./", "/vagrant"
end

Teniendo el archivo anterior, y haciendo vagrant up en la carpeta, comenzara a descargar la box si es que no la tiene previamente descargada, creara una red privada entre el host y el guest, y montara una carpeta compartida entre ambos para poder intercambiar datos. En el Vagrantfile anterior, descarga un Ubuntu 12.04 (Precise) de 64 bits.

Una referencia mas exhaustiva de configuraciones las pueden encontrar en la documentación oficial del proyecto.

Algunos tips

Paquetes

Por algun motivo, es mejor descargar Vagrant desde la pagina oficial, y no instalarlo desde los repositorios. En lo personal, también puedo hacer la misma recomendación respecto de Virtualbox. Con paquetes desactualizados suelen ocurrir problemas no convencionales (Por ejemplo, al instalar las Guests Additions puede fallar a veces).

vagrant init o vagrant up

En esta introducción yo sugiero crear un archivo Vagrantfile, y luego hacer vagrant up para instalar la VM. En otros lugares encontraran que en su lugar, se puede usar el comando init sin necesidad de crear el Vagrantfile. No hay una forma correcta y otra incorrecta. En el caso de usar init, Vagrant creara un Vagrantfile por default con las configuraciones mínimas necesarias para que funcione la VM. En el caso de usar up, el archivo Vagrantfile debe existir.

stdin: is not a tty

Si el mensaje

stdin: is not a tty

Aparece cuando se esta iniciando una VM, no se hagan problema (no es un error), pero si quieren solucionarlo, dentro de la VM hagan lo siguiente:

sed -i 's/^mesg n$/tty -s \&\& mesg n/g' /root/.profile

Cuando se inicie nuevamente la VM, el mensaje no aparecerá nuevamente.

Solución vista en github

Problemas con acceso ssh automático

Por diferentes motivos, puede ocurrir que se pierda el acceso vía ssh a la VM. En mi caso, me encontraba haciendo pruebas de logueo automático en diferentes VMs y borre accidentalmente la carpeta ~/.ssh del usuario vagrant (La que usa el comando para mágicamente loguearnos cuando hacemos vagrant ssh).

En estos casos, lo mejor es iniciar la VM con la GUI predeterminada (Por ejemplo, a traves de Virtualbox), loguearse con el usuario vagrant de forma normal, y allí dentro ejecutar el script postinstall.sh con sudo. Luego de eso, reiniciar la VM, y el acceso estará restablecido.

La realidad es que parece una pavada, pero no encontré en foros o listas sobre esto (se que es un error muy pavo, pero me pasó), y estuve un rato para encontrar el script en cuestión.

Fuentes y recursos

Documentación

http://www.erikaheidi.com/blog/a-begginers-guide-to-vagrant-getting-your-portable-development-e

http://www.erikaheidi.com/blog/a-beginners-guide-to-vagrant-part-2-provisioning-and-puppet

http://www.erikaheidi.com/blog/a-beginners-guide-to-vagrant-and-puppet-part-3-facts-conditional

]]>
http://tomasdel.com/260/feed 0
Barra de Titulos en Nautilus – Ubuntu Gnome 13.10 http://tomasdel.com/255 http://tomasdel.com/255#respond Fri, 30 May 2014 00:11:53 +0000 http://www.tomasdelvechio.com.ar/?p=255 Esto es un tip bastante bobo, pero a mi me vino bien. En GNOME 3.8 (Y anteriores), cuando se maximiza la ventana de Nautilus, se oculta la barra de títulos, lo que genera por ejemplo, que no aparezca el botón cerrar de la ventana.

Si bien se puede cerrar la ventana desde el menú o con Alt+F4, si por costumbre queremos tener la barra de títulos, existe esta extensión.

Lo probe en Ubuntu GNOME 13.10 y pase de ver algo asi:

nautilus_defaultA ver algo asi:

nautilus_extensionLas imágenes no son de mi autoría, son encontradas en la web.

PD: En Ubuntu GNOME 14.10 ya no es necesario porque el botón cerrar esta integrado en la barra de herramientas.

PD2: Es posible que luego de instalar haya que cerrar sesión y volver a entrar para ver los cambios (No alcanza ni siquiera con ALt+F2->r).

 

 

]]>
http://tomasdel.com/255/feed 0