<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tuxlink</title>
	<atom:link href="http://tuxlink.com.mx/feed/" rel="self" type="application/rss+xml" />
	<link>http://tuxlink.com.mx</link>
	<description>Open Source &#38;  Mac OS X Blog</description>
	<lastBuildDate>Wed, 17 Sep 2014 15:00:01 +0000</lastBuildDate>
	<language>es-ES</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.1.5</generator>
	<item>
		<title>Compartir carpetas de VirtualBox con fedora 20</title>
		<link>http://tuxlink.com.mx/2014/09/17/compartir-carpetas-de-virtualbox-con-fedora-20/</link>
		<comments>http://tuxlink.com.mx/2014/09/17/compartir-carpetas-de-virtualbox-con-fedora-20/#comments</comments>
		<pubDate>Wed, 17 Sep 2014 15:00:01 +0000</pubDate>
		<dc:creator><![CDATA[Eduardo Gutiérrez Silva]]></dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Manuales]]></category>
		<category><![CDATA[Sistemas Opeativos]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Sistemas Operativos]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[VirtualBox]]></category>

		<guid isPermaLink="false">http://tuxlink.com.mx/?p=2160</guid>
		<description><![CDATA[Parece imposible encontrar una buena referencia de como compartir carpetas entre VirtualBox y prácticamente cualquier distribución de Linux. Parece que cada vez que alguien logra hacerlo se pierde la información y uno tiene que recolectarla para por fin condensarla en <a class="more-link" href="http://tuxlink.com.mx/2014/09/17/compartir-carpetas-de-virtualbox-con-fedora-20/">Seguir leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Parece imposible encontrar una buena referencia de como compartir carpetas entre VirtualBox y prácticamente cualquier distribución de Linux. Parece que cada vez que alguien logra hacerlo se pierde la información y uno tiene que recolectarla para por fin condensarla en un post que les pueda servir a los demás. Y claro que esa ha sido la tarea de este blog desde sus inicios, explicar como hacer las cosas de una manera concisa y al grano. Así que vamos a dejarnos de habladurías y vamos a comenzar con este post.</p>
<h2>Requerimientos</h2>
<p>Debemos de haber previamente instalado las <strong>Guest Additions</strong> dentro de nuestro sistema virtualizado.</p>
<p>Una excelente referencia para esto es la <a title="Guest Additions Fedora,CentOS,RedHat" href="http://www.if-not-true-then-false.com/2010/install-virtualbox-guest-additions-on-fedora-centos-red-hat-rhel/" target="_blank">esta pagina</a>.</p>
<p>Los GuestAdditions dan soporte al sistema virtualizado para cambiar la resolución de la pantalla &#8216;al vuelo&#8217;, así como la detección del mouse y por supuesto la compartición de carpeta entre anfitrión e invitado.</p>
<h2>Eligiendo la carpeta que vamos a compartir</h2>
<p>Con nuestra máquina virtual encendida vamos a dar clic en el icono de folder que se encuentra en la esquina inferior de la derecha de la ventana.</p>
<div id="attachment_2163" style="width: 250px" class="wp-caption aligncenter"><img class="size-full wp-image-2163" src="//tuxlink.com.mx/wp-content/uploads/2014/09/01-right-clic.png" alt="Clic derecho sobre el icono del folder" width="240" height="48" /><p class="wp-caption-text">Clic derecho sobre el icono del folder</p></div>
<p>Entramos a <strong>SharedFolder Settings</strong> y agregamos una nueva carpeta.</p>
<div id="attachment_2162" style="width: 702px" class="wp-caption aligncenter"><img class="wp-image-2162 size-full" src="//tuxlink.com.mx/wp-content/uploads/2014/09/02-Create-folder.png" alt="Añadir una nueva carpeta" width="692" height="493" /><p class="wp-caption-text">Añadir una nueva carpeta</p></div>
<p>Asegúrense de marcar la casilla &#8216;<strong>Make permanent</strong>&#8216;. Para las demás opciones no se la verdad si exista alguna diferencia entre marcarlas o no, ya que la mayoría de estos parámetros los controlaremos mediante la línea de comandos en fedora.</p>
<div id="attachment_2161" style="width: 354px" class="wp-caption aligncenter"><img class="size-full wp-image-2161" src="//tuxlink.com.mx/wp-content/uploads/2014/09/03-important-markp.png" alt="Marcar la carpeta como permanente. Ojo con el nombre que tiene asignado." width="344" height="215" /><p class="wp-caption-text">Marcar la carpeta como permanente. Ojo con el nombre que tiene asignado.</p></div>
<h2>Enlazando la carpeta compartida</h2>
<p>Dentro de la máquina virtual <strong>abrimos una terminal</strong>.<br />
Vamos a probar a montar la carpeta compartida como root, solo para verificar que todo se encuentra en orden y podemos montarla.</p>
<p>Primeramente creamos una carpeta que servirá como acceso a nuestra carpeta compartida desde Fedora. Esto lo pueden hacer desde la terminal o desde el navegador de archivos, únicamente teniendo cuidado de que dispongan de los permisos adecuados para la ubicación que elijan.</p>
<p>Muchos deciden crearla dentro de /media, en mi caso la crearé en mi carpeta personal.</p>
<pre><code>
mkdir MacOSX
</code>
</pre>
<p>Ahora vamos a enlazar la carpeta montándola como si se tratara de otra unidad más, indicando que se trata del sistema de archivos de VirtualBox.</p>
<p>Ejecutamos:</p>
<pre><code>
sudo mount -t vboxsf FedoraShared MacOSX/
</code>
</pre>
<p>¡Perfecto! Se ha montado la carpeta como lo queríamos. Sin embargo, si creamos un archivo dentro de la carpeta, veremos que no podemos crear absolutamente nada con nuestro usuario normal (no administrador). ¡Ni si quiera una carpeta!</p>
<h2>Montando la carpeta como dios manda</h2>
<p>El problema de montar así la carpeta es que no podemos escribir en ella, ya que pertenece a root y forma parte del grupo root.</p>
<p>Aquí existen varias soluciones y siempre la seguridad va primero, así que vamos a descartar por completo en convertirnos en root cada vez que queramos escribir o leer y mucho menos nos añadiremos al grupo root.</p>
<p>Como segunda solución existe el comando chmod y chgrp, sin embargo fallan miserablemente, ya que el sistema de archivos &#8216;vboxfs&#8217; <a title="Why can't I chown a VirtualBox shared directory?" href="http://superuser.com/questions/640027/why-cant-i-chown-a-virtualbox-shared-directory" target="_blank">no tiene soporte para los permisos POSIX</a>, así que olvidémonos de estos dos comandos.</p>
<p>Como tercera opción tenemos la capacidad del comando mount para remontar una partición con otro usuario y grupo diferente a root, esto se logra con el comando:</p>
<pre><code>
sudo mount -t vboxsf -o remount,gid=1000,uid=1000,rw FedoraShared MacOSX/
</code>
</pre>
<p>Para conocer su usuario y grupo por defecto solo basta ejecutar el comando: id</p>
<p>En mi caso este comando me ha devuelto error de argumento inválido, por lo que queda descartado para mi, si en su caso les ha funcionado, felicidades, no tienen nada más que hacer que pasar a la siguiente sección para ver como montar la carpeta cada vez que se inicie el sistema y no deban ejecutar la línea anterior cada vez.</p>
<p>La solución que me ha funcionado a mi ha sido mediante el <strong>comando mount.vboxsf</strong>, el cual me parece que añaden la GuestAdditions.</p>
<p>Así pues el comando sería el siguiente:</p>
<pre><code>
sudo mount.vboxsf -o rw,uid=1000,gid=1000 FedoraShared MacOSX/
</code>
</pre>
<p>donde deberán de reemplazar: uid, gid con los devueltos por el comando id; FedoraShared por el nombre de su carpeta compartida y MacOSX/ por el nombre de su carpeta destino (la que eligieron dentro de fedora).</p>
<p>Para probar que pueden escribir dentro de la carpeta enlazada, ejecutamos:</p>
<pre><code>
touch MacOSX/holaMundo
</code>
</pre>
<p>Si el comando no ha devuelto nada entonces han logrado compartir la carpeta entre los dos sistemas.</p>
<h2>Montando la carpeta de manera permanente</h2>
<p>Finalmente vamos a hacer esto permanente, ya que de otra manera cada vez que enciendan la máquina el deberán de ejecutar el comando anterior para tener acceso a sus archivos en la carpeta compartida.</p>
<p>Tenemos que <strong>modificar el archivo /etc/fstab</strong>, en mi caso lo editaré con vim, aunque se puede emplear cualquier editor mientras hagan la edición como administrador.</p>
<p>En mi caso sería:</p>
<pre><code>
sudo vim /etc/fstab
</code>
</pre>
<p>para usar gedit</p>
<pre><code>
sudo gedit /etc/fstab
</code>
</pre>
<p>para kate (en KDE) sería:</p>
<pre><code>
sudo kate /etc/fstab
</code>
</pre>
<p>Y así sucesivamente para cualquier otro editor.</p>
<p>Dentro del archivo añadiremos al final la siguiente línea.</p>
<pre><code>
FedoraShared /home/esilva/MacOSX vboxsf rw,uid=1000,gid=1000 0 0
</code>
</pre>
<p>Donde deberán de reemplazar FedoraShared por el nombre de su carpeta compartida y &#8216;/home/esilva/MacOSX&#8217; por la ruta completa de la carpeta que servirá como punto de acceso. Como pueden ver el comando es muy similar al que ejecutamos con mount.vboxsf, esto es porque le indicamos al sistema que una vez realizado el montaje debe de realizar el cambio de usuario y grupo para darnos los permisos necesarios.</p>
<h2>El último paso</h2>
<p>Hay algo que hacer antes de reiniciar así que aún no lo hagan.<br />
Si reinician con la modificación tal cual ha quedado, lo mas seguro es que fedora no pueda iniciar, esto se debe a que el módulo que requerimos para el sistema de archivos (vboxsf) no se está cargando a tiempo y por lo tanto el montaje falla. Para resolver esto debemos de crear un archivo dentro de la carpeta:</p>
<p>/etc/modules-load.d/</p>
<p>Así que abrimos un edito de textos como lo hicimos anteriormente, en mi caso con vim:</p>
<pre><code>
sudo vim vboxsf.conf
</code></pre>
<p>Y pegaremos la siguiente línea:</p>
<pre><code>
vboxsf
</code></pre>
<p>Lo se parece broma, ya que solo es el nombre del módulo, pero con esto garantizamos que el módulo se cargue a tiempo para que el montaje se realice de manera correcta.</p>
<p>Si ocuparon un editor distinto recuerden guardar el archivo en &#8216;/etc/modules-load.d/&#8217;</p>
<p>Pueden probar a reiniciar el sistema para comprobar que la carpeta se monta correctamente.</p>
<p>En caso de que se presenta algún error se mostrará el modo de emergencia de fedora. En este modo editen el archivo /etc/fstab y comenten la línea que agregaron con un &#8216;#&#8217; al comienzo de la línea y reinicien (reboot).</p>
<p>Con esto concluimos con este rápido post sobre como compartir carpetas con Fedora, espero no hayan tenido mayores problemas.</p>
<p>Cualquier duda o comentario no olviden dejarlo en la sección de abajo.</p>
<p>Saludos.</p>
]]></content:encoded>
			<wfw:commentRss>http://tuxlink.com.mx/2014/09/17/compartir-carpetas-de-virtualbox-con-fedora-20/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle 12c en OS X Mavericks &#124; Configuración de Oracle 12c</title>
		<link>http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configuracion-de-oracle-12c/</link>
		<comments>http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configuracion-de-oracle-12c/#comments</comments>
		<pubDate>Wed, 17 Sep 2014 00:44:51 +0000</pubDate>
		<dc:creator><![CDATA[Eduardo Gutiérrez Silva]]></dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Error/Solución]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Manuales]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[12c]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Redes]]></category>

		<guid isPermaLink="false">http://tuxlink.com.mx/?p=2149</guid>
		<description><![CDATA[Esta podría tomarse como la última entrada sobre la instalación de Oracle 12 en nuestra máquina virtual y digo última porque la última sección (el punto 6), se trata de tutoriales complementarios pero que no son necesarios para dar por <a class="more-link" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configuracion-de-oracle-12c/">Seguir leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Esta podría tomarse como la última entrada sobre la instalación de Oracle 12 en nuestra máquina virtual y digo última porque la última sección (el punto 6), se trata de tutoriales complementarios pero que no son necesarios para dar por concluido a este.</p>
<p>Lo he estado pensando y este tutorial también aplica si en lugar de tener una máquina virtual estamos haciendo uso de un servidor remoto al que queremos conectarnos.</p>
<p>En esta última parte veremos como conectarnos desde un terminal en el equipo anfitrión (Mac OS X) al sistema virtualizado y por último crearemos un usuario en la BD mediante esta conexión. Este último paso se puede realizar desde el mismo entorno de la máquina virtual, así que solo será como un extra hacerlo mediante SSH.</p>
<p>Por si no han revisado la primera parte del tutorial o si les interesa alguna otra parte de la serie, a continuación el temario de la misma.</p>
<ol>
<li><a href="http://tuxlink.com.mx/2014/07/07/oracle-12c-en-mac-os-x-mavericks-introduccion/#introduccion">Introducción</a>
<ol>
<li><a href="http://tuxlink.com.mx/2014/07/07/oracle-12c-en-mac-os-x-mavericks-introduccion/#razones_le">¿Por qué usar la máquina virtual con Linux Enterprise?</a></li>
<li><a href="http://tuxlink.com.mx/2014/07/07/oracle-12c-en-mac-os-x-mavericks-introduccion/#anti_razones_le">¿Por qué no usar esta alternativa?</a></li>
<li><a href="http://tuxlink.com.mx/2014/07/07/oracle-12c-en-mac-os-x-mavericks-introduccion/#reqs_hardware">Requerimientos de Hardware</a></li>
<li><a href="http://tuxlink.com.mx/2014/07/07/oracle-12c-en-mac-os-x-mavericks-introduccion/#reqs_software">Software requerido</a></li>
</ol>
</li>
<li><a title="Oracle 12c en OS X Mavericks | Importando la máquina virtual" href="http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-importando-la-maquina-virtual/#importar-maq-virt">Importando la máquina virtual</a>
<ol>
<li><a title="Oracle 12c en OS X Mavericks | Importando la máquina virtual" href="http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-importando-la-maquina-virtual/#not-enough-ram">¿Qué hago si no tengo suficiente RAM?</a></li>
</ol>
</li>
<li><a title="Oracle 12c en OS X Mavericks | Configurando la máquina virtual" href="http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-configurando-la-maquina-virtual/#config-maq-virtual">Configurando la máquina virtual</a>
<ol>
<li><a title="Oracle 12c en OS X Mavericks | Configurando la máquina virtual" href="http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-configurando-la-maquina-virtual/#config-maq-virtual-params">Configuración de los parámetros de hardware</a></li>
<li><a title="Oracle 12c en OS X Mavericks | Configurando la máquina virtual" href="http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-configurando-la-maquina-virtual/#config-maq-virtual-red">Conexión NAT y reenvío de puertos</a></li>
</ol>
</li>
<li><a title="Oracle 12c en OS X Mavericks | Configurando de Linux Enterprise" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configurando-de-linux-enterprise/#config-linux-enterprise">Configuración de Linux Enterprise</a>
<ol>
<li><a href="#config-language">Configuración del lenguaje</a></li>
<li><a href="#config-keyboard">Configuración del teclado</a></li>
<li><a href="#config-netwotk-automatic">Conectar automáticamente a la red</a></li>
<li><a href="#config-firewall">Configurando el Firewall</a></li>
</ol>
</li>
<li><a href="#configurando-oracle-12c">Configuración de Oracle 12c</a>
<ol>
<li><a title="Oracle 12c en OS X Mavericks | Configurando de Linux Enterprise" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configurando-de-linux-enterprise/#conexion-mediante-ssh">Conexión mediante SSH</a></li>
<li><a title="Oracle 12c en OS X Mavericks | Configuración de Oracle 12c" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configuracion-de-oracle-12c/#creando-usuario-bd">Creando un usuario en la Base de Datos</a></li>
</ol>
</li>
<li>Tutoriales relacionados
<ol>
<li>Como conectar netbeans en nuestro sistema Anfitrión a Oracle 12c en nuestra máquina virtual</li>
<li>Configurando APEX en nuestra máquina virtual</li>
</ol>
</li>
</ol>
<p><a name="configuracion-oracle-12c"></a></p>
<h2>5. Configuración de Oracle 12c</h2>
<p>Comenzamos por lanzar una terminal dentro de Mac OS X. Buscamos en Spotlight &#8220;Terminal&#8221; o vamos a nuestra carpeta de Aplicaciones &gt; Utilidades &gt; Terminal.</p>
<p>También nos aseguramos de que nuestra máquina virtual esté corriendo para hacer la conexión remota.</p>
<p><a name="conexion-mediante-ssh"></a></p>
<h3>A. Conexión mediante SSH</h3>
<p>La conexión mediante SSH la realizaremos con el siguiente comando:</p>
<pre><code>ssh -p 2222 oracle@localhost</code>
</pre>
<div id="attachment_2150" style="width: 498px" class="wp-caption aligncenter"><img class="size-full wp-image-2150" src="//tuxlink.com.mx/wp-content/uploads/2014/09/ssh-anim-2.gif" alt="Demostración de SSH a localhost" width="488" height="207" /><p class="wp-caption-text">Demostración de SSH a localhost</p></div>
<p>Para los que estén interesados por qué significan los parámetros aquí una breve descripción:</p>
<ul>
<li>ssh: Nombre del comando para conectarnos.</li>
<li>-p 2222: Número del puerto al cual hacer la conexión, si recordamos en las secciones anteriores, asignamos el puerto 2222 para conectarnos a SSH.</li>
<li>oracle@localhost: Este parámetro se divide en 2:
<ul>
<li>oracle: Nombre del usuario con el que queremos hacer login.</li>
<li>localhost: Ruta del equipo al que nos conectaremos, en este caso es localhost, pero bien podría ser una IP de un equipo remoto.</li>
</ul>
</li>
</ul>
<p><a name="creando-usuario-bd"></a></p>
<h3>B. Creando un usuario en la Base de Datos</h3>
<p>Este será el último paso que que necesitamos para dejar nuestra base de datos lista con un usuario.</p>
<p>Nos logueamos mediante SSH y posteriormente hacemos lo mismo dentro de la utilidad sqlplus, que ya vendrá instalada dentro del sistema virtual, de la siguiente manera:</p>
<pre><code>
sqlplus SYS/oracle as sysdba
</code>
</pre>
<p>Con esto tenemos acceso al sistema como administrador y creamos un usuario de la siguiente manera:</p>
<pre><code>
create user TUXLINK IDENTIFIED BY TUXLINK;
grant connect, resource, dba to TUXLINK;
</code>
</pre>
<p>Finalmente le damos unos privilegios extra para poder crear objetos dentro de la BD.</p>
<pre><code>
-- Grants para el usuario
GRANT CREATE SESSION TO TUXLINK;
GRANT CREATE TABLE TO TUXLINK;
GRANT CREATE ANY TRIGGER TO TUXLINK;
GRANT CREATE VIEW TO TUXLINK;
GRANT CREATE ANY PROCEDURE TO TUXLINK;
GRANT CREATE SEQUENCE TO TUXLINK;
GRANT CREATE SYNONYM TO TUXLINK;
</code>
</pre>
<p>Así el usuario podrá crear tablas, secuencias, vistas, etc.</p>
<p>Así podemos dar por terminado este tutorial y solo me quedaría redactar los tutoriales complementarios para conectarnos a la base de datos mediante otras aplicaciones y crear un Workspace desde APEX.</p>
<p>Espero y les haya sido de utilidad, cualquier duda o comentario les invito a escribirlas en los comentarios o enviándonos un correo desde la sección de Contacto del blog.</p>
<p>Si llegaron hasta aquí, ¡felicidades! Espero y regresen más seguido por aquí.</p>
<p>Saludos.</p>
]]></content:encoded>
			<wfw:commentRss>http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configuracion-de-oracle-12c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle 12c en OS X Mavericks &#124; Configurando de Linux Enterprise</title>
		<link>http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configurando-de-linux-enterprise/</link>
		<comments>http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configurando-de-linux-enterprise/#comments</comments>
		<pubDate>Tue, 16 Sep 2014 23:07:07 +0000</pubDate>
		<dc:creator><![CDATA[Eduardo Gutiérrez Silva]]></dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Error/Solución]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Manuales]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[12c]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Redes]]></category>

		<guid isPermaLink="false">http://tuxlink.com.mx/?p=2126</guid>
		<description><![CDATA[Esta es la entrada referente a la instalación de Oracle 12c en nuestra máquina virtual dentro de Mac OS X. Por si no han revisado la primera parte del tutorial o si les interesa alguna otra parte de la serie, <a class="more-link" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configurando-de-linux-enterprise/">Seguir leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Esta es la entrada referente a la instalación de Oracle 12c en nuestra máquina virtual dentro de Mac OS X.<br />
Por si no han revisado la primera parte del tutorial o si les interesa alguna otra parte de la serie, a continuación el temario de la misma.</p>
<ol>
<li><a href="http://tuxlink.com.mx/2014/07/07/oracle-12c-en-mac-os-x-mavericks-introduccion/#introduccion">Introducción</a>
<ol>
<li><a href="http://tuxlink.com.mx/2014/07/07/oracle-12c-en-mac-os-x-mavericks-introduccion/#razones_le">¿Por qué usar la máquina virtual con Linux Enterprise?</a></li>
<li><a href="http://tuxlink.com.mx/2014/07/07/oracle-12c-en-mac-os-x-mavericks-introduccion/#anti_razones_le">¿Por qué no usar esta alternativa?</a></li>
<li><a href="http://tuxlink.com.mx/2014/07/07/oracle-12c-en-mac-os-x-mavericks-introduccion/#reqs_hardware">Requerimientos de Hardware</a></li>
<li><a href="http://tuxlink.com.mx/2014/07/07/oracle-12c-en-mac-os-x-mavericks-introduccion/#reqs_software">Software requerido</a></li>
</ol>
</li>
<li><a title="Oracle 12c en OS X Mavericks | Importando la máquina virtual" href="http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-importando-la-maquina-virtual/#importar-maq-virt">Importando la máquina virtual</a>
<ol>
<li><a title="Oracle 12c en OS X Mavericks | Importando la máquina virtual" href="http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-importando-la-maquina-virtual/#not-enough-ram">¿Qué hago si no tengo suficiente RAM?</a></li>
</ol>
</li>
<li><a title="Oracle 12c en OS X Mavericks | Configurando la máquina virtual" href="http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-configurando-la-maquina-virtual/#config-maq-virtual">Configurando la máquina virtual</a>
<ol>
<li><a title="Oracle 12c en OS X Mavericks | Configurando la máquina virtual" href="http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-configurando-la-maquina-virtual/#config-maq-virtual-params">Configuración de los parámetros de hardware</a></li>
<li><a title="Oracle 12c en OS X Mavericks | Configurando la máquina virtual" href="http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-configurando-la-maquina-virtual/#config-maq-virtual-red">Conexión NAT y reenvío de puertos</a></li>
</ol>
</li>
<li><a href="#config-linux-enterprise">Configuración de Linux Enterprise</a>
<ol>
<li><a href="#config-language">Configuración del lenguaje</a></li>
<li><a href="#config-keyboard">Configuración del teclado</a></li>
<li><a href="#config-netwotk-automatic">Conectar automáticamente a la red</a></li>
<li><a href="#config-firewall">Configurando el Firewall</a></li>
</ol>
</li>
<li><a title="Oracle 12c en OS X Mavericks | Configuración de Oracle 12c" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configuracion-de-oracle-12c/#configuracion-oracle-12c">Configuración de Oracle 12c</a>
<ol>
<li><a title="Oracle 12c en OS X Mavericks | Configuración de Oracle 12c" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configuracion-de-oracle-12c/#conexion-mediante-ssh">Conexión mediante SSH</a></li>
<li><a title="Oracle 12c en OS X Mavericks | Configuración de Oracle 12c" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configuracion-de-oracle-12c/#creando-usuario-bd">Creando un usuario en la Base de Datos</a></li>
</ol>
</li>
<li>Tutoriales relacionados
<ol>
<li>Como conectar netbeans en nuestro sistema Anfitrión a Oracle 12c en nuestra máquina virtual</li>
<li>Configurando APEX en nuestra máquina virtual</li>
</ol>
</li>
</ol>
<p><a name="config-linux-enterprise"></a></p>
<h2> 4. Configuración de Linux Enterprise</h2>
<p>A continuación veremos aspectos de la configuración básica que modificaremos desde el entorno de escritorio como es el lenguaje, el teclado, así como indicarle al sistema virtualizado se conecte automáticamente a la red.<br />
Por fin encenderemos nuestra máquina virtual, por lo que se nos debe de presentar la pantalla de login correspondiente. <strong>Aún no iniciaremos sesión</strong>.</p>
<div id="attachment_2127" style="width: 433px" class="wp-caption aligncenter"><img class="size-full wp-image-2127" src="//tuxlink.com.mx/wp-content/uploads/2014/09/04-01.png" alt="Pantalla de inicio de sesión." width="423" height="274" /><p class="wp-caption-text">Pantalla de inicio de sesión.</p></div>
<p><a name="config-language"></a></p>
<h3>A. Configuración del lenguaje</h3>
<p><strong>Antes de iniciar sesión</strong> es en la pantalla de login donde debemos de elegir el idioma que nos interesa con el que se inicie nuestro escritorio. Al seleccionar el usuario de oracle, como se muestra en la imagen previa, en la parte inferior se nos presentará una lista de lenguajes donde podemos seleccionar el nuestro. En un principio solo aparecerá Inglés de Estados Unidos, pero al dar clic en otro se presenta una lista con todos los idiomas que podemos agregar.</p>
<div id="attachment_2128" style="width: 223px" class="wp-caption aligncenter"><img class="size-full wp-image-2128" src="//tuxlink.com.mx/wp-content/uploads/2014/09/04-02.png" alt="Lista de idiomas para iniciar sesión, dar clic en otros si el idioma no aparece aquí." width="213" height="103" /><p class="wp-caption-text">Lista de idiomas para iniciar sesión, dar clic en otros si el idioma no aparece aquí.</p></div>
<p>Con esto seleccionado ahora si podremos iniciar sesión, con las credenciales por defecto:</p>
<p><code>Usuario: oracle<br />
Password: oracle</code></p>
<p>Puede que tarde unos minutos en iniciar dependiendo de los recursos que le hayamos asignado al sistema.<br />
<a name="config-keyboard"></a></p>
<h3>B. Configuración del teclado</h3>
<p>Además del idioma, probablemente lo más importante que debamos de tener configurado será el teclado, ya que de otra forma será difícil escribir caracteres como /,-,{,}, etc.</p>
<p>Dependiendo del idioma que hayan seleccionado, deberán hacer la traducción correspondiente de los menús que explicaré a lo largo del tutorial.</p>
<p>Para configurar el teclado vamos al menú:</p>
<p>System &gt; Preferences &gt; Keyboard</p>
<div id="attachment_2129" style="width: 408px" class="wp-caption aligncenter"><a href="http://tuxlink.com.mx/wp-content/uploads/2014/09/04-03.png"><img class="size-full wp-image-2129" src="//tuxlink.com.mx/wp-content/uploads/2014/09/04-03.png" alt="Menú para la configuración del teclado" width="398" height="317" /></a><p class="wp-caption-text">Menú para la configuración del teclado</p></div>
<p>Dentro de la pestaña Layout veremos que lo más probable es que tengamos el Layout de los Estados Unidos, por lo que agregaremos uno nuevo dando clic en Add.</p>
<div id="attachment_2130" style="width: 498px" class="wp-caption aligncenter"><img class="size-full wp-image-2130" src="//tuxlink.com.mx/wp-content/uploads/2014/09/04-04.png" alt="Agregar un nuevo teclado" width="488" height="530" /><p class="wp-caption-text">Agregar un nuevo teclado</p></div>
<p>Podemos buscar por país o por lenguaje y en la imagen del teclado que se nos muestra podemos verificar las teclas que se muestran con la de nuestro teclado al presionarlas.</p>
<p>Al final podemos eliminar el Layout de EEUU si así lo preferimos.<br />
<a name="config-netwotk-automatic"></a></p>
<h3>C. Conectar automáticamente a la red</h3>
<p>En mi caso el sistema no se ha conectado automáticamente a la red. Lo único que he tenido que hacer para que se conecte es dar clic en el icono con el pequeño computador que aparece arriba a la derecha en el tray, y seleccionar la única conexión disponible que tengo para que se conecte a la red.</p>
<div id="attachment_2136" style="width: 198px" class="wp-caption aligncenter"><img class="size-full wp-image-2136" src="//tuxlink.com.mx/wp-content/uploads/2014/09/04-05.png" alt="OTN Network" width="188" height="155" /><p class="wp-caption-text">Seleccionar conexión disponible</p></div>
<p>Sin embargo cada vez que encendamos el sistema <strong>no se conectará automáticamente</strong>. Para configurar esto damos clic derecho sobre el mismo icono y seleccionamos &#8220;Edit Connections…&#8221;.</p>
<div id="attachment_2135" style="width: 212px" class="wp-caption aligncenter"><img class="size-full wp-image-2135" src="//tuxlink.com.mx/wp-content/uploads/2014/09/04-06.png" alt="Editar las conexiones" width="202" height="171" /><p class="wp-caption-text">Editar las conexiones</p></div>
<p>Ahora pasamos a seleccionar la única conexión que deberíamos tener habilitada y damos clic en &#8216;Edit&#8217;.</p>
<div id="attachment_2134" style="width: 416px" class="wp-caption aligncenter"><img class="size-full wp-image-2134" src="//tuxlink.com.mx/wp-content/uploads/2014/09/04-07.png" alt="Editar la conexión" width="406" height="332" /><p class="wp-caption-text">Editar la conexión</p></div>
<p>Por último marcamos la casilla: &#8216;Connect automatically&#8217;.</p>
<div id="attachment_2133" style="width: 459px" class="wp-caption aligncenter"><img class="size-full wp-image-2133" src="//tuxlink.com.mx/wp-content/uploads/2014/09/04-08.png" alt="OTN Developer Day" width="449" height="113" /><p class="wp-caption-text">Conectar automáticamente</p></div>
<p>Cada vez que el sistema encienda se conectará automáticamente a la red.<br />
<a name="config-firewall"></a></p>
<h3>D. Configurando el Firewall</h3>
<p>Hasta ahora todo ha sido bastante sencillo de configurar desde la interfaz de gnome. Ahora pasaremos a un punto importante de la configuración, la cual permitirá que tengamos acceso a varios servicios dentro de la máquina virtual. En resumen se tratan de los mismos servicios para los que hemos abierto los puertos en <a title="Oracle 12c en OS X Mavericks | Configurando la máquina virtual" href="http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-configurando-la-maquina-virtual/#config-maq-virtual-red">secciones anteriores</a> de este tutorial.</p>
<p>Abrimos la configuración del Firewall yendo al menú:</p>
<p>System &gt; Administration &gt; Firewall</p>
<div id="attachment_2141" style="width: 405px" class="wp-caption aligncenter"><img class="size-full wp-image-2141" src="//tuxlink.com.mx/wp-content/uploads/2014/09/04-09.png" alt="OTN Developer Day" width="395" height="334" /><p class="wp-caption-text">Menú de acceso al Firewall</p></div>
<p>Nos pedirá autenticarnos.</p>
<p>Una vez en la interfaz vemos que contamos con un panel lateral en donde se configuran varios parámetros. Los que nos interesan para este tutorial serán &#8216;Trusted Services&#8217; y &#8216;Other ports&#8217;.</p>
<div id="attachment_2140" style="width: 766px" class="wp-caption aligncenter"><img class="size-full wp-image-2140" src="//tuxlink.com.mx/wp-content/uploads/2014/09/04-10.png" alt="OTN Developer Day" width="756" height="532" /><p class="wp-caption-text">Panel de las secciones para los parámetros</p></div>
<p>El primero nos servirá para configurar el acceso mediante SSH a la máquina virtual, así que en esta sección buscamos en la lista el servicio SSH y marcamos su casilla (si es que no está marcada).</p>
<div id="attachment_2139" style="width: 578px" class="wp-caption aligncenter"><img class="size-full wp-image-2139" src="//tuxlink.com.mx/wp-content/uploads/2014/09/04-11.png" alt="OTN Developer Day" width="568" height="297" /><p class="wp-caption-text">Habilitar el Servicio SSH si no se encuentra marcado</p></div>
<p>Por último solo nos queda configurar los puertos para acceso a la base de datos de oracle y para acceso al servicio APEX, estos servicios emplean el puerto <strong>1521 y el 8080</strong> respectivamente, así que vamos a la sección &#8216;<strong>Other ports</strong>&#8216; en el panel lateral, damos<strong> clic en Add</strong> y agregamos cada puerto, ya sea buscando en la lista que nos aparece con los puertos predefinidos o dando click en el check &#8216;User Defined&#8217; y escribiéndolo manualmente junto con la selección del protocolo TCP.</p>
<div id="attachment_2138" style="width: 325px" class="wp-caption aligncenter"><img class="size-full wp-image-2138" src="//tuxlink.com.mx/wp-content/uploads/2014/09/04-12.png" alt="OTN Developer Day ports" width="315" height="406" /><p class="wp-caption-text">Agregar un nuevo puerto de la lista</p></div>
<p>Al final nuestra lista debería de quedar como en la siguiente imagen.</p>
<div id="attachment_2137" style="width: 487px" class="wp-caption aligncenter"><img class="size-full wp-image-2137" src="//tuxlink.com.mx/wp-content/uploads/2014/09/04-13.png" alt="OTN Developer Day ports" width="477" height="297" /><p class="wp-caption-text">Lista final con los puertos habilitados.</p></div>
<p>Con esto ya tendríamos configurado el entorno y el acceso a los servicios para las últimas partes del tutorial, donde explicaré como conectarnos mediante SSH a la máquina virtual, así como la creación de un usuario en la BD.</p>
<p>Espero y les sea de utilidad.</p>
<p>Saludos.</p>
]]></content:encoded>
			<wfw:commentRss>http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configurando-de-linux-enterprise/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Instalar/Actualizar Guest Additions en VirtualBox desde la consola – CentOS</title>
		<link>http://tuxlink.com.mx/2014/09/11/instalar-actualizar-guest-additions-en-virtualbox-desde-la-consola-centos/</link>
		<comments>http://tuxlink.com.mx/2014/09/11/instalar-actualizar-guest-additions-en-virtualbox-desde-la-consola-centos/#comments</comments>
		<pubDate>Thu, 11 Sep 2014 06:56:40 +0000</pubDate>
		<dc:creator><![CDATA[Eduardo Gutiérrez Silva]]></dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Sistemas Opeativos]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[CentOS]]></category>

		<guid isPermaLink="false">http://tuxlink.com.mx/?p=2118</guid>
		<description><![CDATA[La verdad no se por qué sea así pero siempre dejo abandonado el Blog por demasiado tiempo. Sumándose a que mi servicio de Hosting es una reverenda porquería, aunque en parte es mi culpa por no haber venido con la <a class="more-link" href="http://tuxlink.com.mx/2014/09/11/instalar-actualizar-guest-additions-en-virtualbox-desde-la-consola-centos/">Seguir leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>La verdad no se por qué sea así pero siempre dejo abandonado el Blog por demasiado tiempo. Sumándose a que mi servicio de Hosting es una reverenda porquería, aunque en parte es mi culpa por no haber venido con la suficiente frecuencia por aquí.</p>
<p>En fin después de unos correos amenzadores y haber cambiado la configuración del DNS parece que todo está bien por ahora. Así que voy a pasar a escribir sobre lo que vinieron a leer, porque claro que vienen por el contenido y no por lo que le pase a uno por acá.</p>
<p>En resumen lo que haremos, será insertar el CD (virtual) de las Guest Additions que vienen con VirtualBox para posteriormente montarlo y ejecutar el instalador/actualizador de las mismas.</p>
<h2>La configuración de mi sistema</h2>
<p>Este tutorial toma como base una instalación mínima de CentOS, por lo que únicamente tengo acceso a la terminal y no un entorno gráfico, así que aquí lo único que verán serán comandos. Cualquier duda sean libres de dejarla en los comentarios.</p>
<h2>0. Ejecutar la máquina virtual invitada</h2>
<p><a href="http://tuxlink.com.mx/wp-content/uploads/2014/09/vbga-00.png"><img class="aligncenter size-full wp-image-2120" src="//tuxlink.com.mx/wp-content/uploads/2014/09/vbga-00.png" alt="vbga-00" width="170" height="46" /></a>Estos complementos se instalan en nuestro sistema virtualizado por lo que primero nos aseguramos de estar corriendo la misma.</p>
<h2>1. Insertar el disco de las Guest Additions</h2>
<p><a href="http://tuxlink.com.mx/wp-content/uploads/2014/09/Devices_y_Menubar.png"><img class="aligncenter size-full wp-image-2121" src="//tuxlink.com.mx/wp-content/uploads/2014/09/Devices_y_Menubar.png" alt="Devices_y_Menubar" width="336" height="245" /></a>Damos clic en el menú: &#8220;<strong>Devices &gt; Insert Guest Additions CD Image…</strong>&#8220;. Al no tener entorno gráfico yo no puedo ver nada, así que únicamente confío en que el sistema ya reconoció el CD. Más específicamente se lo debió haber asignado al dispositivo <strong>sr0</strong> dentro del directorio <strong>/dev</strong>. Estando al tanto de esto, pasamos a montarlo a un directorio en el que tengamos acceso.</p>
<h2>2. Creando el directorio de montaje</h2>
<p>El directorio de montaje será una carpeta en la que el sistema nos permitirá visualizar el contenido de nuestro CD como si fuera una extensión del sistema de ficheros que ya tenemos. En mi caso crearé la carpeta para el contenido del CD dentro del directorio <strong>/media</strong>. Ejecutamos en la terminal el siguiente comando:</p>
<pre><code>#Cambiar a root
sudo su
#Crear el directorio
mkdir VBoxGuestAdditions</code>
</pre>
<h2> 3. Montando el CD</h2>
<p>Para montar el CD de los complementos de VirtualBox ejecutamos el siguiente comando:</p>
<pre><code>mount /dev/sr0 /media/VBoxGuestAdditions</code>
</pre>
<p>La única advertencia que deberíamos recibir será la de que el disco se ha montado únicamente con permisos de lectura. Esto no es inconveniente pues sabemos que en los CDs únicamente se puede leer.</p>
<h2>4. Ejecutando el instalador</h2>
<p>Dentro de lo componentes que contiene el CD, se encuentra todo tipo de instaladores, sin embargo el único que nos interesa es la versión de Linux, la cual tiene el nombre &#8220;<strong>VBoxLinuxAdditions.run</strong>&#8220;, así que lo ejecutamos de la siguiente manera.</p>
<pre><code>./VBoxLinuxAdditions.run</code>
</pre>
<p>Fijarse bien que previo al nombre del archivo se tiene un &#8216;./&#8217; (punto, diagonal).</p>
<p>Las GuestAdditions comenzarán a instalarse o actualizarse reemplazando versiones previas.</p>
<h2>5. Desmontar las GuestAdditions</h2>
<p>Ya que termine la instalación podemos desmontar y expulsar el CD de la máquina virtual. Esto lo hacemos con el siguiente comando</p>
<pre><code>umount VBoxGuestAdditions</code></pre>
<p>Por último expulsamos el CD del sistema desde el menú: &#8220;<strong>Devices &gt; CD/DVD Devices &gt; Remove disk from virtual drive</strong>&#8221;</p>
<h2><a href="http://tuxlink.com.mx/wp-content/uploads/2014/09/Devices.png"><img class="aligncenter size-full wp-image-2122" src="//tuxlink.com.mx/wp-content/uploads/2014/09/Devices.png" alt="Devices" width="643" height="245" /></a> Notas importantes</h2>
<p>De momento no cuento con la lista de los paquetes necesarios para la compilación de estos complementos. Sin embargo, recuerdo que se requieren los headers del kernel, así como los build-essentials de toda distribución de Linux para poder compilar programas.</p>
<p>Buscando rápidamente por la Web me encontré con que estos requerimientos se pueden instalar con los siguientes comandos:</p>
<pre><code>yum groupinstall "Development Tools"
yum install kernel-devel</code></pre>
<p>Estos nos instalarán las herramientas necesarias para la compilación así como para los headers del kernel necesarios para los módulos que se generarán.</p>
<p>Para una mayor referencia visitar el siguiente enlace: <a href="http://wiki.centos.org/HowTos/Virtualization/VirtualBox/CentOSguest">CentOS as a Guest OS in VirtualBox</a></p>
<p>Espero les sea de utilidad.</p>
<p>Saludos.</p>
]]></content:encoded>
			<wfw:commentRss>http://tuxlink.com.mx/2014/09/11/instalar-actualizar-guest-additions-en-virtualbox-desde-la-consola-centos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle 12c en OS X Mavericks &#124; Configurando la máquina virtual</title>
		<link>http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-configurando-la-maquina-virtual/</link>
		<comments>http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-configurando-la-maquina-virtual/#comments</comments>
		<pubDate>Sat, 26 Jul 2014 09:03:45 +0000</pubDate>
		<dc:creator><![CDATA[Eduardo Gutiérrez Silva]]></dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Error/Solución]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Manuales]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[12c]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Redes]]></category>

		<guid isPermaLink="false">http://tuxlink.com.mx/?p=2072</guid>
		<description><![CDATA[Continuando con la serie de tutoriales sobre como ejecutar Oracle 12c en OS X, vamos a pasar a la configuración de la máquina virtual. En más detalle, ajustaremos los parámetros para un desempeño y como principal tarea asignaremos los puertos <a class="more-link" href="http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-configurando-la-maquina-virtual/">Seguir leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Continuando con la serie de tutoriales sobre como ejecutar Oracle 12c en OS X, vamos a pasar a la configuración de la máquina virtual. En más detalle, ajustaremos los parámetros para un desempeño y como principal tarea asignaremos los puertos que nos permitirán conectarnos de manera remota desde OS X a la base de datos.</p>
<p>Por si no han revisado la primera parte del tutorial o si les interesa alguna otra parte de la serie, a continuación el temario de la misma.</p>
<ol>
<li><a href="http://tuxlink.com.mx/2014/07/07/oracle-12c-en-mac-os-x-mavericks-introduccion/#introduccion">Introducción</a>
<ol>
<li><a href="http://tuxlink.com.mx/2014/07/07/oracle-12c-en-mac-os-x-mavericks-introduccion/#razones_le">¿Por qué usar la máquina virtual con Linux Enterprise?</a></li>
<li><a href="http://tuxlink.com.mx/2014/07/07/oracle-12c-en-mac-os-x-mavericks-introduccion/#anti_razones_le">¿Por qué no usar esta alternativa?</a></li>
<li><a href="http://tuxlink.com.mx/2014/07/07/oracle-12c-en-mac-os-x-mavericks-introduccion/#reqs_hardware">Requerimientos de Hardware</a></li>
<li><a href="http://tuxlink.com.mx/2014/07/07/oracle-12c-en-mac-os-x-mavericks-introduccion/#reqs_software">Software requerido</a></li>
</ol>
</li>
<li><a title="Oracle 12c en OS X Mavericks | Importando la máquina virtual" href="http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-importando-la-maquina-virtual/#importar-maq-virt">Importando la máquina virtual</a>
<ol>
<li><a title="Oracle 12c en OS X Mavericks | Importando la máquina virtual" href="http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-importando-la-maquina-virtual/#not-enough-ram">¿Qué hago si no tengo suficiente RAM?</a></li>
</ol>
</li>
<li><a href="#config-maq-virtual">Configurando la máquina virtual</a>
<ol>
<li><a href="#config-maq-virtual-params">Configuración de los parámetros de hardware</a></li>
<li><a href="#config-maq-virtual-red">Conexión NAT y reenvío de puertos</a></li>
</ol>
</li>
<li><a title="Oracle 12c en OS X Mavericks | Configurando de Linux Enterprise" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configurando-de-linux-enterprise/#config-linux-enterprise">Configuración de Linux Enterprise</a>
<ol>
<li><a title="Oracle 12c en OS X Mavericks | Configurando de Linux Enterprise" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configurando-de-linux-enterprise/#config-language">Configuración del lenguaje</a></li>
<li><a title="Oracle 12c en OS X Mavericks | Configurando de Linux Enterprise" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configurando-de-linux-enterprise/#config-keyboard">Configuración del teclado</a></li>
<li><a title="Oracle 12c en OS X Mavericks | Configurando de Linux Enterprise" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configurando-de-linux-enterprise/#config-netwotk-automatic">Conectar automáticamente a la red</a></li>
<li><a title="Oracle 12c en OS X Mavericks | Configurando de Linux Enterprise" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configurando-de-linux-enterprise/#config-firewall">Configurando el Firewall</a></li>
</ol>
</li>
<li><a title="Oracle 12c en OS X Mavericks | Configuración de Oracle 12c" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configuracion-de-oracle-12c/#configuracion-oracle-12c">Configuración de Oracle 12c</a>
<ol>
<li><a title="Oracle 12c en OS X Mavericks | Configuración de Oracle 12c" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configuracion-de-oracle-12c/#conexion-mediante-ssh">Conexión mediante SSH</a></li>
<li><a title="Oracle 12c en OS X Mavericks | Configuración de Oracle 12c" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configuracion-de-oracle-12c/#creando-usuario-bd">Creando un usuario en la Base de Datos</a></li>
</ol>
</li>
<li>Tutoriales relacionados
<ol>
<li>Como conectar netbeans en nuestro sistema Anfitrión a Oracle 12c en nuestra máquina virtual</li>
<li>Configurando APEX en nuestra máquina virtual</li>
</ol>
</li>
</ol>
<p><a name="config-maq-virtual"></a></p>
<h2>3. Configurando la máquina virtual</h2>
<p>La mínima cantidad de RAM necesaria se puede colocar en 1 GB aunque me parece que incluso con 512 MB puede ir bien. Oracle recomienda mínimo 1 GB. Si disponemos de más RAM en los siguientes apartados veremos como asignarle más memoria, si es que no lo hemos hecho antes ya y se han arrepentido.</p>
<p><a name="config-maq-virtual-params"></a></p>
<h3>A. Configuración de los parámetros de hardware</h3>
<p>Para modificar los parámetros vamos a VirtualBox, seleccionamos la máquina y damos clic en <em>Configuración</em>.</p>
<div id="attachment_2099" style="width: 811px" class="wp-caption aligncenter"><a href="http://tuxlink.com.mx/?attachment_id=2099"><img class="wp-image-2099 size-full" src="//tuxlink.com.mx/wp-content/uploads/2014/07/03-00-Config.png" alt="Confg MV" width="801" height="402" /></a><p class="wp-caption-text">Configuración de la máquina virtual</p></div>
<p>Esta configuración será bastante rápida. De RAM he colocado 2 GB y no me ha dado problemas, solo que <strong>la carga de programas es algo lenta</strong>, por lo que si es crucial para su trabajo que programas como SQLDeveloper se abran rápidamente o que la máquina virtual arranque lo más rápido posible, les recomiendo aumentar esta cantidad.</p>
<div id="attachment_2100" style="width: 838px" class="wp-caption aligncenter"><img class="size-full wp-image-2100" src="//tuxlink.com.mx/wp-content/uploads/2014/07/03-01-RAM.png" alt="Ajuste RAM" width="828" height="605" /><p class="wp-caption-text">Configuración de la memoria RAM</p></div>
<p>Dando clic en la pestaña <em>Procesador</em>, veremos que podemos ajustar el número de núcleos, por lo que si nuestro equipo es multi núcleo podemos asignar unos cuantos para el sistema invitado. Yo he preferido dejarla solo con 1 núcleo.</p>
<div id="attachment_2101" style="width: 838px" class="wp-caption aligncenter"><img class="size-full wp-image-2101" src="//tuxlink.com.mx/wp-content/uploads/2014/07/03-02-CPU.png" alt="Ajustes de CPU" width="828" height="605" /><p class="wp-caption-text">Ajustes de CPU</p></div>
<p>Ahora pasemos a la configuración de la red, la cual es una de las partes más importantes de todo el proceso que estamos siguiendo.</p>
<p><a name="config-maq-virtual-red"></a></p>
<h3>B. Conexión NAT y reenvío de puertos</h3>
<p>En esta sección daré una breve explicación de qué puertos ocuparemos para la conexión. Cada uno de los servicios que se están ejecutando en nuestra máquina virtual se exponen al exterior mediante la red, por lo que se les ha designado un puerto en el que estarán escuchando las peticiones de los clientes que deseen conectarse.</p>
<p>En la siguiente tabla resumo los puertos del Host que estaremos redireccionando a los servicios reales dentro de la máquina virtual.</p>
<table>
<thead>
<tr>
<th>Puerto Host</th>
<th>Puerto Guest</th>
<th>Servcio</th>
</tr>
</thead>
<tbody>
<tr>
<td>2222</td>
<td>22</td>
<td>SSH</td>
</tr>
<tr>
<td>8282</td>
<td>8282</td>
<td>Oracle</td>
</tr>
<tr>
<td>1521</td>
<td>1521</td>
<td>Oracle 12c DataBase</td>
</tr>
<tr>
<td>1158</td>
<td>1158</td>
<td>Oracle EM</td>
</tr>
<tr>
<td>8888</td>
<td>8888</td>
<td>Oracle APEX</td>
</tr>
</tbody>
</table>
<p>Esta asignación se puede realizar desde la interfaz gráfica de VirtualBox o mediante línea de comandos. Elegiremos esta última opción ya que es la más rápida y solo tendrán que copiar y pegar las líneas de código que pongo a continuación. Cabe destacar que lo único importante aquí es colocar el <strong>nombre de la máquina virtual</strong> de acuerdo a como aparece en VirtualBox.</p>
<div id="attachment_2103" style="width: 251px" class="wp-caption aligncenter"><img class="size-full wp-image-2103" src="//tuxlink.com.mx/wp-content/uploads/2014/07/03-03-Nombre-MV.png" alt="Nombre de la Máquina Virtual" width="241" height="47" /><p class="wp-caption-text">Ubicación del nombre de la máquina virtual</p></div>
<p>Ahora solo nos queda ejecutar los siguientes comandos dentro de una <strong>terminal de OS X</strong>, para acceder a ella vamos a</p>
<p style="text-align: center;">Aplicaciones &gt; Utilidades &gt; Terminal</p>
<pre><code>
VBoxManage modifyvm "OTN Developer Day VM_1" --natpf1 "ssh,tcp,,2222,,22"
VBoxManage modifyvm "OTN Developer Day VM_1" --natpf1 "oracle,tcp,,8282,,8282"
VBoxManage modifyvm "OTN Developer Day VM_1" --natpf1 "oracle 2,tcp,,1521,,1521"
VBoxManage modifyvm "OTN Developer Day VM_1" --natpf1 "oracle em,tcp,,1158,,1158"
VBoxManage modifyvm "OTN Developer Day VM_1" --natpf1 "APEX,tcp,,8888,,8888"
</code>
</pre>
<p>Hay que recordar que <strong>tal vez los puertos en la máquina virtual ya hayan cambiado </strong>para versiones posteriores a cuando elaboré este tutorial. El más común en cambiar puede ser el asignado al APEX ya que este es un puerto usado por Servidores de aplicaciones como Glassfish o Tomcat.</p>
<p>Si entramos a la <a href="#config-maq-virtual-params">configuración de la máquina virtual</a> podremos ver los puertos que se están reenviando, es decir, veremos reflejado el comando que hemos colocado anteriormente desde la interfaz de VirtualBox.</p>
<div id="attachment_2104" style="width: 838px" class="wp-caption aligncenter"><img class="size-full wp-image-2104" src="//tuxlink.com.mx/wp-content/uploads/2014/07/03-04-Red-normal.png" alt="Acceder al reenvío de puertos" width="828" height="584" /><p class="wp-caption-text">Procedimiento para mostrar el reenvío de puertos</p></div>
<ol>
<li>Clic en la pestaña de Red.</li>
<li>Seleccionar el primer adaptador.</li>
<li>Verificar que la red se encuentra habilitada y conectada mediante <strong>NAT</strong>.</li>
<li>Dar clic en la sección <em>Avanzadas</em></li>
</ol>
<p>Damos clic en <em>Reenvío de puertos</em>…</p>
<div id="attachment_2105" style="width: 838px" class="wp-caption aligncenter"><img class="size-full wp-image-2105" src="//tuxlink.com.mx/wp-content/uploads/2014/07/03-05-Red-Avanzada.png" alt="Acceder al reenvío de puertos" width="828" height="584" /><p class="wp-caption-text">Seleccionar Reenvío de puertos</p></div>
<p>Se nos muestra una ventana desplegable desde la cual veremos reflejados los cambios que hemos aplicado en la línea de comandos.</p>
<div id="attachment_2106" style="width: 664px" class="wp-caption aligncenter"><img class="size-full wp-image-2106" src="//tuxlink.com.mx/wp-content/uploads/2014/07/03-06-Verific-puertos.png" alt="Reenvío de puertos" width="654" height="344" /><p class="wp-caption-text">Puertos que se están reenviando</p></div>
<p>Con esto hemos concluido la configuración del Hardware y de la red de la máquina virtual.<br />
Para la <strong>siguiente entrega accederemos al sistema invitado</strong> y configuraremos el entorno para mayor comodidad, principalmente en el teclado. Tenemos una segunda parte de configuración de la red, pero ahora en cuanto al <strong>Firewall de Linux y hacer que este se conecte automáticamente al encender la máquina</strong>.</p>
<p>No olviden comentar cualquier duda o sugerencia. Todo comentario es bien recibido.</p>
<p>Espero que les sea de utilidad.</p>
<p>Saludos.</p>
]]></content:encoded>
			<wfw:commentRss>http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-configurando-la-maquina-virtual/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Oracle 12c en OS X Mavericks &#124; Importando la máquina virtual</title>
		<link>http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-importando-la-maquina-virtual/</link>
		<comments>http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-importando-la-maquina-virtual/#comments</comments>
		<pubDate>Sat, 26 Jul 2014 07:44:46 +0000</pubDate>
		<dc:creator><![CDATA[Eduardo Gutiérrez Silva]]></dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Manuales]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[12c]]></category>
		<category><![CDATA[Bases de Datos]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Oracle 12c]]></category>
		<category><![CDATA[OS X]]></category>

		<guid isPermaLink="false">http://tuxlink.com.mx/?p=2086</guid>
		<description><![CDATA[Continuemos con esta serie de tutoriales para poder instalar una máquina virtual que nos permita ejecutar Oracle 12c en nuestra Mac. Por si no han revisado la primera entrega del tutorial o si les interesa alguna otra parte de la <a class="more-link" href="http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-importando-la-maquina-virtual/">Seguir leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Continuemos con esta serie de tutoriales para poder instalar una máquina virtual que nos permita ejecutar <strong>Oracle 12c en nuestra Mac</strong>.</p>
<p>Por si no han revisado la primera entrega del tutorial o si les interesa alguna otra parte de la serie, a continuación el temario.</p>
<ol>
<li><a href="http://tuxlink.com.mx/2014/07/07/oracle-12c-en-mac-os-x-mavericks-introduccion/#introduccion">Introducción</a>
<ol>
<li><a href="http://tuxlink.com.mx/2014/07/07/oracle-12c-en-mac-os-x-mavericks-introduccion/#razones_le">¿Por qué usar la máquina virtual con Linux Enterprise?</a></li>
<li><a href="http://tuxlink.com.mx/2014/07/07/oracle-12c-en-mac-os-x-mavericks-introduccion/#anti_razones_le">¿Por qué no usar esta alternativa?</a></li>
<li><a href="http://tuxlink.com.mx/2014/07/07/oracle-12c-en-mac-os-x-mavericks-introduccion/#reqs_hardware">Requerimientos de Hardware</a></li>
<li><a href="http://tuxlink.com.mx/2014/07/07/oracle-12c-en-mac-os-x-mavericks-introduccion/#reqs_software">Software requerido</a></li>
</ol>
</li>
<li><a href="#importar-maq-virt">Importando la máquina virtual</a>
<ol>
<li><a href="#not-enough-ram">¿Qué hago si no tengo suficiente RAM?</a></li>
</ol>
</li>
<li><a title="Oracle 12c en OS X Mavericks | Configurando la máquina virtual" href="http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-configurando-la-maquina-virtual/">Configurando la máquina virtual</a>
<ol>
<li><a href="http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-configurando-la-maquina-virtual/#config-maq-virtual-params">Configuración de los parámetros de hardware</a></li>
<li><a href="http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-configurando-la-maquina-virtual/#config-maq-virtual-red">Conexión NAT y reenvío de puertos</a></li>
</ol>
</li>
<li><a title="Oracle 12c en OS X Mavericks | Configurando de Linux Enterprise" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configurando-de-linux-enterprise/#config-linux-enterprise">Configuración de Linux Enterprise</a>
<ol>
<li><a title="Oracle 12c en OS X Mavericks | Configurando de Linux Enterprise" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configurando-de-linux-enterprise/#config-language">Configuración del lenguaje</a></li>
<li><a title="Oracle 12c en OS X Mavericks | Configurando de Linux Enterprise" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configurando-de-linux-enterprise/#config-keyboard">Configuración del teclado</a></li>
<li><a title="Oracle 12c en OS X Mavericks | Configurando de Linux Enterprise" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configurando-de-linux-enterprise/#config-netwotk-automatic">Conectar automáticamente a la red</a></li>
<li><a title="Oracle 12c en OS X Mavericks | Configurando de Linux Enterprise" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configurando-de-linux-enterprise/#config-firewall">Configurando el Firewall</a></li>
</ol>
</li>
<li><a title="Oracle 12c en OS X Mavericks | Configuración de Oracle 12c" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configuracion-de-oracle-12c/#configuracion-oracle-12c">Configuración de Oracle 12c</a>
<ol>
<li><a title="Oracle 12c en OS X Mavericks | Configuración de Oracle 12c" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configuracion-de-oracle-12c/#conexion-mediante-ssh">Conexión mediante SSH</a></li>
<li><a title="Oracle 12c en OS X Mavericks | Configuración de Oracle 12c" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configuracion-de-oracle-12c/#creando-usuario-bd">Creando un usuario en la Base de Datos</a></li>
</ol>
</li>
<li>Tutoriales relacionados
<ol>
<li>Como conectar netbeans en nuestro sistema Anfitrión a Oracle 12c en nuestra máquina virtual</li>
<li>Configurando APEX en nuestra máquina virtual</li>
</ol>
</li>
</ol>
<p><a name="importar-maq-virt"></a></p>
<h2>2. Importando la máquina virtual</h2>
<p>Esta parte del tutorial no será tan complicada y en realidad lo único que requerirá será algo de tiempo, ya que dependiendo de los recursos de nuestro equipo, será cuanto deberemos esperar para poder ejecutar la máquina y poder continuar con las secciones siguientes.</p>
<p><img class="aligncenter wp-image-2087 size-full" src="//tuxlink.com.mx/wp-content/uploads/2014/07/02-00-icono-máquina.png" alt="OTN Developer Day" width="125" height="114" /></p>
<p>Ya debemos tener descargado nuestro servicio virtualizado, así que ahora nos dirigimos a VirtualBox. Damos <strong>clic en el menú</strong>:</p>
<div id="attachment_2088" style="width: 335px" class="wp-caption aligncenter"><img class="size-full wp-image-2088" src="//tuxlink.com.mx/wp-content/uploads/2014/07/02-01-importar-serv-virt.png" alt="Opción del menú" width="325" height="88" /><p class="wp-caption-text">Archivo &gt; Importar servicio virtualizado…</p></div>
<p>Aquí se nos presenta una ventana emergente donde <strong>seleccionaremos el archivo que hemos descargado</strong>.</p>
<div id="attachment_2089" style="width: 742px" class="wp-caption aligncenter"><img class="wp-image-2089 size-full" src="//tuxlink.com.mx/wp-content/uploads/2014/07/02-02-Seleccionar-archivo.png" alt="Seleccionar Fichero" width="732" height="457" /><p class="wp-caption-text">Seleccionar fichero</p></div>
<p>Continuamos dando <strong>clic en siguiente</strong>…</p>
<div id="attachment_2091" style="width: 742px" class="wp-caption aligncenter"><img class="size-full wp-image-2091" src="//tuxlink.com.mx/wp-content/uploads/2014/07/02-03-editar-ram.png" alt="Configurar RAM" width="732" height="457" /><p class="wp-caption-text">Configurar RAM de la máquina virtual</p></div>
<p>Ahora observamos los parámetros con los que ya viene predefinida la máquina, desde esta misma pantalla podemos cambiar la cantidad de memoria RAM que se tiene asignada. <strong>1GB será suficiente</strong>, pero después de casi 2 semanas de probar el desarrollo con la máquina virtual, <strong>me parece que va algo lento</strong> para iniciar y abrir los programas. No se que tanto haya colocado oracle en la máquina que se siente algo lenta.<br />
<a name="not-enough-ram"></a></p>
<h3>¿Qué hago si no tengo suficiente RAM?</h3>
<p>Esto sin duda es un problema, ya que además de la MV, deberemos correr algún IDE en el sistema anfitrión, navegador y demás programas habituales.</p>
<p>Una solución para esto sería recurrir a <strong>guardar el estado de la máquina virtual</strong> cada vez que queramos dejar de utilizarla, <strong>esto acelerará el proceso de arrancarla la próxima vez</strong>, ya que prácticamente la máquina entra en un estado de hibernación y restaurará su estado al encenderla.</p>
<p>La desventaja de esto es que <strong>consume espacio en nuestro disco duro</strong>, aproximadamente 2 GB de espacio, fuera de esto, el desempeño es bueno solo que recomendaría que en un escenario como este se ejecuten utilidades secundarias como JDeveloper o SQLDeveloper desde el lado del cliente (Mac OS X).</p>
<p>Continuando con la instalación ajustaremos la RAM de ser necesario, y finalizamos dando clic en <strong>Importar</strong>.</p>
<p>Ahora solo nos queda esperar a que finalice.</p>
<p>En la siguiente parte del tutorial veremos como <strong>configurar el Hardware</strong> si es que no lo han editado en esta pantalla y como parte principal de la tercera entrega, veremos como <strong>configurar la red</strong>, la cual es una clave importante para conectarnos correctamente con la base de Oracle desde el sistema anfitrión.</p>
<p>Saludos</p>
]]></content:encoded>
			<wfw:commentRss>http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-importando-la-maquina-virtual/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Como actualizar un repositorio SVN de manera recursiva</title>
		<link>http://tuxlink.com.mx/2014/07/15/como-actualizar-un-repositorio-svn-de-manera-recursiva/</link>
		<comments>http://tuxlink.com.mx/2014/07/15/como-actualizar-un-repositorio-svn-de-manera-recursiva/#comments</comments>
		<pubDate>Wed, 16 Jul 2014 04:36:08 +0000</pubDate>
		<dc:creator><![CDATA[Eduardo Gutiérrez Silva]]></dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Error/Solución]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[Tutoriales]]></category>

		<guid isPermaLink="false">http://tuxlink.com.mx/?p=2077</guid>
		<description><![CDATA[Justo hoy me topé con éste problema. Si no quieren leer todo este post, los dejo con un pequeño índice: svn upgrade Error: svn: wirking copy too old Solución He venido probando varios clientes de SVN para Mac OS X, <a class="more-link" href="http://tuxlink.com.mx/2014/07/15/como-actualizar-un-repositorio-svn-de-manera-recursiva/">Seguir leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Justo hoy me topé con éste problema. Si no quieren leer todo este post, los dejo con un <a href="http://tuxlink.com.mx/wp-content/uploads/2014/07/upgrade-svn-letters.png"><img class="size-full wp-image-2082 alignright" src="//tuxlink.com.mx/wp-content/uploads/2014/07/upgrade-svn-letters.png" alt="upgrade-svn-letters" width="96" height="96" /></a>pequeño índice:</p>
<ul>
<li><a href="#svn-upgrade">svn upgrade</a>
<ul>
<li><a href="#error">Error: svn: wirking copy too old</a></li>
<li><a href="#solucion">Solución</a></li>
</ul>
</li>
</ul>
<p>He venido probando varios clientes de SVN para Mac OS X, entre los que se encuentran:</p>
<ol>
<li>Cornerstone – Cliente nativo</li>
<li>Subclipse – Plugin para el IDE Eclipse (Java)</li>
<li>Versions – Cliente nativo</li>
<li>svnX – Cliente nativo</li>
<li>Netbeans como cliente – Java</li>
</ol>
<p>Los he colocado en una especie de rating del mejor al que más problemas me ha ocasionado. La verdad es que no le he dedicado mucho tiempo a configurarlos y probarlos ampliamente, pues en estos momentos solo me interesa algo que que pueda ocupar sin mucho tiempo de configuración, además de que SVN no es mi sistema de control de versiones por elección.</p>
<p>Todo funcionaba bien con Cornerstone, me parece que es un cliente que está hecho para cumplir las cosas y hacerlas sin demasiados dolores de cabeza.</p>
<p>No he colocado svnX como última opción porque el día de hoy me dejó realizar mi trabajo después de haberlo estropeado todo. svnX me pidió actualizar el formato de los archivos de SVN en mi copia de trabajo, en realidad esto me lo indicó el cliente de netbeans también, pero no le hice mucho caso ya que estaba ocupando cornerstone para gestionar mi copia de trabajo.</p>
<p>Finalmente los 14 días de prueba de cornerstone terminaron y tuve que buscarme otro cliente, lo peor de todo es que estaba en horas de trabajo y debía realizar un commit de mis últimos cambios para que pudieran ser revisados.</p>
<p>Aquí fue donde me dí cuenta que el update que había hecho, había realizado una especie de &#8220;corrupción&#8221; a los archivos propios de SVN, es decir, todas las carpetas .svn se habían actualizado a un formato que parecía no entender mi cliente de SVN, fue así que me puse a buscar un poco para poder resolverlo mediante línea e comandos.<br />
<a name="svn-upgrade"></a></p>
<h2>SVN upgrade</h2>
<p>Tanto el cliente de netbeans como svnX mostraban un mensaje indicando que debía hacer &#8216;svn upgrade&#8217;, así que decidí buscar más para ver como actualizar mis archivos.</p>
<p>Primero me busqué mi versión de svn, así que ejecuté:</p>
<pre><code>[Lalo@LaloBook:~]$ svn --version
svn, version 1.8.5 (r1542147)
   compiled Mar 16 2014, 21:47:23 on x86_64-apple-darwin13.1.0</code>
</pre>
<p>Lo que me indicó que tenía la versión 1.8.5, y mis archivos debían ser actualizados para ser soportados por versiones 1.7+, pero svnX simplemente no hacía el upgrade de manera automática, así que tuve que hacerlo a mano.<br />
<a name="error"></a></p>
<h3>Error: svn: Working copy too old</h3>
<p>El error que mostraban la mayoría de aplicaciones era:</p>
<blockquote>
<p class="post-title">svn : Working copy is too old</p>
</blockquote>
<p>Lo primero que intenté fue un:</p>
<pre><code>svn upgrade --depth infinity</code></pre>
<p>Lo cual falló miserablemente porque svn upgrade no permite el parámetro depth, así que<br />
<a name="solucion"></a></p>
<h3>Solución</h3>
<p>Me coloqué sobre la carpeta raíz del proyecto (mi copia de trabajo) y ejecuté desde mi terminal lo siguiente:</p>
<pre><code>for d in `find . -name .svn -type d`; 
do svn upgrade $d/..; 
done</code></pre>
<p>En resumen, lo que este pequeño script hace, es buscar todas las entradas con el nombre .svn que sean de tipo directorio (d), para posteriormente aplicarles un svn upgrade a cada uno de esos directorios .svn.</p>
<p>Una vez hecho el upgrade, me marcaba muchos archivos como no versionados, por lo que la solución final fue hacer un checkout de nuevo, pero no fue tanto trabajo como creí, así.</p>
<p>Esto solo lo dejo aquí por si a alguien le fuese de ayuda.</p>
<p>Saludos.</p>
<p>Fuente |<a class="account-group js-account-group js-action-profile js-user-profile-link js-nav" title="Recursively upgrade SVN repositories after updating to SVN 1.7" href="https://twitter.com/weimerskirch/status/221878848768323584" target="_blank" data-user-id="31972914"><strong class="fullname js-action-profile-name show-popup-with-id">Michel Weimerskirch</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://tuxlink.com.mx/2014/07/15/como-actualizar-un-repositorio-svn-de-manera-recursiva/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle 12c en Mac OS X Mavericks &#124; Introducción</title>
		<link>http://tuxlink.com.mx/2014/07/07/oracle-12c-en-mac-os-x-mavericks-introduccion/</link>
		<comments>http://tuxlink.com.mx/2014/07/07/oracle-12c-en-mac-os-x-mavericks-introduccion/#comments</comments>
		<pubDate>Mon, 07 Jul 2014 06:59:16 +0000</pubDate>
		<dc:creator><![CDATA[Eduardo Gutiérrez Silva]]></dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[12c]]></category>
		<category><![CDATA[Linux Enterprise]]></category>
		<category><![CDATA[VirtualBox]]></category>
		<category><![CDATA[VM]]></category>

		<guid isPermaLink="false">http://tuxlink.com.mx/?p=2058</guid>
		<description><![CDATA[En esta serie de post estaré explicando como he logrado ejecutar y poder conectarme a la base de datos de Oracle 12c ejecutandose en una máquina virtual con Linux Enterprise, con OS X como sistema anfitrión. Introducción ¿Por qué usar <a class="more-link" href="http://tuxlink.com.mx/2014/07/07/oracle-12c-en-mac-os-x-mavericks-introduccion/">Seguir leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>En esta serie de post estaré explicando como he logrado ejecutar y poder conectarme a la base de datos de Oracle 12c ejecutandose en una máquina virtual con Linux Enterprise, con OS X como sistema anfitrión.</p>
<ol>
<li><a href="#introduccion">Introducción</a>
<ol>
<li><a href="#razones_le">¿Por qué usar la máquina virtual con Linux Enterprise?</a></li>
<li><a href="#anti_razones_le">¿Por qué no usar esta alternativa?</a></li>
<li><a href="#reqs_hardware">Requerimientos de Hardware</a></li>
<li><a href="#reqs_software">Software requerido</a></li>
</ol>
</li>
<li><a title="Oracle 12c en OS X Mavericks | Importando la máquina virtual" href="http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-importando-la-maquina-virtual/#importar-maq-virt">Importando la máquina virtual</a>
<ol>
<li><a title="Oracle 12c en OS X Mavericks | Importando la máquina virtual" href="http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-importando-la-maquina-virtual/#not-enough-ram">¿Qué hago si no tengo suficiente RAM?</a></li>
</ol>
</li>
<li><a title="Oracle 12c en OS X Mavericks | Configurando la máquina virtual" href="http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-configurando-la-maquina-virtual/">Configurando la máquina virtual</a>
<ol>
<li><a title="Oracle 12c en OS X Mavericks | Configurando la máquina virtual" href="http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-configurando-la-maquina-virtual/#config-maq-virtual-params">Configuración de los parámetros de hardware</a></li>
<li><a title="Oracle 12c en OS X Mavericks | Configurando la máquina virtual" href="http://tuxlink.com.mx/2014/07/26/oracle-12c-en-os-x-mavericks-configurando-la-maquina-virtual/#config-maq-virtual-red">Conexión NAT y reenvío de puertos</a></li>
</ol>
</li>
<li><a title="Oracle 12c en OS X Mavericks | Configurando de Linux Enterprise" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configurando-de-linux-enterprise/#config-linux-enterprise">Configuración de Linux Enterprise</a>
<ol>
<li><a title="Oracle 12c en OS X Mavericks | Configurando de Linux Enterprise" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configurando-de-linux-enterprise/#config-language">Configuración del lenguaje</a></li>
<li><a title="Oracle 12c en OS X Mavericks | Configurando de Linux Enterprise" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configurando-de-linux-enterprise/#config-keyboard">Configuración del teclado</a></li>
<li><a title="Oracle 12c en OS X Mavericks | Configurando de Linux Enterprise" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configurando-de-linux-enterprise/#config-netwotk-automatic">Conectar automáticamente a la red</a></li>
<li><a title="Oracle 12c en OS X Mavericks | Configurando de Linux Enterprise" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configurando-de-linux-enterprise/#config-firewall">Configurando el Firewall</a></li>
</ol>
</li>
<li><a title="Oracle 12c en OS X Mavericks | Configuración de Oracle 12c" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configuracion-de-oracle-12c/#configuracion-oracle-12c">Configuración de Oracle 12c</a>
<ol>
<li><a title="Oracle 12c en OS X Mavericks | Configuración de Oracle 12c" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configuracion-de-oracle-12c/#conexion-mediante-ssh">Conexión mediante SSH</a></li>
<li><a title="Oracle 12c en OS X Mavericks | Configuración de Oracle 12c" href="http://tuxlink.com.mx/2014/09/16/oracle-12c-en-os-x-mavericks-configuracion-de-oracle-12c/#creando-usuario-bd">Creando un usuario en la Base de Datos</a></li>
</ol>
</li>
<li>Tutoriales relacionados
<ol>
<li>Como conectar netbeans en nuestro sistema Anfitrión a Oracle 12c en nuestra máquina virtual</li>
<li>Configurando APEX en nuestra máquina virtual</li>
</ol>
</li>
</ol>
<p><a name="introduccion"></a></p>
<h2>Introducción</h2>
<p>He estado usando la base de datos de Oracle en lo últimos once meses aproximadamente, sólo que lo he estado realizando desde máquinas virtuales con Windows como su sistema principal, solo que para mi actual proyecto se me ha dado la opción de poder emplear las herramienta que ocuparé en el sistema con el que me sienta más cómodo. Así que como me siento más cómodo empleando OS X, he decidido instalar el software que necesito en su versión para Mac. No tuve problemas en obtener las alternativas hasta llegar a la base de datos de Oracle, para la cuál la última versión disponible fue la 10g, sin embargo no me ha servido de mucho saber esto ya que la descarga de esta versión ya no se encuentra disponible en la pagina de Oracle. La principal solución que tenía, era continuar empleando máquinas virtuales con Windows para mi trabajo, sin embargo esto no me convencía del todo, ya que las máquinas virtuales son perfectas para comer los GB del disco duero y la RAM del sistema. Como segunda alternativa, me encontré una descripción de como <a href="http://jaehoo.wordpress.com/2012/08/19/install-oracle-11g-enterprise-r2-in-mac-os-x-10-8-vm/">instalar oracle 11g en Mac OS X</a>, sin embargo, no me convencía de nuevo ya que se trataba de emplear una máquina virtual. A continuación les explico por qué esta ha sido la solución que he decidido emplear. <a name="razones_le"></a></p>
<h2>¿Por qué usar la máquina virtual con Linux Enterprise?</h2>
<p>Lo resumiré en los siguientes puntos:</p>
<ul>
<li>Si no ocupo la máquina virtual de LE, la primera solución es ocupar una MV con Windows.</li>
<li>La máquina virtual de Windows requiere de mínimo 5GB de RAM, más su respectivo uso de disco duro que puede sobre pasar los 50GB.</li>
<li>La máquina virtual de Linux únicamente requiere 2 GB e RAM y 20 GB de espacio en disco. Esto último puede variar dependiendo de los tablespaces que asignemos a los proyectos que vamos a crear, como máximo ocupará 32GB.</li>
<li>Puedo trabajar con las versiones de las herramientas para OS X (Netbeans y los browsers que ocupo a diario).</li>
<li>Conocer un poco más sobre Linux Enterprise, que nunca había ocupado.</li>
</ul>
<p>Sumando a estos puntos, el hecho de que siempre me ha gustado hacer las cosas en red, aunque sea una ficticia y dentro de mi mismo equipo, además de configurar algo que nunca había configurado antes. Una vez dadas mis razones, probablemente ustedes tengan las suyas, vamos a pasar a los requerimientos y la configuración respectiva del software. <a name="anti_razones_le"></a></p>
<h2>¿Por qué no usar esta alternativa?</h2>
<p>Ahora vienen mis razones de por qué esta solución no es para ti. La principal sería, si no tienes tiempo, no lo realices. Tendrás que descargar una imagen de una máquina virtual que pesa aproximadamente 6GB, por lo que esta no es una solución rápida si lo que te interesa es la velocidad. Si cuentas con una conexión de Internet de primer mundo, entonces adelante. Las configuraciones aquí descritas funcionan al día de hoy, 7 de julio de 2014, pero si ya ha pasado algo de tiempo desde que estás consultando este post (¿Nos visitas desde 2024?), probablemente ya haya una forma mejor y el software aquí empleado ya no está disponible. Una vez sabiendo esto, pasemos a los requerimientos. <a name="reqs_hardware"></a></p>
<h2>Requerimientos de Hardware</h2>
<p>Para definir estos requerimientos solo basta con conocer el uso en la memoria RAM de los programas que estaré ejecutando, estos los presento en la siguiente tabla para que sea más cómoda su visualización.</p>
<table>
<thead>
<tr>
<td>Programa</td>
<td>RAM mínima</td>
<td>RAM recomendada</td>
</tr>
</thead>
<tbody>
<tr>
<td> Netbeans IDE</td>
<td> 460 MB</td>
<td>800 MB</td>
</tr>
<tr>
<td> MV Oracle Developer Day</td>
<td> 1 GB</td>
<td> 2 GB</td>
</tr>
<tr>
<td> Navegador Firefox</td>
<td> 300 MB</td>
<td> 1 GB</td>
</tr>
<tr>
<td>Sistema operativo</td>
<td>2 GB</td>
<td>4 GB</td>
</tr>
</tbody>
<tfoot>
<tr>
<td> Total</td>
<td> 4 GB</td>
<td> 8 GB</td>
</tr>
</tfoot>
</table>
<p>Estos serían los programas principales a usar y haciendo una rápida suma de las cantidades de RAM que he podido monitorear durante su uso tenemos que el mínimo recomendado, es decir, la cantidad de RAM con la que practicamente se pueden correr las aplicaciones pero sufriendo a más no poder por la lentitud de los mismos, son 4GB de RAM, por otro lado si cuentas con un equipo de 6 GB en adelante me parece que no tendrás mayores problemas, aunque el recomendado oficial es de 8 GB (oficial por el autor de este blog). Si cuentas con el mínimo requerido puedes continuar con este post, aunque quedas advertido de que los resultados no serán los mejores y como posible alternativa sería realizar una instalación de Windows o un Linux en tu Mac, ya que para estas plataformas si se cuenta con una versión disponible tanto de Oracle 11g como 12c. <a name="reqs_software"></a></p>
<h2>Software requerido</h2>
<p>Para este tutorial estaremos usando:</p>
<ul>
<li>OS X en su versión 10.9.3</li>
<li>VirtualBox 4.3.12</li>
<li>OTN_Developer_Day_VM.ova</li>
<li>Oracle 12.1.0.1.0 (incluida en la máquina virtual).</li>
</ul>
<p>Los pasos pueden funcionar para cualquier otra versión de OS X en la que se puede ejecutar Virtualbox. Antes de pasar a la configuración, pasen a descargar la imagen de 6GB desde la web de oracle, les pedirá que tengan una cuenta, así que solo se registran y con eso bastará. A mi me ha tomado unas 3 horas aproximadamente con una conexión de 6 Mbps, además deV VirtualBox si es que no cuentan con él.</p>
<ul>
<li><a title="OTN_Developer_Day_VM.ova " href="http://www.oracle.com/technetwork/database/enterprise-edition/databaseappdev-vm-161299.html" target="_blank">OTN_Developer_Day_VM.ova</a></li>
<li><a href="https://www.virtualbox.org/wiki/Downloads" target="_blank">VirtualBox</a> (también de Oracle).</li>
</ul>
<p>Este es el final de la primera entrega, así que de momento descarguen la imagen de la máquina virtual que dependiendo de su conexión puede que tarde un tiempo como fue en mi caso. En la siguiente entrega hablaré sobre como importar la máquina virtual, la configuración de su hardware así como del reenvío de puertos para conectarnos desde OS X. Saludos.</p>
]]></content:encoded>
			<wfw:commentRss>http://tuxlink.com.mx/2014/07/07/oracle-12c-en-mac-os-x-mavericks-introduccion/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Pon a trabajar la internet por ti con IFTTT.</title>
		<link>http://tuxlink.com.mx/2014/06/11/pon-a-trabajar-la-internet-por-ti-con-ifttt/</link>
		<comments>http://tuxlink.com.mx/2014/06/11/pon-a-trabajar-la-internet-por-ti-con-ifttt/#comments</comments>
		<pubDate>Wed, 11 Jun 2014 22:19:31 +0000</pubDate>
		<dc:creator><![CDATA[Eduardo Gutiérrez Silva]]></dc:creator>
				<category><![CDATA[Aplicaciones]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[iOS]]></category>

		<guid isPermaLink="false">http://tuxlink.com.mx/?p=2040</guid>
		<description><![CDATA[Buscando una aplicación para ordenar automáticamente mis cuentas,fotos,contactos y calendario, me encontré con esta interesante aplicación llamada IFTTT, esta aplicación te permite ordenar, recordar y poner a trabajar tus aplicaciones por ti para que todo en tu gmail, dropbox, calendario, <a class="more-link" href="http://tuxlink.com.mx/2014/06/11/pon-a-trabajar-la-internet-por-ti-con-ifttt/">Seguir leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p style="text-align: left;"><span style="font: 13.0px Arial;">Buscando una aplicación para ordenar automáticamente mis cuentas,fotos,contactos y calendario, me encontré con esta interesante aplicación llamada IFTTT, esta aplicación te permite ordenar, recordar y poner a trabajar tus aplicaciones por ti para que todo en tu gmail, dropbox, calendario, contactos , etc… se mantenga en orden, así que cuando empece a utilizarla superaba mis expectativas, ya que no solo me ordena mis cosas sino que me podía mantener alerta de cualquier nuevo articulo que se escribía en mi feedly, recordarme de las cosas que tengo en mi calendario enviando un sms a mi celular, recordarme si llovería mañana con una notificación y muchas más comodidades que le  he encontrado a esta aplicación.</span></p>
<p><span style="font: 13.0px Arial;">Esta aplicación se basa en recetas que tu mismo puedes crear, pero puede al principio no tengas ninguna idea de lo que puedes hacer con esta fantástica aplicación, así que si no tienes una idea de que es lo que puedes hacer con esta app,pues tienes la opción de descargar algunas de las recetas que vienen de ejemplo y que son muy útiles al principio, pero después te empiezas a dar una idea de las recetas que puedes programar para poner a trabajar esta app por ti y simplificar tu vida, al ahorrar el tiempo que  esta aplicación te brinda al ordenar todo por ti.</span></p>
<h2 style="text-align: left;"><strong><span style="font-family: Arial; font-style: normal; font-variant: normal; font-size: 13px; line-height: normal; font-size-adjust: none; font-stretch: normal; -moz-font-feature-settings: normal; -moz-font-language-override: normal;">Receta </span></strong><br />
<span style="font: 13.0px Arial;">Cuando creas una nueva receta es importante tener en cuenta de que se compone una receta de IFTTT.</span></h2>
<h1 style="text-align: left;"><strong><a href="http://tuxlink.com.mx/wp-content/uploads/2014/06/Captura-de-pantalla-2014-06-10-a-las-22.16.02.png"><img class="size-medium wp-image-2042 aligncenter" src="//tuxlink.com.mx/wp-content/uploads/2014/06/Captura-de-pantalla-2014-06-10-a-las-22.16.02-300x81.png" alt="IFTTT" width="300" height="81" /></a></strong></h1>
<h2><span style="font: 13.0px Arial;"><b>Canales. </b></span></h2>
<p><span style="font: 13.0px Arial;">Los canales son los elementos más importantes de IFTTT.Cada canal tiene su propio disparador y acciones, IFTTT tiene 109 canales que puedes utilizar, entre ellos están facebook,Twitter,Instagram,Email,Weather,Phone Call,sms,Google calendar, etc…</span></p>
<h2><span style="font: 13.0px Arial;"><b>Disparadores.</b></span></h2>
<p><span style="font: 13.0px Arial;">La parte del THIS de la receta se refiere a la acción que se hace, como por ejemplo: &#8220;Estoy etiquetado en una foto de Facebook&#8221;, &#8220;Estoy cerca de una zona&#8221;,&#8221;Hay un nuevo post&#8221;,etc..</span></p>
<h2><span style="font: 13.0px Arial;"><b>Acciones.</b></span></h2>
<p><span style="font: 13.0px Arial;">La parte del THAT de la receta es una acción que se va a realizar si se cumple el disparador de la receta, algunos ejemplos son: &#8220;mándame un mensaje&#8221;,&#8221;llámame a mi celular&#8221;,&#8221;notifícame&#8221;,etc..</span></p>
<h2><span style="font: 13.0px Arial;"><b>Ingredientes.</b></span></h2>
<p><span style="font: 13.0px Arial;">Las piezas de datos de un disparador se llaman ingredientes.Por ejemplo, los ingredientes de un disparador de correo electrónico pueden ser: asunto, el cuerpo,fecha de recepción y la dirección del remitente.</span></p>
<h2><span style="font: 13.0px Arial;"><b>Creando una receta.</b></span></h2>
<p><span style="font: 13.0px Arial;">1. Una vez instalada IFTTT lo primero que debes de hacer es crear tus recetas,oprimiendo el botón que esta en la parte superior derecha.</span></p>
<p style="text-align: left;"><a href="http://tuxlink.com.mx/wp-content/uploads/2014/06/IFTTT1.png"><img class="size-medium wp-image-2043 aligncenter" src="//tuxlink.com.mx/wp-content/uploads/2014/06/IFTTT1-300x152.png" alt="IFTTT1" width="300" height="152" /></a></p>
<p style="text-align: left;"><span style="font: 13.0px Arial;">2. Una vez que te aparezca la siguiente ventana podrás crear tu receta o podrás buscar recetas que ya están hechas y que te pueden dar un ejemplo de como hacer una receta propia.</span></p>
<p style="text-align: left;"><a href="http://tuxlink.com.mx/wp-content/uploads/2014/06/IFTTT2.png"><img class="size-medium wp-image-2044 aligncenter" src="//tuxlink.com.mx/wp-content/uploads/2014/06/IFTTT2-184x300.png" alt="IFTTT2" width="184" height="300" /></a></p>
<p style="text-align: left;"><span style="font: 13.0px Arial;">3. Cuando crearemos una receta personal nos aparecerá la siguiente pantalla.</span></p>
<p style="text-align: left;"><a href="http://tuxlink.com.mx/wp-content/uploads/2014/06/IFTTT3.png"><img class="size-full wp-image-2045 aligncenter" src="//tuxlink.com.mx/wp-content/uploads/2014/06/IFTTT3.png" alt="IFTTT3" width="289" height="188" /></a></p>
<p style="text-align: left;"><span style="font: 13.0px Arial;">4. Empecemos seleccionando el disparador, en la parte superior seleccionaremos el canal que vamos a usar.</span></p>
<p style="text-align: left;"><img class="size-medium wp-image-2048 aligncenter" src="//tuxlink.com.mx/wp-content/uploads/2014/06/IFTTT5-194x300.png" alt="IFTTT5" width="194" height="300" /></p>
<p style="text-align: left;"><span style="font: 13.0px Arial;">5. Tenemos que personalizar el canal a lo que llamaríamos el ingrediente de la receta.</span></p>
<p style="text-align: left;"><a href="http://tuxlink.com.mx/wp-content/uploads/2014/06/IFTTT61.png"><img class="size-medium wp-image-2049 aligncenter" src="//tuxlink.com.mx/wp-content/uploads/2014/06/IFTTT61-300x141.png" alt="IFTTT6" width="300" height="141" /></a></p>
<p style="text-align: left;"><span style="font: 13.0px Arial;">6. Bien. Ya tenemos el disparador ahora seleccionaremos la acción que va a corresponder si se cumple el disparador.</span></p>
<p style="text-align: left;"><a href="http://tuxlink.com.mx/wp-content/uploads/2014/06/IFTTT7.png"><img class="size-full wp-image-2050 aligncenter" src="//tuxlink.com.mx/wp-content/uploads/2014/06/IFTTT7.png" alt="IFTTT7" width="291" height="190" /></a></p>
<p style="text-align: left;"><span style="font: 13.0px Arial;">7. Seleccionando el canal y la acción.</span></p>
<p style="text-align: left;"><a href="http://tuxlink.com.mx/wp-content/uploads/2014/06/IFTTT8.png"><img class="size-medium wp-image-2051 aligncenter" src="//tuxlink.com.mx/wp-content/uploads/2014/06/IFTTT8-199x300.png" alt="IFTTT8" width="199" height="300" /></a></p>
<p style="text-align: left;"><span style="font: 13.0px Arial;">8. Un punto importante de los canales es que los debes de activar si no los haz utilizado el cual te pedirá datos personales.</span></p>
<p style="text-align: left;"><a href="http://tuxlink.com.mx/wp-content/uploads/2014/06/IFTTT9.png"><img class="size-full wp-image-2052 aligncenter" src="//tuxlink.com.mx/wp-content/uploads/2014/06/IFTTT9.png" alt="IFTTT9" width="276" height="172" /></a></p>
<p style="text-align: left;"><span style="font: 13.0px Arial;">9. Hemos terminado la receta y la sentencia final te lo mostrar como lo configuramos.</span></p>
<p style="text-align: left;"><a href="http://tuxlink.com.mx/wp-content/uploads/2014/06/IFTTT10.png"><img class="size-full wp-image-2053 aligncenter" src="//tuxlink.com.mx/wp-content/uploads/2014/06/IFTTT10.png" alt="IFTTT10" width="245" height="299" /></a></p>
<h2 style="text-align: left;"><span style="font: 13.0px Arial;"><b>Compatibilidad de la aplicación </b></span></h2>
<p><span style="font: 13.0px Arial;">La aplicación es compatible para los sistemas operativos </span><span style="font: 13.0px Arial; color: #053bee;"><span style="text-decoration: underline;">iOS</span></span><span style="font: 13.0px Arial;"> y </span><span style="font: 13.0px Arial; color: #053bee;"><span style="text-decoration: underline;">Android</span></span><span style="font: 13.0px Arial;">.</span><br />
<span style="font: 13.0px Arial;">Descarga la aplicación dando clic en los enlaces anteriores.</span></p>
<h2><span style="font: 13.0px Arial;"><b>Opinando al respecto.</b></span></h2>
<p><span style="font: 13.0px Arial;">La aplicación es muy buena, sin embargo el canal Phone call solo puede registrar números de EE.UU, en cuanto quise usar este canal me pedía que tuviera el formato de un número de EE.UU, así que para los que no viven en EE.UU no puedes usar este canal.Pero bueno no te preocupes porque esta el canal del SMS y este si te permite registrar tu número aunque no sea de EE.UU, lo único que debes de hacer es registrar tu número con la clave de tu localidad y listo !!!.</span></p>
<p><span style="font: 13.0px Arial;">Otra desventaja que me encontré es que los canales ya tienen sus propias sentencias y no las puedes definir tu, pero en casi todas vienen las más importantes y las que se utilizan más, así que no te desanimes es una muy buena aplicación que deberías de tener en cuenta si quieres ahorrarte trabajo.</span></p>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://tuxlink.com.mx/2014/06/11/pon-a-trabajar-la-internet-por-ti-con-ifttt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XmlHttpRequest y la caché de Internet Explorer</title>
		<link>http://tuxlink.com.mx/2014/06/01/xmlhttprequest-y-la-cache-de-internet-explorer/</link>
		<comments>http://tuxlink.com.mx/2014/06/01/xmlhttprequest-y-la-cache-de-internet-explorer/#comments</comments>
		<pubDate>Mon, 02 Jun 2014 03:44:00 +0000</pubDate>
		<dc:creator><![CDATA[Eduardo Gutiérrez Silva]]></dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Error/Solución]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[Error Solución]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Servlets]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://tuxlink.com.mx/?p=2008</guid>
		<description><![CDATA[Desarrollando algo para el trabajo me he encontrado con una curiosidad de Internet Explorer y como se imaginarán, no ocurre con otros navegadores con los que podamos estar trabajando. Tiene que ver con el hecho de realizar peticiones mediante objetos <a class="more-link" href="http://tuxlink.com.mx/2014/06/01/xmlhttprequest-y-la-cache-de-internet-explorer/">Seguir leyendo <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Desarrollando algo para el trabajo me he encontrado con una curiosidad de Internet Explorer y como se imaginarán, no ocurre con otros navegadores con los que podamos estar trabajando. Tiene que ver con el hecho de realizar peticiones mediante objetos <a href="https://developer.mozilla.org/es/docs/XMLHttpRequest"><strong>XmlHttpRequest</strong></a>, en mi caso, para conocer el estado de una simple variable en el lado del servidor y saber si un proceso ha finalizado, por lo que mi variable pude tomar el valor <code>Pendiente</code> o <code>Terminado</code>. Dado que este chequeo lo realizo hasta que se tenga el valor de <code>Terminado</code>, <strong>Internet Explorer continuaba enviando peticiones de forma infinita</strong>, ya que como veremos más adelante, almacena todo en la caché y realiza peticiones falsas que nunca llegan al servidor las cuales retornan con respuesta <code>304 Not Modified</code>.</p>
<p>Me ha llevado algo de tiempo el saber que estaba ocurriendo, pues en Firefox las cosas simplemente funcionaban, así que para ahorrarles un poco de tiempo, veamos como pueden diagnosticar este problema.</p>
<h3>Diagnosticando el error</h3>
<h4>1. Emplear las herramientas de desarrollo de IE</h4>
<p>Lo primero que se debería de hacer para diagnosticar el problema, es emplear las herramientas de desarrollo de Internet Explorer, que podemos abrir al <strong>presionar F12</strong>.</p>
<p>Esto es recomendable que se haga cuando aún no se han comenzado las peticiones, ya que de otro modo IE queda se bloquea y hay que reiniciarlo todo.</p>
<p>Una vez que se tienen las herramientas habilitadas, vamos a la sección o módulo de monitoreo de la red y daremos clic en el botón de play para comenzar a capturar las peticiones que se realicen.</p>
<div id="attachment_2011" style="width: 558px" class="wp-caption aligncenter"><img class="size-full wp-image-2011" src="//tuxlink.com.mx/wp-content/uploads/2014/06/DevToolsIE-notes.png" alt="Herramientas de Desarrollo de IE" width="548" height="360" /><p class="wp-caption-text">Módulo de Red en las herramientas de desarrollo de IE</p></div>
<p>De esta manera veremos qué es lo que está enviando IE, tanto en la cabecera HTTP, así como en los parámetros que le hemos pasado.</p>
<div id="attachment_2013" style="width: 819px" class="wp-caption aligncenter"><img class="size-full wp-image-2013" src="//tuxlink.com.mx/wp-content/uploads/2014/06/DevToolsIE-process-notes.png" alt="Herramientas de desarrollo de IE" width="809" height="464" /><p class="wp-caption-text">Monitoreando la red con las herrameintas de desarrollo</p></div>
<p>En la imagen de arriba podemos ver como la primera petición se ha realizado correctamente, sin embargo, las posteriores peticiones retornan con un tiempo menor a 1 ms (&lt; 1ms) y con un estatus 304, como si el servidor respondiera que los datos no han tenido ningún cambio.</p>
<p>Todo podría parecer normal hasta aquí y que realmente el servidor no haya sufrido cambios, pero el paso dos del diagnóstico es el que inquieta bastante.</p>
<h4>2. Realizar debug al lado del servidor</h4>
<p>En mi caso me encuentro ocupando el contenedor de aplicaciones de Oracle oc4j, pero con cualquier otro servidor al cual puedan asignar un breakpoint desde un IDE o de forma manual, podrán comprobar este paso del diagnóstico. Este consiste en <strong>colocar un punto de ruptura dentro del código que recibe y procesa la petición</strong>. En mi caso he colocado un breakpoint dentro de el método doPost de mi servlet. Las primeras peticiones llegan sin problemas, pero en el momento en el que IE comienza a ejecutar las peticiones subsecuentes, ninguno de mis puntos de ruptura se activan, por lo que se puede confirmar que <strong>IE nunca envía nada</strong>.</p>
<p>Se podría hacer una análisis más detallado de lo que ocurre mediante herramientas de análisis de la red como son Wireshark o tcpdump, aunque para mi fortuna no ha sido necesario ya que me he encontrado <a href="http://www.dashbay.com/2011/05/internet-explorer-caches-ajax/">este excelente post</a> en el que se nos comenta que este ya es un problema conocido de IE de hace ya unos años.</p>
<h3>El problema</h3>
<p>En resumen, <strong>IE trata de almacenar absolutamente todo lo que pueda en la caché</strong> <strong>de navegación</strong>, incluso las peticiones asíncronas que realicemos mediante JavaScript. Así que debemos ser más explícitos y así evitar que se almacenen variables que pueden cambiar y que deberían conocerse constantemente.</p>
<p>Le detallaré el problema con las siguientes imágenes.</p>
<ol>
<li>Realizamos la petición para conocer el valor de nuestra variable.<img class="aligncenter wp-image-2030 size-full" src="//tuxlink.com.mx/wp-content/uploads/2014/06/iep-0.png" alt="getEstadoVariable()" width="436" height="86" /></li>
<li>El servidor responde con el valor actual de la variable.<br />
<img class="aligncenter size-full wp-image-2031" src="//tuxlink.com.mx/wp-content/uploads/2014/06/iep-1.png" alt="Obtener el valor de la variable desde el servidor" width="437" height="87" /></li>
<li>Como el navegador no lo ha solicitado, Internet Explorer nunca más vuelve a realizar la petición, mientras que en las herramientas de desarrollo nos mostrará falsas peticiones con código de respuesta 304.<img class="aligncenter size-full wp-image-2029" src="//tuxlink.com.mx/wp-content/uploads/2014/06/iep-2.png" alt="IE 304" width="437" height="87" /></li>
<li>Así que nosotros como desarrolladores nos quebraremos la cabeza hasta saber que es lo que está ocurriendo, si nada está llegando al servidor.<img class="aligncenter size-full wp-image-2028" src="//tuxlink.com.mx/wp-content/uploads/2014/06/iep-3.png" alt="Internet Explorer Troll" width="436" height="87" /></li>
</ol>
<p>Incluso llegué a pensar que en mi servlet sería necesario que la variable modificada y consultada tuviera algún tipo de modificador, como puede ser el <code>volatile</code> en C. Por suerte no ha sido requerido nada de eso.</p>
<h3>La solución</h3>
<p>En el post que les comenté anteriormente (<a href="http://www.dashbay.com/2011/05/internet-explorer-caches-ajax/">este</a> por si leyeron muy rápido), nos dan tres opciones para prevenir que IE nos ocasione este caso de problemas:</p>
<ul>
<li>Añadir un <strong>token único</strong> a cada una de las peticiones realizadas (?date=[algo]).</li>
<li><strong>Emplear POST</strong> en lugar de GET.</li>
<li>Enviar un parámetro en la cabecera de respuesta que evite que IE almacene en la caché los datos descargados.</li>
</ul>
<p>La primera y segunda solución, me parece que deberían de emplearse cuando <strong>no tenemos acceso al lado del servidor</strong> (la tercera opción requiere esto), por lo que sería lo más conveniente emplear la segunda opción.</p>
<p>Si se cuenta con acceso al servidor, como ha sido en mi caso, la tercera opción me ha parecido la más correcta, ya que agregando el header correspondiente a la respuesta del servidor, haremos que IE siempre se vea obligado a realizar la petición.</p>
<p>En mi caso, he modificado el <strong>método doPost del lado del servlet</strong>, agregando las siguientes líneas, las cuales he obtenido de <a href="http://stackoverflow.com/questions/49547/making-sure-a-web-page-is-not-cached-across-all-browsers">esta</a> pregunta de Stack Overflow, para asegurarnos que nunca se almacene la información en la caché del navegador.</p>
<pre><code>response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setDateHeader("Expires", 0); // Proxies.</code></pre>
<p>Para otros lenguajes (PHP, ASP.NET, ASP, Ruby on Ralis, Go  o desde el mismo HTML), revisen el enlace de la pregunta mencionada anteriormente para obtener las líneas correspondientes de código.</p>
<h3>Concluyendo</h3>
<p><img class="aligncenter size-full wp-image-2033" src="//tuxlink.com.mx/wp-content/uploads/2014/06/fyeah-IE.png" alt="Work IE, Work!" width="436" height="87" /></p>
<p>Esto ha sido lo que he aplicado para solucionar mi problema, sin embargo, como mencionan en la pregunta de StackOverflow, esto no funcionará si planean hacer algo con el botón atrás del navegador e incluso me parece que Internet Explorer 8 tiene alguna serie de problemas con esto, tendré que revisarlo más a fondo, pero de momento, en la versión 11 de IE me ha funcionado bastante bien.</p>
<h3>Espera un momento, ¿no se supone que Tuxlink es sobre OpenSource &amp; Mac OS X?</h3>
<p>Así es, y lo seguirá siendo, pero de igual forma, es mi blog personal, en el cual desde un principio he publicado cosas de mi interés o errores y las soluciones que he encontrado para los mismos o solo para compartir mi día a día. Así que no se preocupen.</p>
<p>Espero que les sirva</p>
<p>Saludos</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://tuxlink.com.mx/2014/06/01/xmlhttprequest-y-la-cache-de-internet-explorer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
