<?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>Shakaran &#187; Servidores</title> <atom:link href="http://shakaran.net/blog/category/Servidores/feed/" rel="self" type="application/rss+xml" /><link>http://shakaran.net/blog</link> <description>Blog de un estudiante de ingeniería informática y sysadmin</description> <lastBuildDate>Wed, 25 Apr 2012 15:02:15 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <image><link>http://shakaran.net/blog</link> <url>http://www.shakaran.net/blog/wp-content/favicon.png</url><title>Shakaran</title> </image> <item><title>Instalar ZeroC Ice para Python en CentOS 5.7</title><link>http://shakaran.net/blog/2012/02/instalar-zeroc-ice-para-python-en-centos-5-7/</link> <comments>http://shakaran.net/blog/2012/02/instalar-zeroc-ice-para-python-en-centos-5-7/#comments</comments> <pubDate>Tue, 07 Feb 2012 11:37:06 +0000</pubDate> <dc:creator>shakaran</dc:creator> <category><![CDATA[CentOS]]></category> <category><![CDATA[Java]]></category> <category><![CDATA[Lenguaje C]]></category> <category><![CDATA[Open Source]]></category> <category><![CDATA[Python]]></category> <category><![CDATA[Servidores]]></category> <category><![CDATA[software libre]]></category> <category><![CDATA[api]]></category> <category><![CDATA[aplicaciones]]></category> <category><![CDATA[aprendizaje]]></category> <category><![CDATA[arquitectura]]></category> <category><![CDATA[bindings]]></category> <category><![CDATA[centos]]></category> <category><![CDATA[compilar]]></category> <category><![CDATA[conexión]]></category> <category><![CDATA[distribuiido]]></category> <category><![CDATA[escalable]]></category> <category><![CDATA[free]]></category> <category><![CDATA[gpl]]></category> <category><![CDATA[ice]]></category> <category><![CDATA[nivel]]></category> <category><![CDATA[objetos]]></category> <category><![CDATA[plataforma]]></category> <category><![CDATA[python]]></category> <category><![CDATA[red]]></category> <category><![CDATA[repo]]></category> <category><![CDATA[repositorio]]></category> <category><![CDATA[software]]></category> <category><![CDATA[zeroc]]></category><guid isPermaLink="false">http://shakaran.net/blog/?p=1179</guid> <description><![CDATA[Ice o &#160;Internet Communications Engine&#160; es una plataforma middleware orientada a objetos, que permite escribir aplicaciones distribuidas con muy poco coste. Provee herramientas, APIs, bibliotecas y bindings para la construcciones de aplicaciones cliente-servidor de forma escalable. Es una buena herramienta de trabajo para entornos que sean bastante&#160;heterogéneos, donde el cliente y servidor puede estar escritos [...]<br /><div><img src="http://shakaran.net/blog/wp-content/plugins/gd-star-rating/gfx.php?value=10.0" /></div><div>Rating: 10.0/<strong>10</strong> (1 vote cast)</div><br />]]></description> <content:encoded><![CDATA[<div class="wpbuzzer_button" style="float: right"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="normal-button" data-url="http://shakaran.net/blog/2012/02/instalar-zeroc-ice-para-python-en-centos-5-7/" data-imageurl=""></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div><div id="attachment_1180" class="wp-caption aligncenter" style="width: 310px"><a href="http://shakaran.net/blog/wp-content/uploads/2012/02/zeroc-ice-logo.jpg"><img class="size-full wp-image-1180" title="ZeroC Ice " src="http://shakaran.net/blog/wp-content/uploads/2012/02/zeroc-ice-logo.jpg" alt="ZeroC Ice logo" width="300" height="109" /></a><p class="wp-caption-text">ZeroC Ice logo</p></div><p>Ice o &nbsp;<a title="ZeroC Ice" href="http://zeroc.com/ice.html" target="_blank">Internet Communications Engine</a>&nbsp; es una <strong>plataforma middleware orientada a objetos</strong>, que permite escribir aplicaciones distribuidas con muy poco coste. Provee herramientas, APIs, bibliotecas y bindings para la construcciones de aplicaciones cliente-servidor de forma escalable.</p><p>Es una buena herramienta de trabajo para entornos que sean bastante&nbsp;<strong>heterogéneos</strong>, donde el cliente y servidor puede estar escritos en lenguajes de programación muy diferentes y ejecutarse sobre plataformas,&nbsp;sistemas operativos o&nbsp;arquitecturas muy variadas.</p><p>Su fuerte radica en un gran soporte de <strong>tecnologías de red</strong> con interacciones a bajo nivel de red, enfoque en la lógica de las aplicaciones y <strong>portabilidad</strong> de entornos muy diversos.</p><p>Otro punto fuerte a destacar es la&nbsp;<strong>abstracción&nbsp;de red</strong> para detalles como abrir conexiones de red, serializado y des-serializado de datos transmitidos por red, reintentos fallidos de conexión y muchos otros detalles más de bajo nivel que ayudan a simplificar la capa de red.</p><p>Soporta <strong>bindings</strong> con bastantes lenguajes de programación como:&nbsp;<br /> <a title="ZeroC Ice para C++" href="http://zeroc.com/icecpp.html" target="_blank">C++</a>,&nbsp;<a title="ZeroC Ice para .Net" href="http://zeroc.com/icedotnet.html" target="_blank">.NET</a>,&nbsp;<a title="ZeroC Ice para Java" href="http://zeroc.com/icej.html" target="_blank">Java</a>,<a title="ZeroC Ice para Python" href="http://zeroc.com/icepy.html" target="_blank">Python</a>,&nbsp;<a title="ZeroC Ice para Objetive-C" href="http://zeroc.com/iceobjc.html" target="_blank">Objective-C</a>,&nbsp;<a title="ZeroC Ice para Ruby" href="http://zeroc.com/iceruby.html" target="_blank">Ruby</a>,&nbsp;<a title="ZeroC Ice para PHP" href="http://zeroc.com/icephp.html" target="_blank">PHP</a>, y&nbsp;<a title="ZeroC Ice para ActionScript" href="http://zeroc.com/iceas.html" target="_blank">ActionScript</a>.</p><p>Debido a estas características Ice es <a title="Clientes de ZeroC Ice" href="http://www.zeroc.com/customers.html" target="_blank">usado por muchas compañias</a> con misiones críticas en el mundo. La <strong>curva de aprendizaje es sencilla</strong> y existe una gran infraestructura de aplicaciones técnicas que se demandan.</p><p>Ice es software libre bajo licencia&nbsp;<a title="Licencia GPLv2" href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target="_blank">GPLv2</a>&nbsp;y comercializado bajo la marca <a title="ZeroC ICE" href="http://zeroc.com" target="_blank">ZeroC</a>.</p><h3><span style="color: #993300;">Instalación con repositorio</span></h3><p>Esta opción de instalación es sencilla y cómoda, pero no esta aconsejada para desarrolladores que necesiten <strong>actualizaciones</strong> con bastante frecuencia o disponer de una versión determinada.</p><p>Descargar el repo (en estos momentos de escribir el artículo para la versión 3.4) desde la página web oficial:</p><div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1179code6'); return false;">Ver código</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p11796"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p1179code6"><pre class="bash" style="font-family:monospace;"> <span style="color: #666666; font-style: italic;"># wget http://download.zeroc.com/Ice/3.4/rhel6/zeroc-ice-rhel6.repo -O /etc/yum.repos.d/zeroc-ice-rhel6.repo</span></pre></td></tr></table></div><p>Activar el repositorio e instalar ZeroC Ice y biblioteca Ice para Python:</p><div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1179code7'); return false;">Ver código</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p11797"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p1179code7"><pre class="bash" style="font-family:monospace;"> <span style="color: #666666; font-style: italic;"># yum --enablerepo zeroc-ice install -y ice ice-python</span></pre></td></tr></table></div><h3><span style="color: #993300;">Instalación desde fuentes</span></h3><p>Si tu necesidad esta más orientada al <strong>enfoque desarrollador</strong>, puedes compilar la versión que requieras o en desarrollo. En el momento de escribir este artículo se compila para la versión 3.4.2 de Ice.</p><p>Instalar <a title="mcpp: Portable C preprocessor" href="http://mcpp.sourceforge.net/" target="_blank">portable C preprocessor</a> desde el repo de ZeroC Ice (también puedes optar por <a title="Descargar mccp" href="http://mcpp.sourceforge.net/download.html" target="_blank">bajar y compilar los fuentes de mcpp</a>, pero no es necesario):</p><div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1179code8'); return false;">Ver código</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p11798"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p1179code8"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># yum install -y mcpp-devel</span></pre></td></tr></table></div><p>Después <strong>bajamos los fuentes</strong> de Ice, descomprimimos y compilamos la versión en C++ y su binding para Python (en este caso para la versión 3.4.2 de Ice). Puedes hacerlo todo en una línea con:</p><div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1179code9'); return false;">Ver código</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p11799"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p1179code9"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># wget http://zeroc.com/download/Ice/3.4/Ice-3.4.2.tar.gz;&amp;nbsp;tar xvzf Ice-*.tar.gz; cd Ice-*/cpp; make; make install; cd ../py/; make;make install</span></pre></td></tr></table></div><p>La instalación de Ice quedará bajo&nbsp;<tt>/opt/Ice-3.4.2/</tt> y el binding python sobre&nbsp;<tt>/opt/Ice-3.4.2/python</tt>. Es importante recalcar que el binding python se asociara con la versión de defecto de Python en el sistema si dispones de varias.</p><p>Por último, es necesario indicar el el <tt>PATH</tt> y el <tt>PYTHONPATH</tt> del sistema, donde se encuentra la instalación de Ice y su binding de Python:</p><div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1179code10'); return false;">Ver código</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p117910"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p1179code10"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># export PATH=/opt/Ice-3.4.2/bin:$PATH</span>
<span style="color: #666666; font-style: italic;"># export PYTHONPATH=/opt/Ice-3.4.2/python:$PYTHONPATH</span></pre></td></tr></table></div><p>&nbsp;</p> <br /><div><img src="http://shakaran.net/blog/wp-content/plugins/gd-star-rating/gfx.php?value=10.0" /></div><div>Rating: 10.0/<strong>10</strong> (1 vote cast)</div><br />]]></content:encoded> <wfw:commentRss>http://shakaran.net/blog/2012/02/instalar-zeroc-ice-para-python-en-centos-5-7/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Automatizar actualizaciones con yum-updatesd y yum-cron en CentOS</title><link>http://shakaran.net/blog/2011/12/automatizar-actualizaciones-con-yum-updatesd-y-yum-cron-en-centos/</link> <comments>http://shakaran.net/blog/2011/12/automatizar-actualizaciones-con-yum-updatesd-y-yum-cron-en-centos/#comments</comments> <pubDate>Fri, 23 Dec 2011 19:25:14 +0000</pubDate> <dc:creator>shakaran</dc:creator> <category><![CDATA[Centos]]></category> <category><![CDATA[Open Source]]></category> <category><![CDATA[Servidores]]></category> <category><![CDATA[software libre]]></category> <category><![CDATA[Tecnología]]></category> <category><![CDATA[actualizacion]]></category> <category><![CDATA[automatico]]></category> <category><![CDATA[centos]]></category> <category><![CDATA[configurable]]></category> <category><![CDATA[cron]]></category> <category><![CDATA[daemon]]></category> <category><![CDATA[dbus]]></category> <category><![CDATA[debug]]></category> <category><![CDATA[distribución]]></category> <category><![CDATA[email]]></category> <category><![CDATA[global]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[notificacion]]></category> <category><![CDATA[syslog]]></category> <category><![CDATA[updates]]></category> <category><![CDATA[yum]]></category> <category><![CDATA[yum-updatesd]]></category><guid isPermaLink="false">http://shakaran.net/blog/?p=1120</guid> <description><![CDATA[CentOS es una distribución de las consideradas como más estables. Aunque sea bastante estable, no implica que no necesite de actualizaciones con regularidad debido a incidencias críticas en algún paquete de software o bien debido avulnerabilidades. Para evitar consumir tiempo a los administradores de sistemas comprobando regularmente si se necesita alguna actualización, existen herramientas que [...]<br /><div><img src="http://shakaran.net/blog/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>10</strong> (0 votes cast)</div><br />]]></description> <content:encoded><![CDATA[<div class="wpbuzzer_button" style="float: right"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="normal-button" data-url="http://shakaran.net/blog/2011/12/automatizar-actualizaciones-con-yum-updatesd-y-yum-cron-en-centos/" data-imageurl=""></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div><div class="mceTemp mceIEcenter" style="margin:auto"><dl id="attachment_1128" class="wp-caption aligncenter" style="margin:auto;width: 310px;"><dt class="wp-caption-dt"><a href="http://shakaran.net/blog/wp-content/uploads/2011/12/updates.jpg"><img class="size-full wp-image-1128" title="Actualizaciones automáticas" src="http://shakaran.net/blog/wp-content/uploads/2011/12/updates.jpg" alt="Actualizaciones automáticas" width="300" height="300" /></a></dt></dl></div><p><a title="Distribución GNU/Linux CentOS" href="http://centos.org/">CentOS</a> es una distribución de las consideradas como más estables. Aunque sea <strong>bastante estable</strong>, no implica que no necesite de actualizaciones con regularidad debido a incidencias críticas en algún paquete de software o bien debido avulnerabilidades.</p><p>Para evitar consumir tiempo a los administradores de sistemas comprobando regularmente si se necesita <strong>alguna actualización</strong>, existen herramientas que se encargan de realizar esta tarea de forma períodica.</p><p>Existen dos alternativas en CentOS:</p><ul><li><strong>yum-updatesd</strong> es un demonio notificador de actualizaciones que puedan ser aplicadas al sistema</li><li><strong>yum-cron</strong> es un paquete con los archivos necesarios para hacer que el comando <em>yum update</em> se establezca como un trabajo de cron.</li></ul><p>Generalmente yum-updatesd es <strong>más recomendable</strong> para escritorios y yum-cron para servidores, por este motivo coexisten ambos.</p><p>yum-cron es algo más sencillo pero no dispone de muchas opciones de configuración, aunque yum-updatesd es más configurable, pero parece tener algunas fugas y acumulaciones de memoria/CPU cuando se ejecuta durante bastante tiempo en servidores.</p><h3><span style="color: #993300;">Configurando yum-updatesd</span></h3><p>Podemos instalarlo con:</p><div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1120code19'); return false;">Ver código</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p112019"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p1120code19"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># yum install yum-updatesd</span></pre></td></tr></table></div><p>yum-updatesd dispone de varios <strong>métodos de notificación</strong>:</p><ul><li>syslog</li></ul><ul><li>email</li></ul><ul><li>dbus</li></ul><p>Estas notificaciones se configuran mediante el archivo de configuración <em>/etc/yum/yum-updatesd.conf</em>. Este archivo dispone de <strong>una única sección</strong> &#8220;main&#8221; que define todas las opciones de configuración globales. Las opciones disponibles son las siguientes:</p><ul><li><strong>run_interval </strong>Número de segundos a esperar entre comprobaciones de actualizaciones disponibles.</li></ul><ul><li><strong>updaterefresh </strong>Número mínimo de segundos entre para actualizar la información de actualizaciones para evitar acceder al servidor con demasiada frecuencia.</li></ul><ul><li><strong>emit_via </strong>Lista de maneras para emitir una notificación de actualización. Los valores válidos son: &#8216;email&#8217;, &#8216;dbus&#8217; y &#8216;syslog&#8217;.</li></ul><ul><li><strong>do_update </strong>Opción booleana para decidir si las actualizaciones deberían ser o no aplicadas. Por defecto falso.</li></ul><ul><li><strong>do_download </strong>Opción booleana para decidir si las actualizaciones deberían o no ser descargadas automáticamente. Por defecto falso.</li></ul><ul><li><strong>do_download_deps </strong>Opción booleana para automáticamente descargar las dependencias de paquetes que necesitan actualizarse también. Por defecto falso.</li></ul><h4><span style="color: #993300;">Opciones de notificacion por email</span></h4><ul><li><strong>email_to </strong>Lista de direcciones email para enviar las actualizaciones de notificación. Por defecto &#8216;root&#64;locahost&#8217;.<strong></strong></li></ul><ul><li><strong>email_from </strong>Direcciones de email desde donde enviar las notificaciones de actualización. Por defecto &#8216;yum-updatesd&#64;localhost&#8217;.</li></ul><ul><li><strong>smtp_server </strong>Servidor SMTP para usar en el envío de email, cadena de host o host:puerto. Por defecto &#8216;localhost:25&#8242;.</li></ul><h4><span style="color: #993300;">Opciones de notificacion por Syslog</span></h4><ul><li><strong>syslog_facility </strong>La instalación de syslog que debería ser usada. Por defecto &#8216;DAEMON&#8217;.be used. Defaults to &#8216;DAEMON&#8217;.</li></ul><ul><li><strong>syslog_level </strong>Nivel de los mensajes en syslog. Por defecto &#8216;WARN&#8217;.</li></ul><h3><span style="color: #993300;">Ejemplo de configuración</span></h3><p>Un ejemplo de configuración posible para <tt>/etc/yum/yum-updatesd.conf</tt> donde <strong>cada 8 horas</strong> comprobamos actualizaciones sin instalarlas, pero descargandolas y notificamos si existe alguna por email puede ser:</p><div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1120code20'); return false;">Ver código</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p112020"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
</pre></td><td class="code" id="p1120code20"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>main<span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #666666; font-style: italic;"># how often to check for new updates (in seconds)</span>
run_interval = <span style="color: #000000;">28800</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># how often to allow checking on request (in seconds)</span>
updaterefresh = <span style="color: #000000;">3600</span>
<span style="color: #666666; font-style: italic;"># how to send notifications (valid: dbus, email, syslog)</span>
emit_via = email
<span style="color: #666666; font-style: italic;"># should we listen via dbus to give out update information/check for</span>
<span style="color: #666666; font-style: italic;"># new updates</span>
dbus_listener = <span style="color: #c20cb9; font-weight: bold;">yes</span>
<span style="color: #666666; font-style: italic;"># who to send the email notifications to</span>
email_to = tuemail<span style="color: #000000; font-weight: bold;">@</span>tudominio.com
<span style="color: #666666; font-style: italic;"># who send the notifications</span>
email_from = yumupdates<span style="color: #000000; font-weight: bold;">@</span>tudominio.com
<span style="color: #666666; font-style: italic;"># automatically install updates</span>
do_update = no
<span style="color: #666666; font-style: italic;"># automatically download updates</span>
do_download = <span style="color: #c20cb9; font-weight: bold;">yes</span>
<span style="color: #666666; font-style: italic;"># automatically download deps of updates</span>
do_download_deps = <span style="color: #c20cb9; font-weight: bold;">yes</span></pre></td></tr></table></div><p>Después de configurar el servicio, lo iniciaremos con:</p><div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1120code21'); return false;">Ver código</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p112021"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p1120code21"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># service yum-updatesd start</span></pre></td></tr></table></div><p>Y para que se inicie en cada inicio del servidor:</p><div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1120code22'); return false;">Ver código</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p112022"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p1120code22"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># chkconfig yum-updatesd on</span></pre></td></tr></table></div><p>Para desactivar es realizar la operación inversa a yum-updatesd:</p><div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1120code23'); return false;">Ver código</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p112023"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p1120code23"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#service yum-updatesd stop</span>
<span style="color: #666666; font-style: italic;">#chkconfig --del yum-updatesd</span></pre></td></tr></table></div><p><em><strong>Nota:</strong></em> Recuerda que una vez desactivado no se notificará ningún tipo de actualización, y debe por tanto realizarse de forma manual.</p><h3><span style="color: #993300;">Configurando yum-cron</span></h3><div><div>yum-cron se habilita como si fuera cualquier otro daemon:</div><div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1120code24'); return false;">Ver código</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p112024"><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code" id="p1120code24"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># yum install yum-cron</span>
<span style="color: #666666; font-style: italic;"># yum chkconfig yum-cron on</span>
<span style="color: #666666; font-style: italic;"># service yum-cron start</span></pre></td></tr></table></div><p>Esto creara un archivo <tt>/etc/cron.daily/0yum.cron</tt> que será ejecutado diariamente a la hora programada.</p></div><p>Aunque se trata como daemon, en realidad no lo es, sino que es un script que se ejecuta diariamente y limpia las actualizaciones semanalmente. Es fácil comprobar con <strong>chkconfig –list</strong> que yum-cron esta en la lista, pero desahabilitado para todos los niveles de ejecución. Puede activarse si se desea con:</p><div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1120code25'); return false;">Ver código</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p112025"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p1120code25"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># chkconfig yum-cron on</span></pre></td></tr></table></div><div>Este paso <strong>no es necesario</strong> ya que cron ejecutara igualmente la tarea programada.</div><div></div><div>Si es necesario iniciar por primera vez yum-cron para que se cree el archivo en cron-daily con un flag en /var/lock/subsys/yum-cron:</div><div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1120code26'); return false;">Ver código</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p112026"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p1120code26"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># /etc/init.d/yum.cron start</span></pre></td></tr></table></div><p><em><strong>Nota:</strong></em> Es importante recalcar que algunos paquetes como los del kernel requieren de reinicio para aplicar las nuevas actualizaciones y yum-updatesd y yum-cron no implican reiniciar el sistema, por lo que recae esta ultima atencion al administrador del sistema.</p> <br /><div><img src="http://shakaran.net/blog/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>10</strong> (0 votes cast)</div><br />]]></content:encoded> <wfw:commentRss>http://shakaran.net/blog/2011/12/automatizar-actualizaciones-con-yum-updatesd-y-yum-cron-en-centos/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Solucionar &#8220;stdin: is not a tty&#8221;</title><link>http://shakaran.net/blog/2011/12/solucionar-stdin-is-not-a-tty/</link> <comments>http://shakaran.net/blog/2011/12/solucionar-stdin-is-not-a-tty/#comments</comments> <pubDate>Sat, 17 Dec 2011 17:25:54 +0000</pubDate> <dc:creator>shakaran</dc:creator> <category><![CDATA[Open Source]]></category> <category><![CDATA[Servidores]]></category> <category><![CDATA[software libre]]></category> <category><![CDATA[bash]]></category> <category><![CDATA[bashrc]]></category> <category><![CDATA[interativa]]></category> <category><![CDATA[scp]]></category> <category><![CDATA[sesion]]></category> <category><![CDATA[ssh]]></category> <category><![CDATA[stdin]]></category> <category><![CDATA[tty]]></category><guid isPermaLink="false">http://shakaran.net/blog/?p=1109</guid> <description><![CDATA[&#160; Normalmente se puede encontrar este aviso/error usando scp o sobre otras aplicaciones que utilicen sesiones ssh no interactivas en algún servidor o estación de trabajo. No suele perjudicar el rendimiento de la aplicación o implicar algún mal funcionamiento, pero puede resultar molesto o generar dudas de si todo esta funcionando correctamente. El problema se [...]<br /><div><img src="http://shakaran.net/blog/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>10</strong> (0 votes cast)</div><br />]]></description> <content:encoded><![CDATA[<div class="wpbuzzer_button" style="float: right"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="normal-button" data-url="http://shakaran.net/blog/2011/12/solucionar-stdin-is-not-a-tty/" data-imageurl=""></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div><p>&nbsp;</p><div id="attachment_1110" class="wp-caption aligncenter" style="width: 291px"><a href="http://shakaran.net/blog/wp-content/uploads/2011/12/TTY.gif"><img class=" wp-image-1110" title="TTY" src="http://shakaran.net/blog/wp-content/uploads/2011/12/TTY.gif" alt="TTY" width="281" height="281" /></a><p class="wp-caption-text">TTY</p></div><p>Normalmente se puede encontrar este aviso/error usando <a title="Secure Copy Wikipedia" href="http://en.wikipedia.org/wiki/Secure_copy">scp</a> o sobre otras aplicaciones que utilicen sesiones <a title="Secure Shell - SSH Wikipedia" href="http://en.wikipedia.org/wiki/Secure_shell">ssh</a> <strong>no interactivas</strong> en algún servidor o estación de trabajo.</p><p>No suele perjudicar el rendimiento de la aplicación o implicar algún mal funcionamiento, pero puede<strong> resultar molesto</strong> o generar dudas de si todo esta funcionando correctamente.</p><p>El problema se origina cuando por ejemplo scp se ejecuta leyendo el archivo de bash <tt>~/.bashrc</tt> y este invoca al bashrc global en <tt>/etc/bashrc</tt>. El <strong>archivo global</strong> de bashrc tiene comandos que sólo son aplicables si la sesión es interactiva y puesto que scp se ejecuta sobre una sesión no interactiva esos comandos no se ejecutaran apropiadamente, provocando el error mencionado.</p><p>Para solucionarlo, se puede optar por <strong>detectar</strong> si la sesión es interactiva y no cargar dichos ficheros. Para ello se debe editar justo <strong>al principio</strong> del archivo <tt>~/.bashrc</tt> y añadir las siguientes líneas:</p><div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1109code28'); return false;">Ver código</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p110928"><td class="code" id="p1109code28"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> $<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">expr</span> index <span style="color: #ff0000;">&quot;$-&quot;</span> i<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #660033;">-eq</span> <span style="color: #000000;">0</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
    <span style="color: #7a0874; font-weight: bold;">return</span>
<span style="color: #000000; font-weight: bold;">fi</span></pre></td></tr></table></div><p>Estas línea detectan si se trata de una sesión interactiva que contenga &#8220;i&#8221; $-, y parara de procesar el <tt>.bashrc</tt> (antes de que el bashrc global se invoque) y <strong>no se generen errores</strong>.</p> <br /><div><img src="http://shakaran.net/blog/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>10</strong> (0 votes cast)</div><br />]]></content:encoded> <wfw:commentRss>http://shakaran.net/blog/2011/12/solucionar-stdin-is-not-a-tty/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using memcached
Page Caching using memcached
Database Caching 1/78 queries in 0.089 seconds using memcached
Object Caching 1501/1710 objects using memcached

Served from: shakaran.net @ 2012-05-23 16:48:48 -->
