<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;A08DRX8_fip7ImA9WhRWFU0.&quot;"><id>tag:blogger.com,1999:blog-6046113441465225551</id><updated>2012-01-02T05:11:14.146-08:00</updated><category term="Redes" /><category term="Libros" /><category term="Sabias que..." /><category term="Off-Topic" /><category term="Video-Tutoriales" /><category term="VoIP" /><category term="Frases" /><category term="Revistas" /><category term="Juegos" /><category term="Internet" /><category term="Programacion" /><category term="Tutoriales" /><category term="Variables" /><category term="Software" /><category term="Gadgets" /><category term="Humor" /><category term="Hacking" /><category term="GNU" /><category term="GNU-Linux" /><category term="Java" /><category term="Reflexiones" /><title>Punto Libre</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.punto-libre.org/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://www.punto-libre.org/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Ramphis Che</name><uri>http://www.blogger.com/profile/05581561744671774139</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="22" height="32" src="http://2.bp.blogspot.com/-Ab2fzXfSq1Q/Tfe7GKhkIdI/AAAAAAAAAnQ/ajcbgJQavo4/s220/JustFace1.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>384</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/punto-libre/ThLq" /><feedburner:info uri="punto-libre/thlq" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>punto-libre/ThLq</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;AkcMSHo8cCp7ImA9WhRWFU0.&quot;"><id>tag:blogger.com,1999:blog-6046113441465225551.post-6979249645693630559</id><published>2012-01-02T04:41:00.000-08:00</published><updated>2012-01-02T04:41:29.478-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-02T04:41:29.478-08:00</app:edited><title>Feliz &amp; Prospero Año Nuevo 2012</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_a-wacchsj74/TR39BP1HVxI/AAAAAAAAAc8/L6Y6i5MvxF4/s1600/feliz_ano_nuevo_0001.png" imageanchor="1" style="background-color: #d2d2d2; color: #fa720a; font-family: 'Trebuchet MS', sans-serif; font-size: 13px; margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_a-wacchsj74/TR39BP1HVxI/AAAAAAAAAc8/L6Y6i5MvxF4/s1600/feliz_ano_nuevo_0001.png" style="border-bottom-style: none; border-color: initial; border-image: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial;" /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;Un Año Nuevo lleno de amor, paz, prosperidad y mucha felicidad&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;es mi más puro deseo para todos ustedes.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;b&gt;&lt;span style="font-size: large;"&gt;Feliz año nuevo a todos!&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6046113441465225551-6979249645693630559?l=www.punto-libre.org' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/pu0AG5ghcDGqvUq8ebc3kO6NhEE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pu0AG5ghcDGqvUq8ebc3kO6NhEE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/pu0AG5ghcDGqvUq8ebc3kO6NhEE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pu0AG5ghcDGqvUq8ebc3kO6NhEE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=yaeXAZ8KV-4:jdfDIRUDQr8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=yaeXAZ8KV-4:jdfDIRUDQr8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=yaeXAZ8KV-4:jdfDIRUDQr8:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=yaeXAZ8KV-4:jdfDIRUDQr8:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=yaeXAZ8KV-4:jdfDIRUDQr8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=yaeXAZ8KV-4:jdfDIRUDQr8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/punto-libre/ThLq/~4/yaeXAZ8KV-4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.punto-libre.org/feeds/6979249645693630559/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6046113441465225551&amp;postID=6979249645693630559&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/6979249645693630559?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/6979249645693630559?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/punto-libre/ThLq/~3/yaeXAZ8KV-4/feliz-prospero-ano-nuevo-2012.html" title="Feliz &amp; Prospero Año Nuevo 2012" /><author><name>Ramphis Che</name><uri>http://www.blogger.com/profile/05581561744671774139</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="22" height="32" src="http://2.bp.blogspot.com/-Ab2fzXfSq1Q/Tfe7GKhkIdI/AAAAAAAAAnQ/ajcbgJQavo4/s220/JustFace1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_a-wacchsj74/TR39BP1HVxI/AAAAAAAAAc8/L6Y6i5MvxF4/s72-c/feliz_ano_nuevo_0001.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.punto-libre.org/2012/01/feliz-prospero-ano-nuevo-2012.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEEAQXs7fSp7ImA9WhRQE0Q.&quot;"><id>tag:blogger.com,1999:blog-6046113441465225551.post-1920205974204791920</id><published>2011-12-07T17:17:00.000-08:00</published><updated>2011-12-08T18:10:40.505-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-08T18:10:40.505-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="Programacion" /><title>Estructuras de Control</title><content type="html">Las estructuras de programación o estructuras de control permiten tomar  decisiones y realizar un proceso repetidas veces. Son los denominados  bifurcaciones y bucles. En la mayoría de los lenguajes de programación,  este tipo de estructuras son comunes en cuanto a concepto, aunque su  sintaxis varía de un lenguaje a otro. La sintaxis de Java coincide  prácticamente con la utilizada&lt;br /&gt;
en C/C++, lo que hace que para un programador de C/C++ no suponga ninguna dificultad adicional.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="margin: auto; text-align: center; width: 100%;"&gt;
&lt;strong&gt;Sentencias o expresiones&lt;/strong&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Una  expresión es un conjunto variables unidos por operadores. Son órdenes  que se le dan al computador para que realice una tarea determinada.&lt;br /&gt;
Una  sentencia es una expresión que acaba en punto y coma (; ). Se permite  incluir varias sentencias en una línea, aunque lo habitual es utilizar  una línea para cada sentencia. Por ejemplo:&lt;br /&gt;
&lt;br /&gt;
i = 0; j = 5; x = i + j;// Línea compuesta de tres sentencias&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;div style="margin: auto; text-align: center; width: 100%;"&gt;
&lt;strong&gt;Comentarios&lt;/strong&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Existen  dos formas diferentes de introducir comentarios entre el código de Java  (en realidad son tres, como pronto se verá). Son similares a la forma  de realizar comentarios en el lenguaje C++. Los comentarios son  tremendamente útiles para poder entender el código utilizado,  facilitando de ese modo futuras revisiones y correcciones. Además  permite que cualquier persona distinta al&lt;br /&gt;
programador original pueda  comprender el código escrito de una forma más rápida. Se recomienda  acostumbrarse a comentar el código desarrollado. De esta forma se  simplifica también la tarea de estudio y revisión posteriores.&lt;br /&gt;
&lt;br /&gt;
Java  interpreta que todo lo que aparece a la derecha de dos barras “//” en  una línea cualquiera del código es un comentario del programador y no lo  tiene en cuenta. &lt;strong&gt;El comentario puede empezar al comienzo de la línea o a continuación de una instrucción que debe ser ejecutada&lt;/strong&gt;. La segunda forma de incluir comentarios consiste en escribir el texto entre los símbolos /*...*/. Este segundo&lt;br /&gt;
método es válido para comentar más de una línea de código. Por ejemplo:&lt;br /&gt;
&lt;br /&gt;
// Esta línea es un comentario&lt;br /&gt;
int a=1; // Comentario a la derecha de una sentencia&lt;br /&gt;
// Esta es la forma de comentar más de una línea utilizando&lt;br /&gt;
// las dos barras. Requiere incluir dos barras al comienzo de cada línea&lt;br /&gt;
/* Esta segunda forma es mucho más cómoda para comentar un número elevado de líneas&lt;br /&gt;
ya que sólo requiere modificar&lt;br /&gt;
el comienzo y el final. */&lt;br /&gt;
&lt;br /&gt;
En  Java existe además una forma especial de introducir los comentarios  (utilizando /**...*/ más algunos caracteres especiales) que permite  generar automáticamente la documentación sobre las clases y packages  desarrollados por el programador. Una vez introducidos los comentarios,  el programa javadoc.exe (incluido en el JDK) genera de forma automática  la información de forma&lt;br /&gt;
similar a la presentada en la propia  documentación del JDK. La sintaxis de estos comentarios y la forma de  utilizar el programa javadoc.exe se puede encontrar en la información  que viene con el JDK.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="margin: auto; text-align: center; width: 100%;"&gt;
&lt;strong&gt;Bifurcaciones&lt;/strong&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Las  bifurcaciones permiten ejecutar una de entre varias acciones en función  del valor de una expresión lógica o relacional. Se tratan de  estructuras muy importantes ya que son las encargadas de controlar el  flujo de ejecución de un programa. Existen dos bifurcaciones diferentes:  &lt;i&gt;if y switch&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Bifurcación if&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Esta  estructura permite ejecutar un conjunto de sentencias en función del  valor que tenga la expresión de comparación (se ejecuta si la expresión  de comparación tiene valor true). Tiene la forma siguiente:&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;if (booleanExpression) {&lt;br /&gt;statements;&lt;br /&gt;}&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Las  llaves {} sirven para agrupar en un bloque las sentencias que se han de  ejecutar, y no son necesarias si sólo hay una sentencia dentro del if.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Bifurcación if else&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Análoga  a la anterior, de la cual es una ampliación. Las sentencias incluidas  en el else se ejecutan en el caso de no cumplirse la expresión de  comparación (false),&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;if (booleanExpression) {&lt;br /&gt;statements1;&lt;br /&gt;} else {&lt;br /&gt;statements2;&lt;br /&gt;}&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Bifurcación if elseif else&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Permite  introducir más de una expresión de comparación. Si la primera condición  no se cumple, se compara la segunda y así sucesivamente. En el caso de  que no se cumpla ninguna de las comparaciones se ejecutan las sentencias  correspondientes al else.&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;if (booleanExpression1) {&lt;br /&gt;statements1;&lt;br /&gt;} else if (booleanExpression2) {&lt;br /&gt;statements2;&lt;br /&gt;} else if (booleanExpression3) {&lt;br /&gt;statements3;&lt;br /&gt;} else {&lt;br /&gt;statements4;&lt;br /&gt;}&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="margin: auto; text-align: center; width: 100%;"&gt;
Véase a continuación el siguiente ejemplo:&lt;/div&gt;
&lt;br /&gt;
int numero = 61;&lt;br /&gt;
// La variable "numero" tiene dos dígitos&lt;br /&gt;
if(Math.abs(numero) &amp;lt; 10)&lt;br /&gt;
// Math.abs() calcula el valor absoluto. (false)&lt;br /&gt;
System.out.println("Numero tiene 1 digito ");&lt;br /&gt;
else if (Math.abs(numero) &amp;lt; 100) // Si numero es 61, estamos en este caso (true)&lt;br /&gt;
System.out.println("Numero tiene 1 digito ");&lt;br /&gt;
else {&lt;br /&gt;
// Resto de los casos&lt;br /&gt;
System.out.println("Numero tiene mas de 3 digitos ");&lt;br /&gt;
System.out.println("Se ha ejecutado la opcion por defecto ");&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Sentencia switch&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Se trata de una alternativa a la bifurcación &lt;i&gt;if elseif else&lt;/i&gt; cuando se compara la misma expresión con distintos valores. Su forma general es la siguiente:&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;switch (expression) {&lt;br /&gt;case value1: statements1; break;&lt;br /&gt;case value2: statements2; break;&lt;br /&gt;case value3: statements3; break;&lt;br /&gt;case value4: statements4; break;&lt;br /&gt;case value5: statements5; break;&lt;br /&gt;case value6: statements6; break;&lt;br /&gt;default: statements7;&lt;br /&gt;}&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Las características más relevantes de switch son las siguientes:&lt;br /&gt;
&lt;br /&gt;
1.  Cada sentencia case se corresponde con un único valor de expression. No  se pueden establecer rangos o condiciones sino que se debe comparar con  valores concretos. El ejemplo del Apartado 2.3.3.3 no se podría  realizar utilizando switch.&lt;br /&gt;
&lt;br /&gt;
2. Los valores no comprendidos en ninguna sentencia case se pueden gestionar en default, que es&lt;br /&gt;
opcional.&lt;br /&gt;
&lt;br /&gt;
3.  En ausencia de break, cuando se ejecuta una sentencia case se ejecutan  también todas las case que van a continuación, hasta que se llega a un  break o hasta que se termina el switch.&lt;br /&gt;
&lt;br /&gt;
Ejemplo:&lt;br /&gt;
&lt;br /&gt;
char c = (char)(Math.random()*26+'a'); // Generación aleatoria de letras minúsculas&lt;br /&gt;
System.out.println("La letra " + c );&lt;br /&gt;
switch (c) {&lt;br /&gt;
case 'a': // Se compara con la letra a&lt;br /&gt;
case 'e': // Se compara con la letra e&lt;br /&gt;
case 'i': // Se compara con la letra i&lt;br /&gt;
case 'o': // Se compara con la letra o&lt;br /&gt;
case 'u': // Se compara con la letra u&lt;br /&gt;
System.out.println(" Es una vocal "); break;&lt;br /&gt;
default:&lt;br /&gt;
System.out.println(" Es una consonante ");&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;div style="margin: auto; text-align: center; width: 100%;"&gt;
&lt;strong&gt;Bucles&lt;/strong&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Un  bucle se utiliza para realizar un proceso repetidas veces. Se denomina  también lazo o loop. El código incluido entre las llaves {} (opcionales  si el proceso repetitivo consta de una sola línea), se ejecutará  mientras se cumpla unas determinadas condiciones. Hay que prestar  especial atención a los bucles infinitos, hecho que ocurre cuando la  condición de finalizar el bucle (booleanExpression) no se llega a  cumplir nunca. Se trata de un fallo muy típico, habitual sobre todo  entre programadores poco experimentados.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Bucle while&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Las sentencias statements se ejecutan mientras booleanExpression sea true.&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;while (booleanExpression) {&lt;br /&gt;statements;&lt;br /&gt;}&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Bucle for&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
La forma general del bucle for es la siguiente:&lt;br /&gt;
&lt;i&gt;for (initialization; booleanExpression; increment) {&lt;br /&gt;statements;&lt;br /&gt;}&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
que es equivalente a utilizar while en la siguiente forma,&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;initialization;&lt;br /&gt;while (booleanExpression) {&lt;br /&gt;statements;&lt;br /&gt;increment;&lt;br /&gt;}&lt;/i&gt;&lt;br /&gt;
La  sentencia o sentencias initialization se ejecuta al comienzo del for, e  increment después de statements. La booleanExpression se evalúa al  comienzo de cada iteración; el bucle termina cuando la expresión de  comparación toma el valor false. Cualquiera de las tres partes puede  estar vacía. La initialization y el increment pueden tener varias  expresiones separadas por comas. Por ejemplo, el código situado a la  izquierda produce la salida que aparece a la derecha:&lt;br /&gt;
&lt;br /&gt;
Código:&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;for(int i = 1, j = i + 10; i &amp;lt; 5; i++, j = 2*i) {&lt;br /&gt;System.out.println(" i = " + i + " j = " + j);&lt;br /&gt;}&lt;/i&gt;&lt;br /&gt;
Salida:&lt;br /&gt;
&lt;strong&gt;&lt;br /&gt;i = 1 j = 11&lt;br /&gt;i = 2 j = 4&lt;br /&gt;i = 3 j = 6&lt;br /&gt;i = 4 j = 8&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Bucle do while&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Es  similar al bucle while pero con la particularidad de que el control  está al final del bucle (lo que hace que el bucle se ejecute al menos  una vez, independientemente de que la condición se cumpla o no). Una vez  ejecutados los statements, se evalúa la condición: si resulta true se  vuelven a ejecutar las sentencias incluidas en el bucle, mientras que si  la condición se evalúa a false finaliza el bucle.&lt;br /&gt;
&lt;br /&gt;
Este tipo de  bucles se utiliza con frecuencia para controlar la satisfacción de una  determinada condición de error o de convergencia.&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;do {&lt;br /&gt;statements&lt;br /&gt;} while (booleanExpression);&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="margin: auto; text-align: center; width: 100%;"&gt;
&lt;strong&gt;Sentencias break y continue&lt;/strong&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
La  sentencia break es válida tanto para las bifurcaciones como para los  bucles. Hace que se salga inmediatamente del bucle o bloque que se está  ejecutando, sin sin realizar la ejecución del resto de las sentencias.&lt;br /&gt;
&lt;br /&gt;
La  sentencia continue se utiliza en los bucles (no en bifurcaciones).  Finaliza la iteración “i” que en ese momento se está ejecutando (no  ejecuta el resto de sentencias que hubiera hasta el final del bucle).  Vuelve al comienzo del bucle y comienza la siguiente iteración (i+1).&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Sentencias break y continue con etiquetas&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Las  etiquetas permiten indicar un lugar donde continuar la ejecución de un  programa después de un break o continue. El único lugar donde se pueden  incluir etiquetas es justo delante de un bloque de código entre llaves  {} (if, switch, do...while, while, for) y sólo se deben utilizar cuando  se tiene uno o más bucles (o bloques) dentro de otro bucle y se desea  salir (break) o continuar con la siguiente&lt;br /&gt;
iteración (continue) de un bucle que no es el actual.&lt;br /&gt;
&lt;br /&gt;
Por  tanto, la sentencia break labelName finaliza el bloque que se encuentre  a continuación de labelName. Por ejemplo, en las sentencias,&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;bucleI: // etiqueta o label&lt;br /&gt;&lt;br /&gt;for ( int i = 0, j = 0; i &amp;lt; 100; i++){&lt;br /&gt;while ( true ) {&lt;br /&gt;if( (++j) &amp;gt; 5) { break bucleI; } &lt;strong&gt;// Finaliza ambos bucles&lt;/strong&gt;&lt;br /&gt;else { break; } &lt;strong&gt;// Finaliza el bucle interior (while)&lt;/strong&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;/i&gt;&lt;br /&gt;
La  expresión break bucleI; finaliza los dos bucles simultáneamente,  mientras que la expresión break; sale del bucle while interior y  seguiría con el bucle for en i. Con los valores presentados ambos bucles  finalizarán con i = 5 y j = 6 (se invita al lector a comprobarlo).&lt;br /&gt;
La  sentencia continue (siempre dentro de al menos un bucle) permite  transferir el control a un bucle con nombre o etiqueta. Por ejemplo, la  sentencia,&lt;br /&gt;
continue bucle1;&lt;br /&gt;
transfiere el control al bucle for  que comienza después de la etiqueta bucle1: para que realice una nueva  iteración, como por ejemplo:&lt;br /&gt;
&lt;i&gt;&lt;strong&gt;bucle1:&lt;/strong&gt;&lt;br /&gt;for (int i=0; i&lt;strong&gt;bucle2:&lt;/strong&gt;&lt;br /&gt;for (int j=0; j...&lt;br /&gt;&lt;strong&gt;if (expression) continue bucle1; then continue bucle2;&lt;/strong&gt;&lt;br /&gt;...&lt;br /&gt;}&lt;br /&gt;}&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Sentencia return&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Otra  forma de salir de un bucle (y de un método) es utilizar la sentencia  return. A diferencia de continue o break, la sentencia return sale  también del método o función. En el caso de que la función devuelva  alguna variable, este valor se deberá poner a continuación del return  (return &lt;strong&gt;value&lt;/strong&gt;; ).&lt;br /&gt;
&lt;br /&gt;
&lt;div style="margin: auto; text-align: center; width: 100%;"&gt;
&lt;strong&gt;Bloque try {...} catch {...} finally {...}&lt;/strong&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Java  incorpora en el propio lenguaje la gestión de errores. El mejor momento  para detectar los errores es durante la compilación. Sin embargo  prácticamente sólo los errores de sintaxis son detectados en esta  operación. El resto de problemas surgen durante la ejecución de los  programas.&lt;br /&gt;
&lt;br /&gt;
En el lenguaje Java, una Exception es un cierto tipo  de error o una condición anormal que se ha producido durante la  ejecución de un programa. Algunas excepciones son fatales y provocan que  se deba finalizar la ejecución del programa. En este caso conviene  terminar ordenadamente y dar un mensaje explicando el tipo de error que  se ha producido. Otras excepciones, como por ejemplo no&lt;br /&gt;
encontrar un  fichero en el que hay que leer o escribir algo, pueden ser recuperables.  En este caso el programa debe dar al usuario la oportunidad de corregir  el error (definiendo por ejemplo un nuevo path del fichero no  encontrado).&lt;br /&gt;
&lt;br /&gt;
Los errores se representan mediante clases derivadas  de la clase Throwable, pero los que tiene que chequear un programador  derivan de Exception (java.lang.Exception que a su vez deriva de  Throwable). Existen algunos tipos de excepciones que Java obliga a tener  en cuenta. Esto se hace mediante el uso de bloques try, catch y  finally.&lt;br /&gt;
&lt;br /&gt;
El código dentro del bloque try está “vigilado”. Si se  produce una situación anormal y se lanza como consecuencia una  excepción, el control pasa al bloque catch, que se hace cargo de la  situación y decide lo que hay que hacer. Se pueden incluir tantos  bloques catch como se desee, cada uno de los cuales tratará un tipo de  excepción. Finalmente, si está presente, se ejecuta el bloque finally,  que es opcional, pero que en caso de existir se ejecuta siempre, sea  cual sea el tipo de error.&lt;br /&gt;
&lt;br /&gt;
En el caso en que el código de un  método pueda generar una Exception y no se desee incluir en dicho método  la gestión del error (es decir los bucles try/catch correspondientes),  es necesario que el método pase la Exception al método desde el que ha  sido llamado. Esto se consigue mediante la adición de la palabra throws  seguida del nombre de la Exception concreta, después de la lista de  argumentos del método. A su vez el método superior deberá incluir los  bloques try/catch o volver a pasar la Exception. De esta forma se puede  ir pasando la Exception de un método a otro hasta llegar al último  método del programa, el método main().&lt;br /&gt;
&lt;br /&gt;
En el siguiente ejemplo se  presentan dos métodos que deben "controlar" una IOException relacionada  con la lectura ficheros y una MyException propia. El primero de ellos  (metodo1) realiza la gestión de las excepciones y el segundo (metodo2)  las pasa al siguiente método:&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;void metodo1() {&lt;br /&gt;...&lt;br /&gt;try {&lt;br /&gt;... // Código que puede lanzar las excepciones IOException y MyException&lt;br /&gt;} catch (IOException e1) {&lt;strong&gt;// Se ocupa de IOException simplemente dando aviso&lt;/strong&gt;&lt;br /&gt;System.out.println(e1.getMessage());&lt;br /&gt;} catch (MyException e2) {&lt;br /&gt;&lt;strong&gt;// Se ocupa de MyException dando un aviso y finalizando la función&lt;/strong&gt;&lt;br /&gt;System.out.println(e2.getMessage()); return;&lt;br /&gt;} finally {&lt;br /&gt;&lt;strong&gt;// Sentencias que se ejecutarán en cualquier caso&lt;/strong&gt;&lt;br /&gt;...&lt;br /&gt;}]&lt;br /&gt;...&lt;br /&gt;}&lt;br /&gt;&lt;strong&gt;// Fin del metodo1&lt;/strong&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
void metodo2() throws IOException, MyException {&lt;br /&gt;
...&lt;br /&gt;
// Código que puede lanzar las excepciones IOException y MyException&lt;br /&gt;
...&lt;br /&gt;
} // Fin del metodo2&lt;br /&gt;
&lt;br /&gt;
Fuente: &lt;a href="http://multiprogrammers.foroactivo.com/t20-estructura-de-control-bucles-y-bifurcaciones"&gt;http://multiprogrammers.foroactivo.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6046113441465225551-1920205974204791920?l=www.punto-libre.org' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/pt4TjJTjDF3aSBHhQHN8Ie8I-fo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pt4TjJTjDF3aSBHhQHN8Ie8I-fo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/pt4TjJTjDF3aSBHhQHN8Ie8I-fo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pt4TjJTjDF3aSBHhQHN8Ie8I-fo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=Gvk_t3OkFok:dAchMdtnbVo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=Gvk_t3OkFok:dAchMdtnbVo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=Gvk_t3OkFok:dAchMdtnbVo:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=Gvk_t3OkFok:dAchMdtnbVo:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=Gvk_t3OkFok:dAchMdtnbVo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=Gvk_t3OkFok:dAchMdtnbVo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/punto-libre/ThLq/~4/Gvk_t3OkFok" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.punto-libre.org/feeds/1920205974204791920/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6046113441465225551&amp;postID=1920205974204791920&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/1920205974204791920?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/1920205974204791920?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/punto-libre/ThLq/~3/Gvk_t3OkFok/estructuras-de-control.html" title="Estructuras de Control" /><author><name>Ernesto Mancebo</name><uri>http://www.blogger.com/profile/03073192306499917194</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.punto-libre.org/2011/12/estructuras-de-control.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEEASHs-eCp7ImA9WhRQE0Q.&quot;"><id>tag:blogger.com,1999:blog-6046113441465225551.post-2245573492856529740</id><published>2011-12-07T16:43:00.000-08:00</published><updated>2011-12-08T18:10:49.550-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-08T18:10:49.550-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="Programacion" /><title>Operadores en Java</title><content type="html">Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++. Estos operadores se describen brevemente en los apartados siguientes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;span style="font-weight: bold;"&gt;Operadores aritméticos&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
Son operadores binarios (requieren siempre dos operando) que realizan las operaciones aritméticas habituales: suma (+), resta (-), multiplicación (*), división (/) y resto de la división (%).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;span style="font-weight: bold;"&gt;Operadores de asignación&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
Los operadores de asignación permiten asignar un valor a una variable. El operador de asignación por excelencia es el operador igual (=). La forma general de las sentencias de asignación con este operador es:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;Operador  Utilización  Expresión equivalente
+=        op1 += op2   op1 = op1 + op2
-=        op1 -= op2   op1 = op1 – op2
*=        op1 *= op2   op1 = op1 * op2
/=        op1 /= op2   op1 = op1 / op2
%=        op1 %= op2   op1 = op1 % op2

&lt;span style="font-style: italic;"&gt;variable = expression;&lt;/span&gt;&lt;/pre&gt;
Tabla 2.2. Otros operadores de asignación.&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
Java dispone de otros operadores de asignación. Se trata de versiones abreviadas del operador (=) que realizan operaciones “acumulativas” sobre una variable. La Tabla 2.2 muestra estos operadores y su equivalencia con el uso del operador igual (=).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;span style="font-weight: bold;"&gt;Operadores unarios&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
Los operadores más (+) y menos (-) unarios sirven para mantener o cambiar el signo de una variable, constante o expresión numérica. Su uso en Java es el estándar de estos operadores.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;span style="font-weight: bold;"&gt;Operador instanceof&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
El operador instanceof permite saber si un objeto pertenece o no a una determinada clase. Es un operador binario cuya forma general es, objectName instanceof ClassName y que devuelve true o false según el objeto pertenezca o no a la clase.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;span style="font-weight: bold;"&gt;Operador condicional ?:&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Este operador, tomado de C/C++, permite realizar bifurcaciones condicionales sencillas. Su forma general es la siguiente:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="font-style: italic; text-align: center;"&gt;
booleanExpression ? res1 : res2&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Donde se evalúa booleanExpression y se devuelve res1 si el resultado es true y res2 si el resultado es false. Es el único operador ternario (tres argumentos) de Java. Como todo operador que devuelve un valor puede ser utilizado en una expresión. Por ejemplo las sentencias:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;span style="font-style: italic;"&gt;x=1 ; y=10; z = ( x &amp;lt; y ) ? x+3:y+8;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-style: italic;"&gt;asignarían a z el valor 4, es decir x+3.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="font-weight: bold; text-align: center;"&gt;
&lt;span style="font-style: italic;"&gt;Operadores incrementales&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-style: italic;"&gt;&lt;br /&gt;Java dispone del operador incremento (++) y decremento (--). El operador (++) incrementa en una unidad la variable a la que se aplica, mientras que (--) la reduce en una unidad. Estos operadores se pueden utilizar de dos formas:&lt;br /&gt;&lt;br /&gt;1. Precediendo a la variable (por ejemplo: ++i). En este caso primero se incrementa la variable y luego se utiliza (ya incrementada) en la expresión en la que aparece.&lt;br /&gt;&lt;br /&gt;2. Siguiendo a la variable (por ejemplo: i++). En este caso primero se utiliza la variable en la expresión (con el valor anterior) y luego se incrementa.&lt;br /&gt;&lt;br /&gt;En muchas ocasiones estos operadores se utilizan para incrementar una variable fuera de una expresión. En este caso ambos operadores son equivalente. Si se utilizan en una expresión más complicada, el resultado de utilizar estos operadores en una u otra de sus formas será diferente. La actualización de contadores en bucles for es una de las aplicaciones más frecuentes de estos&lt;br /&gt;operadores.&lt;br /&gt;&lt;br /&gt;&lt;div style="font-weight: bold; text-align: center;"&gt;
Operadores relacionales&lt;/div&gt;
&lt;br /&gt;&lt;br /&gt;Los operadores relacionales sirven para realizar comparaciones de igualdad, desigualdad y relación de menor o mayor. El resultado de estos operadores es siempre un valor boolean (true o false) según se cumpla o no la relación considerada.&lt;br /&gt;&lt;br /&gt;La Tabla 2.3 muestra los operadores relacionales de Java.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Operador  Utilización    El resultado es true
&amp;gt;         op1 &amp;gt; op2      si op1 es mayor que op2
&amp;gt;=        op1 &amp;gt;= op2     si op1 es mayor o igual que op2
&amp;lt;         op1 &amp;lt; op2      si op1 es menor que op2
&amp;lt;=        op1 &amp;lt;= op2     si op1 es menor o igual que op2
==        op1 == op2     si op1 y op2 son iguales
!=        op1 != op2     si op1 y op2 son diferentes&lt;/pre&gt;
&lt;br /&gt;Tabla 2.3. Operadores relacionales.&lt;br /&gt;&lt;br /&gt;&lt;div style="margin: auto; text-align: center; width: 100%;"&gt;
&lt;strong&gt;Operadores lógicos&lt;/strong&gt;&lt;/div&gt;
&lt;br /&gt;&lt;br /&gt;Los  operadores lógicos se utilizan para construir expresiones lógicas,  combinando valores lógicos (true y/o false) o los resultados de los  operadores relacionales. La Tabla 2.4 muestra los operadores lógicos de  Java. Debe notarse que en ciertos casos el segundo operando no se evalúa  porque ya no es necesario (si ambos tienen que ser true y el primero es  false, ya se sabe que la condición de que ambos sean true no se va a  cumplir). Esto puede traer resultados no deseados y por eso se han  añadido los operadores (&amp;amp;) y (|) que garantizan que los dos  operandos se evalúan siempre.&lt;br /&gt;&lt;pre&gt;Operador  Nombre     Utilización   Resultado
&amp;amp;&amp;amp;        AND        op1 &amp;amp;&amp;amp; op2    true si op1 y op2 son true. Si op1 es false ya no se evalúa op2
||        OR         op1 || op2    true si op1 u op2 son true. Si op1 es true ya no se evalúa op2.
!         negación   ! op          true si op es false y false si op es true
&amp;amp;         AND        op1 &amp;amp; op2     true si op1 y op2 son true. Siempre se evalúa op2
|         OR         op1 | op2     rue si op1 u op2 son true. Siempre se evalúa op2

Tabla 2.4. Operadores lógicos.&lt;/pre&gt;
&lt;br /&gt;&lt;br /&gt;&lt;div style="margin: auto; text-align: center; width: 100%;"&gt;
&lt;strong&gt;Operador de concatenación de cadenas de caracteres (+)&lt;/strong&gt;&lt;/div&gt;
&lt;br /&gt;&lt;br /&gt;El  operador más (+) se utiliza también para concatenar cadenas de  caracteres. Por ejemplo, para escribir una cantidad con un rótulo y unas  unidades puede utilizarse la sentencia:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;System.out.println("El total asciende a " + result + " unidades");&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Donde  el operador de concatenación se utiliza dos veces para construir la  cadena de caracteres que se desea imprimir por medio del método  println(). La variable numérica result es convertida automáticamente por  Java en cadena de caracteres para poderla concatenar. En otras  ocasiones se deberá llamar explícitamente a un método para que realice  esta conversión.&lt;br /&gt;&lt;br /&gt;&lt;div style="margin: auto; text-align: center; width: 100%;"&gt;
&lt;strong&gt;&lt;br /&gt;Precedencia de operadores&lt;/strong&gt;&lt;/div&gt;
&lt;br /&gt;El  orden en que se realizan las operaciones es fundamental para determinar  el resultado de una expresión. Por ejemplo, el resultado de x/y*z  depende de qué operación (la división o el producto) se realice primero.  La siguiente lista muestra el orden en que se  ejecutan los distintos  operadores en un sentencia, de mayor a menor precedencia:&lt;br /&gt;&lt;pre&gt;postfix operators  [] . (params) expr++ expr--
unary operators    ++expr --expr +expr -expr ~ !
creation or cast   new (type)expr
multiplicative     */%
additive           +-
shift              &amp;lt;&amp;lt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;
relational         &amp;lt; &amp;gt; &amp;lt;= &amp;gt;= instanceof
equality           == !=
bitwise            AND &amp;amp;
bitwise            exclusive OR ^
bitwise            inclusive OR |
logical            AND &amp;amp;&amp;amp;
logical            OR ||
conditional        ?:
assignment         = += -= *= /= %= &amp;amp;= ^= |= &amp;lt;&amp;lt;= &amp;gt;&amp;gt;= &amp;gt;&amp;gt;&amp;gt;=&lt;/pre&gt;
&lt;br /&gt;En  Java, todos los operadores binarios, excepto los operadores de  asignación, se evalúan de izquierda a derecha. Los operadores de  asignación se evalúan de derecha a izquierda, lo que significa que el  valor de la derecha se copia sobre la variable de la izquierda.&lt;br /&gt;&lt;br /&gt;Fuente: &lt;a href="http://multiprogrammers.foroactivo.com/t19-operadores-en-java"&gt;http://multiprogrammers.foroactivo.com&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6046113441465225551-2245573492856529740?l=www.punto-libre.org' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xUPRdUR5DI_jEzLvjnq_UpCN8a4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xUPRdUR5DI_jEzLvjnq_UpCN8a4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/xUPRdUR5DI_jEzLvjnq_UpCN8a4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xUPRdUR5DI_jEzLvjnq_UpCN8a4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=0e8KwTmmHbs:rZIrE-3hkfM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=0e8KwTmmHbs:rZIrE-3hkfM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=0e8KwTmmHbs:rZIrE-3hkfM:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=0e8KwTmmHbs:rZIrE-3hkfM:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=0e8KwTmmHbs:rZIrE-3hkfM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=0e8KwTmmHbs:rZIrE-3hkfM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/punto-libre/ThLq/~4/0e8KwTmmHbs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.punto-libre.org/feeds/2245573492856529740/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6046113441465225551&amp;postID=2245573492856529740&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/2245573492856529740?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/2245573492856529740?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/punto-libre/ThLq/~3/0e8KwTmmHbs/operadores-en-java.html" title="Operadores en Java" /><author><name>Ernesto Mancebo</name><uri>http://www.blogger.com/profile/03073192306499917194</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.punto-libre.org/2011/12/operadores-en-java.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEEBSHczfyp7ImA9WhRQE0Q.&quot;"><id>tag:blogger.com,1999:blog-6046113441465225551.post-857578194901121899</id><published>2011-12-07T16:35:00.000-08:00</published><updated>2011-12-08T18:10:59.987-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-08T18:10:59.987-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Variables" /><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="Programacion" /><title>Variables y Tipos de Datos en Java</title><content type="html">Las variables son las partes importantes de un lenguaje de programación: ellas son las entidades&lt;br /&gt;
(valores, datos) que actúan y sobre las que se actúa.&lt;br /&gt;
Una declaración de variable siempre contiene dos componentes, el tipo de la variable o de datos y su nombre.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;tipoVariable&lt;/i&gt; nombreDeVariable;&lt;br /&gt;
&lt;br /&gt;
Los  nombres de variables en Java se pueden crear con mucha libertad. Pueden  ser cualquier conjunto de caracteres numéricos y alfanuméricos, sin  algunos caracteres especiales utilizados por Java como operadores o  separadores ( ,.+-*/ etc.).&lt;br /&gt;
&lt;br /&gt;
Existe una serie de palabras  reservadas las cuales tienen un significado especial para Java y por lo  tanto no se pueden utilizar como nombres de variables. Dichas palabras  son:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;abstract&lt;/li&gt;
&lt;li&gt;char&lt;/li&gt;
&lt;li&gt;double&lt;/li&gt;
&lt;li&gt;boolean&lt;/li&gt;
&lt;li&gt;class&lt;/li&gt;
&lt;li&gt;else&lt;/li&gt;
&lt;li&gt;break&lt;a name='more'&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;const*&lt;/li&gt;
&lt;li&gt;extends&lt;/li&gt;
&lt;li&gt;byte&lt;/li&gt;
&lt;li&gt;case&lt;/li&gt;
&lt;li&gt;catch&lt;/li&gt;
&lt;li&gt;continue&lt;/li&gt;
&lt;li&gt;default&lt;/li&gt;
&lt;li&gt;do&lt;/li&gt;
&lt;li&gt;final&lt;/li&gt;
&lt;li&gt;finally&lt;/li&gt;
&lt;li&gt;float&lt;/li&gt;
&lt;li&gt;for&lt;/li&gt;
&lt;li&gt;goto*&lt;/li&gt;
&lt;li&gt;if&lt;/li&gt;
&lt;li&gt;int&lt;/li&gt;
&lt;li&gt;interface&lt;/li&gt;
&lt;li&gt;long&lt;/li&gt;
&lt;li&gt;package&lt;/li&gt;
&lt;li&gt;static&lt;/li&gt;
&lt;li&gt;throws&lt;/li&gt;
&lt;li&gt;private&lt;/li&gt;
&lt;li&gt;super&lt;/li&gt;
&lt;li&gt;implements&lt;/li&gt;
&lt;li&gt;protected&lt;/li&gt;
&lt;li&gt;switch&lt;/li&gt;
&lt;li&gt;transient&lt;/li&gt;
&lt;li&gt;try&lt;/li&gt;
&lt;li&gt;native&lt;/li&gt;
&lt;li&gt;import&lt;/li&gt;
&lt;li&gt;new&lt;/li&gt;
&lt;li&gt;public&lt;/li&gt;
&lt;li&gt;null&lt;/li&gt;
&lt;li&gt;return&lt;/li&gt;
&lt;li&gt;synchronized&lt;/li&gt;
&lt;li&gt;void&lt;/li&gt;
&lt;li&gt;instanceof&lt;/li&gt;
&lt;li&gt;this&lt;/li&gt;
&lt;li&gt;volatile&lt;/li&gt;
&lt;li&gt;short&lt;/li&gt;
&lt;li&gt;throw&lt;/li&gt;
&lt;li&gt;while&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
(*) son palabras reservadas, pero no se utilizan en la actual implementación del lenguaje Java.&lt;br /&gt;
&lt;br /&gt;
Todas  las variables en el lenguaje Java deben tener un tipo de dato. Cuando  hablamos de tipo de datos no referimos a los valores que la variable  puede contener y las operaciones que se pueden realizar con ella.&lt;br /&gt;
&lt;br /&gt;
Existen dos categorías de datos principales en el lenguaje Java: los tipos &lt;strong&gt;primitivos&lt;/strong&gt; y los tipos &lt;strong&gt;referenciados&lt;/strong&gt;.&lt;br /&gt;
&lt;br /&gt;
Los  tipos primitivos contienen un sólo valor e incluyen los tipos como los  enteros (sin punto decimal), coma flotante (con punto decimal), los  caracteres, etc.&lt;br /&gt;
La tabla siguiente muestra todos los tipos  primitivos soportados por el lenguaje Java, su formato, su tamaño y una  breve descripción de cada uno.&lt;br /&gt;
&lt;br /&gt;
&lt;table border="1"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td align="left"&gt;Tipo de variable&lt;/td&gt;&lt;td align="left"&gt;Descripción&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left"&gt;Boolean&lt;/td&gt;&lt;td align="left"&gt;1 byte. Valores true y false&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left"&gt;Char&lt;/td&gt;&lt;td align="left"&gt;2 bytes. Unicode. Comprende el código ASCII&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left"&gt;Byte&lt;/td&gt;&lt;td align="left"&gt;1 byte. Valor entero entre -128 y 127&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left"&gt;Short&lt;/td&gt;&lt;td align="left"&gt;2 bytes. Valor entero entre -32768 y 32767&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left"&gt;Int&lt;/td&gt;&lt;td align="left"&gt;4 bytes. Valor entero entre -2.147.483.648 y 2.147.483.647&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left"&gt;Long &lt;/td&gt;&lt;td align="left"&gt;8 bytes. Valor entre -9.223.372.036.854.775.808 y 9.223.372.036.854.775.807&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left"&gt;Float &lt;/td&gt;&lt;td align="left"&gt;4 bytes (entre 6 y 7 cifras decimales equivalentes). De -3.402823E38 a -1.401298E-45 y de 1.401298E-45 a&lt;br /&gt;
3.402823E38 &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="left"&gt;Double &lt;/td&gt;&lt;td align="left"&gt;8 bytes (unas 15 cifras decimales equivalentes). De -1.79769313486232E308 a -4.94065645841247E-324 y de&lt;br /&gt;
4.94065645841247E-324 a 1.79769313486232E308 &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="margin: auto; text-align: center; width: 100%;"&gt;
Los tipos primitivos de Java tienen algunas características importantes que se resumen a continuación:&lt;/div&gt;
&lt;br /&gt;
1. El tipo boolean no es un valor numérico: sólo admite los valores true o false. El tipo boolean&lt;br /&gt;
no se identifica con el igual o distinto de cero, como en C/C++. El resultado de la expresión&lt;br /&gt;
lógica que aparece como condición en un bucle o en una bifurcación debe ser boolean.&lt;br /&gt;
&lt;br /&gt;
2. El tipo char contiene caracteres en código UNICODE (que incluye el código ASCII), y ocupan&lt;br /&gt;
16 bits por carácter. Comprende los caracteres de prácticamente todos los idiomas.&lt;br /&gt;
&lt;br /&gt;
3. Los tipos byte, short, int y long son números enteros que pueden ser positivos o negativos, con&lt;br /&gt;
distintos valores máximos y mínimos. A diferencia de C/C++, en Java no hay enteros unsigned.&lt;br /&gt;
&lt;br /&gt;
4. Los tipos float y double son valores de punto flotante (números reales) con 6-7 y 15 cifras&lt;br /&gt;
decimales equivalentes, respectivamente.&lt;br /&gt;
&lt;br /&gt;
5. Se utiliza la palabra void para indicar la ausencia de un tipo de variable determinado.&lt;br /&gt;
&lt;br /&gt;
6. A diferencia de C/C++, los tipos de variables en Java están perfectamente definidos en todas y&lt;br /&gt;
cada una de las posibles plataformas. Por ejemplo, un int ocupa siempre la misma memoria y&lt;br /&gt;
tiene el mismo rango de valores, en cualquier tipo de ordenador.&lt;br /&gt;
&lt;br /&gt;
7. Existen extensiones de Java 1.2 para aprovechar la arquitectura de los procesadores Intel, que&lt;br /&gt;
permiten realizar operaciones de punto flotente con una precisión extendida de 80 bits.&lt;br /&gt;
Cómo se definen e inicializan las variables.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="margin: auto; text-align: center; width: 100%;"&gt;
&lt;strong&gt;Ejemplos de declaración e inicialización de variables&lt;/strong&gt;&lt;/div&gt;
&lt;br /&gt;
int x; // Declaración de la variable primitiva x. Se inicializa a 0&lt;br /&gt;
int y = 5; // Declaración de la variable primitiva y. Se inicializa a 5&lt;br /&gt;
&lt;br /&gt;
MyClass unaRef; // Declaración de una referencia a un objeto MyClass.&lt;br /&gt;
// Se inicializa a null&lt;br /&gt;
unaRef = new MyClass(); // La referencia “apunta” al nuevo objeto creado&lt;br /&gt;
// Se ha utilizado el constructor por defecto&lt;br /&gt;
&lt;br /&gt;
MyClass segundaRef = unaRef; // Declaración de una referencia a un objeto MyClass.&lt;br /&gt;
// Se inicializa al mismo valor que unaRef&lt;br /&gt;
&lt;br /&gt;
int [] vector; // Declaración de un array. Se inicializa a null&lt;br /&gt;
vector = new int[10]; // Vector de 10 enteros, inicializados a 0&lt;br /&gt;
&lt;br /&gt;
double [] v = {1.0, 2.65, 3.1}; // Declaración e inicialización de un vector de 3&lt;br /&gt;
// elementos con los valores entre llaves&lt;br /&gt;
&lt;br /&gt;
MyClass [] lista=new MyClass[5]; // Se crea un vector de 5 referencias a objetos&lt;br /&gt;
// Las 5 referencias son inicializadas a null&lt;br /&gt;
&lt;br /&gt;
lista[0] = unaRef; // Se asigna a lista[0] el mismo valor que unaRef&lt;br /&gt;
lista[1] = new MyClass(); // Se asigna a lista[1] la referencia al nuevo objeto&lt;br /&gt;
// El resto (lista[2]...lista[4] siguen con valor null&lt;br /&gt;
&lt;br /&gt;
En el ejemplo mostrado las referencias unaRef, segundaRef y lista[0] actuarán sobre el&lt;br /&gt;
mismo objeto. Es equivalente utilizar cualquiera de las referencias ya que el objeto al que se&lt;br /&gt;
refieren es el mismo.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="margin: auto; text-align: center; width: 100%;"&gt;
&lt;strong&gt;Visibilidad y vida de las variables&lt;/strong&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Se  entiende por visibilidad, ámbito o scope de una variable, la parte de  la aplicación donde dicha variable es accesible y por lo tanto puede ser  utilizada en una expresión. En Java todas las variables deben estar  incluidas en una clase. En general las variables declaradas dentro de  unas llaves {}, es decir, dentro de un bloque, son visibles y existen  dentro de estas llaves. Por ejemplo las variables declaradas al  principio de una función existen mientras se ejecute la función; las  variables declaradas dentro de un bloque if no serán válidas al  finalizar las sentencias correspondientes a dicho if y las variables  miembro de una clase (es decir declaradas entre las llaves {} de la  clase pero fuera de cualquier método) son válidas mientras existe el  objeto de la clase.&lt;br /&gt;
&lt;br /&gt;
Las variables miembro de una clase declaradas  como public son accesibles a través de una referencia a un objeto de  dicha clase utilizando el operador punto (.). Las variables miembro  declaradas como private no son accesibles directamente desde otras  clases. Las funciones miembro de una clase tienen acceso directo a todas  las variables miembro de la clase sin necesidad de anteponer el nombre  de un objeto de la clase. Sin embargo las funciones miembro de una clase  B derivada de otra A, tienen acceso a todas las variables miembro de A  declaradas como public o protected, pero no a las declaradas como  private. Una clase derivada sólo puede acceder directamente a las  variables y funciones miembro de su clase base declaradas como public o  protected. Otra característica del lenguaje es que es posible declarar  una variable dentro de un bloque con el mismo nombre que una variable  miembro, pero no con el nombre de otra variable local que ya existiera.  La variable declarada dentro del bloque oculta a la variable miembro en  ese&lt;br /&gt;
bloque. Para acceder a la variable miembro oculta será preciso utilizar el operador this, en la forma this.varname.&lt;br /&gt;
&lt;br /&gt;
Uno  de los aspectos más importantes en la programación orientada a objetos  (OOP) es la forma en la cual son creados y eliminados los objetos. En  Java la forma de crear nuevos objetos es utilizando el operador new.  Cuando se utiliza el operador new, la variable de tipo referencia guarda  la posición de memoria donde está almacenado este nuevo objeto. Para  cada objeto se lleva cuenta&lt;br /&gt;
de por cuántas variables de tipo  referencia es apuntado. La eliminación de los objetos la realiza el  programa denominado garbage collector, quien automáticamente libera o  borra la memoria ocupada por un objeto cuando no existe ninguna  referencia apuntando a ese objeto. Lo anterior significa que aunque una  variable de tipo referencia deje de existir, el objeto al cual apunta no  es eliminado si hay otras referencias apuntando a ese mismo objeto.&lt;br /&gt;
&lt;br /&gt;
Fuente: &lt;a href="http://multiprogrammers.foroactivo.com/t18-variables-y-tipos-de-datos-java"&gt;http://multiprogrammers.foroactivo.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6046113441465225551-857578194901121899?l=www.punto-libre.org' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-SlwGGbK5lb8SXDitFhVgWzTIX0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-SlwGGbK5lb8SXDitFhVgWzTIX0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-SlwGGbK5lb8SXDitFhVgWzTIX0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-SlwGGbK5lb8SXDitFhVgWzTIX0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=4XpiKHwurNU:RywlqqY3uQc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=4XpiKHwurNU:RywlqqY3uQc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=4XpiKHwurNU:RywlqqY3uQc:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=4XpiKHwurNU:RywlqqY3uQc:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=4XpiKHwurNU:RywlqqY3uQc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=4XpiKHwurNU:RywlqqY3uQc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/punto-libre/ThLq/~4/4XpiKHwurNU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.punto-libre.org/feeds/857578194901121899/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6046113441465225551&amp;postID=857578194901121899&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/857578194901121899?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/857578194901121899?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/punto-libre/ThLq/~3/4XpiKHwurNU/variables-y-tipos-de-datos-en-java.html" title="Variables y Tipos de Datos en Java" /><author><name>Ernesto Mancebo</name><uri>http://www.blogger.com/profile/03073192306499917194</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.punto-libre.org/2011/12/variables-y-tipos-de-datos-en-java.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0AESX08cSp7ImA9WhRTGEQ.&quot;"><id>tag:blogger.com,1999:blog-6046113441465225551.post-5640370571217097233</id><published>2011-11-09T18:21:00.000-08:00</published><updated>2011-11-09T18:21:48.379-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-09T18:21:48.379-08:00</app:edited><title>Fedora 16 Verne Liberada!</title><content type="html">&lt;br /&gt;
Saludos estimados lectores tengo para informarles que Fedora 16 de nombre "Verne" (En honor a el popular escritor Julio Verne) ha sido liberada el&amp;nbsp;día&amp;nbsp;de ayer, y como muchos sabemos fue liberada con Gnome 3.2 (Con Gnome Shell) y el Kernel 3.1, el cual viene con Xen integrado, más seguridad y mejor rendimiento, ademas de otras&amp;nbsp;características&amp;nbsp;interesantes como por ejemplo la Inclusión de Grub2, mayor integración con Systemd y se elimina totalmente Hal.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://www.zonatotal.net/wp-content/plugins/RSSPoster_PRO/cache/0c130_fedora16.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="153" src="http://www.zonatotal.net/wp-content/plugins/RSSPoster_PRO/cache/0c130_fedora16.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
En &lt;a href="https://fedoraproject.org/en/get-fedora-options#desktops"&gt;este enlace&lt;/a&gt; pueden descargar todos sus formatos y spins.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6046113441465225551-5640370571217097233?l=www.punto-libre.org' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VrvCl2Cbb38mTYVuyndCO--pAbw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VrvCl2Cbb38mTYVuyndCO--pAbw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/VrvCl2Cbb38mTYVuyndCO--pAbw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VrvCl2Cbb38mTYVuyndCO--pAbw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=lkjzNfkaQG8:IS90CC7r4Ko:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=lkjzNfkaQG8:IS90CC7r4Ko:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=lkjzNfkaQG8:IS90CC7r4Ko:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=lkjzNfkaQG8:IS90CC7r4Ko:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=lkjzNfkaQG8:IS90CC7r4Ko:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=lkjzNfkaQG8:IS90CC7r4Ko:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/punto-libre/ThLq/~4/lkjzNfkaQG8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.punto-libre.org/feeds/5640370571217097233/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6046113441465225551&amp;postID=5640370571217097233&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/5640370571217097233?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/5640370571217097233?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/punto-libre/ThLq/~3/lkjzNfkaQG8/fedora-16-verne-liberada.html" title="Fedora 16 Verne Liberada!" /><author><name>Ramphis Che</name><uri>http://www.blogger.com/profile/05581561744671774139</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="22" height="32" src="http://2.bp.blogspot.com/-Ab2fzXfSq1Q/Tfe7GKhkIdI/AAAAAAAAAnQ/ajcbgJQavo4/s220/JustFace1.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.punto-libre.org/2011/11/fedora-16-verne-liberada.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08HSH07fCp7ImA9WhRTEE8.&quot;"><id>tag:blogger.com,1999:blog-6046113441465225551.post-2966068338093853541</id><published>2011-10-30T18:50:00.000-07:00</published><updated>2011-10-30T18:50:39.304-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-30T18:50:39.304-07:00</app:edited><title>Software libre ¿Público, social?</title><content type="html">Interesante entrevista realizada en Santo Domingo, Republica Dominicana en el programa "Ojalá" a&amp;nbsp;Paola Miño del Ecuador, Octavio Rosell de Venezuela, Tatiana Al-Chueyr y Alexandre Oliva de Brasil, en la que cuentan los avances producidos por el Software Libre en sus respectivos países.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;center&gt;&lt;iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/zqvv4w6kaNI" width="420"&gt;&lt;/iframe&gt;&lt;/center&gt;

&lt;center&gt;&lt;iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/LvHolGOCbgk" width="420"&gt;&lt;/iframe&gt;&lt;/center&gt;

&lt;center&gt;&lt;iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/AvnNnAjtY5c" width="420"&gt;&lt;/iframe&gt;&lt;/center&gt;
&lt;br /&gt;
Visto en &lt;a href="http://www.codigolibre.org/"&gt;www.codigolibre.org&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6046113441465225551-2966068338093853541?l=www.punto-libre.org' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zdXa2V1ctXBMivpgfGeMPc0VbP4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zdXa2V1ctXBMivpgfGeMPc0VbP4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zdXa2V1ctXBMivpgfGeMPc0VbP4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zdXa2V1ctXBMivpgfGeMPc0VbP4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=zOiYeecBZjw:8gG9q9BPSBU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=zOiYeecBZjw:8gG9q9BPSBU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=zOiYeecBZjw:8gG9q9BPSBU:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=zOiYeecBZjw:8gG9q9BPSBU:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=zOiYeecBZjw:8gG9q9BPSBU:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=zOiYeecBZjw:8gG9q9BPSBU:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/punto-libre/ThLq/~4/zOiYeecBZjw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.punto-libre.org/feeds/2966068338093853541/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6046113441465225551&amp;postID=2966068338093853541&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/2966068338093853541?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/2966068338093853541?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/punto-libre/ThLq/~3/zOiYeecBZjw/software-libre-publico-social.html" title="Software libre ¿Público, social?" /><author><name>Ramphis Che</name><uri>http://www.blogger.com/profile/05581561744671774139</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="22" height="32" src="http://2.bp.blogspot.com/-Ab2fzXfSq1Q/Tfe7GKhkIdI/AAAAAAAAAnQ/ajcbgJQavo4/s220/JustFace1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/zqvv4w6kaNI/default.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.punto-libre.org/2011/10/software-libre-publico-social.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMFQX4zeyp7ImA9WhdbFkQ.&quot;"><id>tag:blogger.com,1999:blog-6046113441465225551.post-779368474487447435</id><published>2011-10-15T08:58:00.000-07:00</published><updated>2011-10-15T09:00:10.083-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-15T09:00:10.083-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Tutoriales" /><category scheme="http://www.blogger.com/atom/ns#" term="GNU-Linux" /><title>NIS: Guia de Instalación y Configuración en CentOS</title><content type="html">&lt;b&gt;NIS&lt;/b&gt; (Network Information Services o anteriormente conocido como Sun Yellow Pages) es un servicio de directorios para la distribución y centralización de datos originalmente desarrollado por &lt;b&gt;Sun Microsystem&lt;/b&gt;s y actualmente disponible libremente en todas las distribuciones de Linux y variantes Unix.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Con &lt;b&gt;NIS&lt;/b&gt; vamos a poder centralizar los nombres de usuarios, contraseñas de acceso, nombres de los equipos, entre otras cosas más en una infraestructura Unix.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;NIS &lt;/b&gt;es&amp;nbsp;comúnmente&amp;nbsp;utilizado en conjunto con&lt;b&gt; NFS&lt;/b&gt;, en esta guia solo nos basaremos en &lt;b&gt;NIS&lt;/b&gt;, pero les dejare un ejemplo claro de las posiblidades de este duo dinamico (Luego escribire una&amp;nbsp;guía&amp;nbsp;sobre este ejemplo):&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;"Tenemos un servidor central corriendo NFS y NIS, con NFS se distribuye la partición /userdata y con NIS se distribuye la información de autentificación y resolucion de nombres. Los clientes estan configurados para autentificar a traves de NIS y tienen montada la partición /userdata, los usuarios del servidor NIS tienen su "home" en la partición /userdata, permitiendo que los datos de usuario y credenciales de acceso esten centralizadas en un servidor".&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://www.diablotin.com/librairie/networking/puis/figs/puis_1901.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.diablotin.com/librairie/networking/puis/figs/puis_1901.gif" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
En esta guia estaré utilizando servidores CentOS, y empezamos con la instalación de los paquetes necesarios en el servidor:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;# yum install ypbind yp-tools ypserv&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Luego editamos el archivo &lt;b&gt;/etc/yp.conf &lt;/b&gt;en donde agregamos la siguiente linea donde "&lt;b&gt;punto-libre.org&lt;/b&gt;" es el dominio &lt;b&gt;NIS&lt;/b&gt; y la IP mostrada es la IP del servidor:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;domain punto-libre.org server 10.0.1.200&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Luego editamos el archivo /etc/ypserv.conf dejandolo de esta manera:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;dns: no&lt;/b&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#En caso de que no encuentre algun host en la tabla host, que no lo resuelva por DNS&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;files: 30&lt;/b&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #Cantidad de mapas que se van a cachear, en 0 se deshabilita el cache&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;xfr_check_port: yes&lt;/b&gt; # Verifica que las solicitudes solo sean permitidas por puertos menores a 1024&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
#Se especifican los mapas que se van a servir, el * significa todo&lt;/div&gt;
&lt;div&gt;
#Host &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : Domain &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : &amp;nbsp;Map &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : port&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;* &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: &amp;nbsp;shadow.byname &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: port&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;* &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: &amp;nbsp;passwd.adjunct.byname &amp;nbsp;: port&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;* &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: &amp;nbsp;hosts.byaddr &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : port&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;* &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : * &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: &amp;nbsp;hosts.byaddr &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : port&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
En la parte "&lt;b&gt;Map&lt;/b&gt;" podemos especificar los mapass o el valor &lt;b&gt;*&lt;/b&gt;, si queremos distribuir todas las tablas, en el ejemplo anterior estamos distribuyendo passwd, shadow y hosts.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
En el siguiente paso es crear el archivo &lt;b&gt;/var/yp/securenets&lt;/b&gt;, este especificara los hosts y redes que podran consultar nuestro servidor NIS, por ejemplo en caso de que sea la red &lt;b&gt;10.0.1.0/24&lt;/b&gt; y nuestro mismo server tendria el siguiente contenido:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;host 127.0.0.1&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;255.255.255.0 10.0.1.0&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
En caso de permitir cualquier red, con el siguiente contenido estaria bien:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;0.0.0.0 0.0.0.0&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Luego integramos nuestro servidor al dominio agregando al archivo /etc/sysconfig/network el siguiente parametro:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;NISDOMAIN="punto-libre.org"&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Luego ejecutamos los siguientes comandos:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;# domainname punto-libre.org&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;# ypdomainname punto-libre.org&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;# hostname servidor.punto-libre.org&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Despues creamos los mapas &lt;b&gt;NIS&lt;/b&gt;, ejecutando el siguiente comando:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;# /usr/lib/yp/ypinit -m&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Y luego pulsando Control + D, luego Yes.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
El nombre del servidor debe de estar resuelto, en caso de no tenerlo resuelto a traves de algun DNS, agregar al archivo /etc/hosts, algo parecido a esto:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;10.0.1.200 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; server.opencop.net &amp;nbsp; &amp;nbsp; &amp;nbsp;server &amp;nbsp; &amp;nbsp; opencop.net&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Para terminar con el servidor subimos todos los servicios:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;# service ypbind start &amp;amp;&amp;amp;&amp;nbsp;service yppasswdd start &amp;amp;&amp;amp;&amp;nbsp;service ypxfrd start &amp;amp;&amp;amp;&amp;nbsp;&lt;/b&gt;&lt;b&gt;service portmap restart&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Luego los ponemos en el arranque del sistema:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;#&amp;nbsp;chkconfig ypbind on &amp;amp;&amp;amp;&amp;nbsp;chkconfig yppasswd &amp;amp;&amp;amp;&amp;nbsp;chkconfig ypxfrd start &amp;amp;&amp;amp;&amp;nbsp;&lt;/b&gt;&lt;b&gt;service portmap start&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Cliente NIS:&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Al cliente NIS le instalamos los siguientes paquetes:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;# service ypbind yp-tools&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Luego realizamos la misma configuración que en la parte servidora en los archivos &lt;b&gt;/etc/yp.conf &lt;/b&gt;y &lt;b&gt;/etc/hosts&lt;/b&gt;, y los comandos &lt;b&gt;domainname&lt;/b&gt; y &lt;b&gt;ypdomainname&lt;/b&gt; anteriormente vistos.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Editamos el archivo&lt;b&gt; /etc/nsswitch.conf&lt;/b&gt;, agregandole "&lt;b&gt;nis&lt;/b&gt;" de la siguiente manera:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;passwd: &amp;nbsp;file nis&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;shadow: &amp;nbsp;file nis&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;group: &amp;nbsp; &amp;nbsp; file nis&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Luego ponemos subimos el servicio ypbind y reiniciamos el portmap:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;# service ypbind start &amp;amp;&amp;amp; service portmap restart&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Luego los ponemos en el arranque del sistema:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;# chkconfig ypbind on &amp;amp;&amp;amp; chkconfig portmap on&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Finalmente con ypcat verificamos que estamos recibiendo lo que queremos (Solamente se recibiran los datos que no tengamos en el archivo passwd local):&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;# ypcat passwd&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Y deberia mostrar:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;carolina:!!:500:500::/userdata/carolina:/bin/bash&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;wilfredo:!!:502:502::/userdata/wilfredo:/bin/bash&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;alfredo:!!:501:501::/userdata/alfredo:/bin/bash&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Y podremos acceder con esos usuarios... Luego veremos una&amp;nbsp;guía&amp;nbsp;donde integraremos&lt;b&gt; NFS con NIS&lt;/b&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6046113441465225551-779368474487447435?l=www.punto-libre.org' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/WkmdIaEnevhA4Vsck0xreuACOi0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WkmdIaEnevhA4Vsck0xreuACOi0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/WkmdIaEnevhA4Vsck0xreuACOi0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WkmdIaEnevhA4Vsck0xreuACOi0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=72C4erYvs_A:z1Q4Jh_mX-4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=72C4erYvs_A:z1Q4Jh_mX-4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=72C4erYvs_A:z1Q4Jh_mX-4:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=72C4erYvs_A:z1Q4Jh_mX-4:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=72C4erYvs_A:z1Q4Jh_mX-4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=72C4erYvs_A:z1Q4Jh_mX-4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/punto-libre/ThLq/~4/72C4erYvs_A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.punto-libre.org/feeds/779368474487447435/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6046113441465225551&amp;postID=779368474487447435&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/779368474487447435?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/779368474487447435?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/punto-libre/ThLq/~3/72C4erYvs_A/nis-guia-de-configuracion.html" title="NIS: Guia de Instalación y Configuración en CentOS" /><author><name>Ramphis Che</name><uri>http://www.blogger.com/profile/05581561744671774139</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="22" height="32" src="http://2.bp.blogspot.com/-Ab2fzXfSq1Q/Tfe7GKhkIdI/AAAAAAAAAnQ/ajcbgJQavo4/s220/JustFace1.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.punto-libre.org/2011/10/nis-guia-de-configuracion.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8GQHwyeyp7ImA9WhdbFkg.&quot;"><id>tag:blogger.com,1999:blog-6046113441465225551.post-5726362045313640523</id><published>2011-10-14T20:52:00.000-07:00</published><updated>2011-10-14T20:53:41.293-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-14T20:53:41.293-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Tutoriales" /><category scheme="http://www.blogger.com/atom/ns#" term="GNU-Linux" /><title>Iptables: Guia de Referencia</title><content type="html">&lt;a href="http://1.bp.blogspot.com/-KQ1CY7JCRpQ/TpkC15zLx5I/AAAAAAAAA8E/zyWwWgu20aI/s1600/screenshot3.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="201" src="http://1.bp.blogspot.com/-KQ1CY7JCRpQ/TpkC15zLx5I/AAAAAAAAA8E/zyWwWgu20aI/s320/screenshot3.png" width="320" /&gt;&lt;/a&gt;&lt;b&gt;Iptables&lt;/b&gt; es el componente más popular construido sobre &lt;b&gt;Netfilter &lt;/b&gt;(Framework disponible en el&amp;nbsp;núcleo&amp;nbsp;Linux que permite interceptar y manipular paquetes de red), un sistema de Firewall que se ha extendido desde el kernel 2.4, a diferencia de otros Firewalls, este está integrado al Kernel, es parte del sistema operativo.&lt;br /&gt;
&lt;br /&gt;
Esta&amp;nbsp;guía&amp;nbsp;pretende mostrarte los conceptos y las sintaxis de las reglas que vamos a poder aplicar a Iptables.&lt;br /&gt;
&lt;br /&gt;
Anteriormente ya&amp;nbsp;había&amp;nbsp;escrito algunas&amp;nbsp;guías&amp;nbsp;que tienen algo que ver con Iptables pero a nivel de front-end con Shorewall:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.punto-libre.org/2010/12/implementando-un-firewall-basico-con.html"&gt;-Implementando un firewall Básico con Shorewall&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.punto-libre.org/2011/03/servidor-vpn-con-openvpnshorewall-y.html"&gt;-Servidor VPN con OpenVPN y Shorewall&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Para empezar debemos saber que un Firewall puede funcionar de dos modos:&lt;br /&gt;
&lt;br /&gt;
A) Aceptando todo y denegando solo lo que se especifique.&lt;br /&gt;
B) Denegando todo y aceptando solo lo que se especifique.&lt;br /&gt;
&lt;br /&gt;
Las reglas en &lt;b&gt;Iptables&lt;/b&gt; se especifican en cadenas que&amp;nbsp;están&amp;nbsp;en tablas que se clasifican en dos tipos: &lt;b&gt;filter&lt;/b&gt; &amp;amp;&lt;b&gt; nat&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Las tablas tipo &lt;b&gt;filter&lt;/b&gt; tienen las siguientes cadenas:&lt;br /&gt;
&lt;br /&gt;
1) &lt;b&gt;INPUT:&lt;/b&gt; Son los paquetes que van al Firewall (Que entran al firewall).&lt;br /&gt;
2) &lt;b&gt;OUTPUT:&lt;/b&gt; Son los paquetes que son generados por el Firewall (Que salen del firewall)&lt;br /&gt;
3) &lt;b&gt;FORWARD:&lt;/b&gt; Son los paquetes que son reenviados por el Firewall (Que vienen de un Host, pasan por el firewall, y van a otro Host o viceversa).&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Las tablas tipo &lt;b&gt;nat &lt;/b&gt;tienen las siguientes cadenas:&lt;br /&gt;
&lt;br /&gt;
1) &lt;b&gt;PREROUTING&lt;/b&gt;: &amp;nbsp;La traducción de direcciónes ocurre antes de el enrutamiento.&lt;br /&gt;
2) &lt;b&gt;POSTROUTING&lt;/b&gt;: La traducción de direcciones ocurre despues de el enrutamiento.&lt;br /&gt;
&lt;br /&gt;
Antes de empezar a configurar Iptables lo recomendable es que limpiemos toda su configuración, ejecutando los siguientes comandos:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# iptables -F&lt;/b&gt; (Se borran las reglas de la tabla filter)&lt;br /&gt;
&lt;b&gt;# iptables -t nat -F &lt;/b&gt;(Se borran las reglas de la tabla nat)&lt;br /&gt;
&lt;b&gt;# iptables -Z&lt;/b&gt; &amp;nbsp;(se reinician los contadores de paquetes)&lt;br /&gt;
&lt;br /&gt;
Luego podemos guardar la configuración utilizando el script de inicio con la opcion save, por ejemplo:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# /etc/init.d/iptables save&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Para mostrar todas las cadenas de la tabla&lt;b&gt; filter&lt;/b&gt; podemos ejecutar uno de los siguientes comandos:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# iptables -t filter -L&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;# iptables -L &amp;nbsp; &lt;/b&gt;(Ya que por defecto muestra las del tipo filter)&lt;br /&gt;
&lt;br /&gt;
Y para mostrar todas las cadenas de la tabla &lt;b&gt;nat&lt;/b&gt; lo especificamos así:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# iptables -t nat -L&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
Tambien podemos especificar una cadena especifica:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# iptables -L INPUT&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Cada cadena tiene una politica por defecto que va a determinar el tipo de Firewall que estamos creando, esta politica la podemos definir con la opcion &lt;b&gt;-P&lt;/b&gt;, guiandonos de la siguiente sintaxis:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# iptables -P CHAIN POLICY&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
Donde &lt;b&gt;CHAIN&lt;/b&gt; es el nombre de la cadena (INPUT, OUTPUT, etc), y &lt;b&gt;POLICY&lt;/b&gt; es la politica por defecto que puede ser ACCEPT (Acepta el paquete) o DROP (No acepta el paquete).&lt;br /&gt;
&lt;br /&gt;
Si queremos que nuestro firewall deniegue todas las conecciones entrantes y acepte solo lo especificado, ejecutariamos el siguiente comando:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# iptables -P INPUT DROP&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Si queremos que acepte todas las conecciones entrantes y deniegue solo lo especificado, ejecutariamos el siguiente comando:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# iptables -P INPUT ACCEPT&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Si queremos que acepte todas las conecciones salientes y deniegue solo las especificadas,&amp;nbsp;ejecutaríamos:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# iptables -P OUTPUT ACCEPT&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
Dado el caso de que tendriamos nuestro firewall configurado para que deniegue todas las conecciones entrantes y acepte todas las salientes, y quisieramos aceptar el trafico desde una IP especifica, podemos añadir una regla con las opciones:&lt;b&gt; -A&lt;/b&gt;&amp;nbsp;(Append), &lt;b&gt;-s&lt;/b&gt;&amp;nbsp;(Source), &lt;b&gt;-j&lt;/b&gt; (Jump).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# iptables -A INPUT -s 10.0.1.10 -j ACCEPT&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
Si queremos aceptar el trafico desde una interfaz especifica agregamos la opcion &lt;b&gt;-i &lt;/b&gt;(Inbound):&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# iptables -A INPUT -i eth0 -j ACCEPT&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Si queremos aceptar el trafico desde una interfaz e IP especifica (Combinamos las dos opciones):&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# iptables -A INPUT -i eth0 -s 10.0.1.10 -j ACCEPT&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Si&amp;nbsp;quisiéramos&amp;nbsp;ser más&amp;nbsp;específicos&amp;nbsp;y aceptar el trafico desde un protocolo, interfaz e IP especifica, le agregamos la&amp;nbsp;opción&lt;b&gt;&amp;nbsp;-p&lt;/b&gt; para especificar el protocolo (tcp/udp) y luego la&amp;nbsp;opción&amp;nbsp;&lt;b&gt;--dport&lt;/b&gt; para especificar un puerto destino:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# iptables -A INPUT -i eth0 -s 10.0.1.10 -p tcp --dport 22 -j ACCEPT&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
Si fuera desde una subred completa y un rango de puertos:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# iptables -A INPUT -i eth0 -s 10.0.1.0/24 -p tcp --dport 22:100 -j ACCEPT&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Les dejo unos ejemplos más para terminar con las cadenas INPUT &amp;amp; OUTPUT:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# iptables -A INPUT -p tcp --dport 8080 -j DROP &lt;/b&gt;(Evitar acceso al puerto 8080 del Firewall)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# iptables -A OUTPUT -p tcp --dport 23 -j DROP &lt;/b&gt;(No permitir que salgan&amp;nbsp;conexiones Telnet)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# iptables -A INPUT -p udp --dport 53 -j DROP &lt;/b&gt;(Evitar acceso al puerto UDP 53 del Firewall)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;IP Forwarding:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
El Kernel Linux tiene la capacidad de retransmitir o reenviar los paquetes que se reciben por una interfaz a otra interfaz utilizando el mecanismo "IP Forwarding", por lo tanto este mecanismo es necesario para poner a funcionar la cadena FORWARD.&lt;br /&gt;
&lt;br /&gt;
Por defecto IP Forwarding no esta activado, para activarlo&amp;nbsp;bastaría&amp;nbsp;con ponerle un "1" al fichero &lt;b&gt;/proc/sys/net/ipv4/ip_forward:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# echo 1 /proc/sys/net/ipv4/ip_forward&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Pero para que el cambio se refleje al reiniciar la maquina es necesario que la opcion&amp;nbsp;&lt;b&gt;net.ipv4.ip_forward&lt;/b&gt; tenga un "1" en el fichero&lt;b&gt; /etc/sysctl.conf&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Teniendo IP Forwarding habilitado y una politica por defecto de la cadena &lt;b&gt;FORWARD&lt;/b&gt; en &lt;b&gt;ACCEPT,&lt;/b&gt; podemos especificar servicios que no queremos que se reenvien, por ejemplo:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# iptables -A FORWARD -p tcp --dport 80 -j DROP&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;# iptables -A FORWARD -p udp --dport 53 -j DROP&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Manipulación de Paquetes:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
A traves de la tabla &lt;b&gt;nat&lt;/b&gt;, iptables nos permite manipular los paquetes utilizando las siguientes cadenas:&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;PREROUTING:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
Como mencionamos anteriormente con la cadena &lt;b&gt;PREROUTING&lt;/b&gt; de la tabla &lt;b&gt;NAT&lt;/b&gt; podemos manipular los paquetes antes del enrutamiento, esta la podemos usar cuando vallamos a realizar un &lt;b&gt;DNAT&lt;/b&gt; (Destination Network Address Traslation): Tecnica para cambiar de forma&amp;nbsp;transparente&amp;nbsp;el destino de un paquete.&lt;br /&gt;
&lt;br /&gt;
Aclaremos su funcionamiento con un breve ejemplo en&lt;b&gt; Iptables&lt;/b&gt;, si por ejemplo quisieramos cambiar el destino de los paquetes de una maquina que entren por el puerto tcp 22 del firewall iptables a el puerto 3000 de otro servidor:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# iptables -t nat -A PREROUTING -s 10.0.1.10 -p tcp --dport 22 -j DNAT --to-destination servidor2:3000&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Como podemos ver estamos especificando primeramente que utilizaremos la tablat &lt;b&gt;nat&lt;/b&gt;, agregando en la cadena &lt;b&gt;PREROUTING&lt;/b&gt; una regla que define que los paquetes TCP 22 que vengan del host 10.0.1.10 sean transferidos al puerto 3000 del servidor2.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;POSTROUTING:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
Con la cadena &lt;b&gt;POSTROUTING&lt;/b&gt; podemos manipular los paquetes exactamente antes de mandarlos a la red, en esta cadena realizamos un &lt;b&gt;SNAT&lt;/b&gt; (Source Network Address Traslation): Tecnica para cambiar de forma transparente el origen de un paquete.&lt;br /&gt;
&lt;br /&gt;
Su funcionamiento queda claro en los siguientes ejemplos:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;#iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 10.0.1.1&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
En el ejemplo anterior estamos cambiando la dirección de origen de los paquetes que salen por eth0 a 10.0.1.1.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;#iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 10.0.1.1-10.0.1.9&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
En el ejemplo anterior estamos cambiando la dirección de origen de los paquetes que salen por eth0 a un rango de direcciónes.&lt;br /&gt;
&lt;br /&gt;
La forma mas común en donde se refleja el uso del SNAT es en la tecnica llamada &lt;b&gt;enmascaramiento&lt;/b&gt; "MASQUERADING", utilizado para que el Firewall enmascare las IP de la red local con la IP con la que el accede a otras redes (Por ejemplo internet), en pocas palabras todas las peticiones desde la red local a otras redes seran vistas como si provienen del Firewall.&lt;br /&gt;
&lt;br /&gt;
Podemos realizar un enmascaramiento guiandonos de este ejemplo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# iptables -t nat -A POSTROUTING -s 10.0.1.0/24 -o eth0 -j MASQUERADE&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
En el ejemplo anterior enmascaramos los paquetes que provienen de la red 10.0.1.0/24, para que salgan por la interfaz eth0 con la IP del Firewall.&lt;br /&gt;
&lt;br /&gt;
Para finalizar con esta guia de Iptables les mostrare un diagrama que explica el flujo de los paquetes en base a las tablas y cadenas de Iptables:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-aOVJjFPlTbQ/TpkCax8gp7I/AAAAAAAAA78/q8PcQtv4rJc/s1600/screenshot2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://2.bp.blogspot.com/-aOVJjFPlTbQ/TpkCax8gp7I/AAAAAAAAA78/q8PcQtv4rJc/s640/screenshot2.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6046113441465225551-5726362045313640523?l=www.punto-libre.org' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/R0GMNhj9rmBA7R6g0mTyHMEB6BU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/R0GMNhj9rmBA7R6g0mTyHMEB6BU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/R0GMNhj9rmBA7R6g0mTyHMEB6BU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/R0GMNhj9rmBA7R6g0mTyHMEB6BU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=n8-0fDDlCAA:Zd5YM_iNkt8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=n8-0fDDlCAA:Zd5YM_iNkt8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=n8-0fDDlCAA:Zd5YM_iNkt8:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=n8-0fDDlCAA:Zd5YM_iNkt8:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=n8-0fDDlCAA:Zd5YM_iNkt8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=n8-0fDDlCAA:Zd5YM_iNkt8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/punto-libre/ThLq/~4/n8-0fDDlCAA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.punto-libre.org/feeds/5726362045313640523/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6046113441465225551&amp;postID=5726362045313640523&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/5726362045313640523?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/5726362045313640523?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/punto-libre/ThLq/~3/n8-0fDDlCAA/iptables-guia-de-referencia.html" title="Iptables: Guia de Referencia" /><author><name>Ramphis Che</name><uri>http://www.blogger.com/profile/05581561744671774139</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="22" height="32" src="http://2.bp.blogspot.com/-Ab2fzXfSq1Q/Tfe7GKhkIdI/AAAAAAAAAnQ/ajcbgJQavo4/s220/JustFace1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-KQ1CY7JCRpQ/TpkC15zLx5I/AAAAAAAAA8E/zyWwWgu20aI/s72-c/screenshot3.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://www.punto-libre.org/2011/10/iptables-guia-de-referencia.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEEDR388fCp7ImA9WhdUE0k.&quot;"><id>tag:blogger.com,1999:blog-6046113441465225551.post-7890555343140310008</id><published>2011-09-29T14:34:00.000-07:00</published><updated>2011-09-29T18:37:56.174-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T18:37:56.174-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="GNU-Linux" /><title>Convertir disco virtual formato .vdi a .vmdk o viceversa</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-RHBYdDZ0AxM/ToUdaP8z5QI/AAAAAAAAA74/DgJ4YoDmVLU/s1600/virtualbox-to-vmware-thumb.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="137" src="http://4.bp.blogspot.com/-RHBYdDZ0AxM/ToUdaP8z5QI/AAAAAAAAA74/DgJ4YoDmVLU/s320/virtualbox-to-vmware-thumb.gif" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
Hoy tuve que buscar la forma de convertir un disco duro virtual formato &lt;b&gt;.vdi&lt;/b&gt; creado por &lt;b&gt;Virtualbox&lt;/b&gt; a formato &lt;b&gt;.vmdk&lt;/b&gt; para poder usarlo en &lt;b&gt;Vmware&lt;/b&gt;, y aqui les dejo como lo pude hacer.&amp;nbsp;Para realizar los comandos que les mostrare necesitaran tener instalado &lt;b&gt;Qemu&lt;/b&gt; y &lt;b&gt;Virtualbox&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Para convertir de .vdi a .vmdk&lt;/b&gt; primero tenemos que convertir el disco &lt;b&gt;.vdi&lt;/b&gt; a formato &lt;b&gt;.raw&lt;/b&gt; de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# vboxmanage internalcommands converttoraw disco.vdi disco.raw&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Y luego convertir de formato&lt;b&gt; .raw&lt;/b&gt; a formato &lt;b&gt;.vmdk&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;#&amp;nbsp;qemu-img convert -O vmdk disco.raw disco.vmdk&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Y en unos minutos tendremos nuestro disco &lt;b&gt;.vmdk&lt;/b&gt;, para hacer lo contrario debemos convertir el disco &lt;b&gt;.vmdk&lt;/b&gt; a formato &lt;b&gt;.bin&lt;/b&gt; de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# qemu-img convert disco.vmdk disco.bin&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Y luego convertimos la imagen &lt;b&gt;.bin&lt;/b&gt; a &lt;b&gt;.vdi&lt;/b&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# vboxmanage convertdd disco.bin disco.vdi&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Y en unos minutos tendremos nuestro disco &lt;b&gt;.vdi.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Saludos!&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6046113441465225551-7890555343140310008?l=www.punto-libre.org' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/uZWSuqN3tdDwQL2GhPXjUNoANFA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uZWSuqN3tdDwQL2GhPXjUNoANFA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/uZWSuqN3tdDwQL2GhPXjUNoANFA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uZWSuqN3tdDwQL2GhPXjUNoANFA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=xgGW3yZCH4A:kBsvdrMUTaY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=xgGW3yZCH4A:kBsvdrMUTaY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=xgGW3yZCH4A:kBsvdrMUTaY:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=xgGW3yZCH4A:kBsvdrMUTaY:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=xgGW3yZCH4A:kBsvdrMUTaY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=xgGW3yZCH4A:kBsvdrMUTaY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/punto-libre/ThLq/~4/xgGW3yZCH4A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.punto-libre.org/feeds/7890555343140310008/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6046113441465225551&amp;postID=7890555343140310008&amp;isPopup=true" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/7890555343140310008?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/7890555343140310008?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/punto-libre/ThLq/~3/xgGW3yZCH4A/convertir-disco-virtual-formato-vdi.html" title="Convertir disco virtual formato .vdi a .vmdk o viceversa" /><author><name>Ramphis Che</name><uri>http://www.blogger.com/profile/05581561744671774139</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="22" height="32" src="http://2.bp.blogspot.com/-Ab2fzXfSq1Q/Tfe7GKhkIdI/AAAAAAAAAnQ/ajcbgJQavo4/s220/JustFace1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-RHBYdDZ0AxM/ToUdaP8z5QI/AAAAAAAAA74/DgJ4YoDmVLU/s72-c/virtualbox-to-vmware-thumb.gif" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://www.punto-libre.org/2011/09/convertir-disco-virtual-formato-vdi.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUUDQ3c_eCp7ImA9WhdUE0w.&quot;"><id>tag:blogger.com,1999:blog-6046113441465225551.post-3821086709571089536</id><published>2011-09-29T09:14:00.000-07:00</published><updated>2011-09-29T09:21:12.940-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T09:21:12.940-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Programacion" /><category scheme="http://www.blogger.com/atom/ns#" term="GNU-Linux" /><title>Perl - Net::SMTP::TLS - Mandar correos via SMTP con TLS</title><content type="html">&lt;a href="http://crazyengico.com/images/perl_programmer.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://crazyengico.com/images/perl_programmer.gif" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;b&gt;Hola Mundo!&amp;nbsp;&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
Gracias a la necesidad de mandar notificaciónes de Nagios utilizando un servidor &lt;b&gt;SMTP&lt;/b&gt; remoto busque la manera de crear un script que me permita tal tarea, y adivine quien me ayudo? &lt;b&gt;PERL&lt;/b&gt;!&lt;br /&gt;
&lt;br /&gt;
Gracias a &lt;b&gt;Perl &lt;/b&gt;y el modulo &lt;b&gt;Net::SMTP::TLS&lt;/b&gt; pude crear un script que me permitio mandar correos a un servidor SMTP remoto que requiera TLS y autentificación (Por ejemplo Gmail como en este caso).&lt;br /&gt;
&lt;br /&gt;
Antes de darles algunos ejemplos del script para que lo adapten a sus necesidades les voy a mostrar como instalar el modulo Net::SMTP::TLS, lo primero es entrar al "&lt;b&gt;cpan shell&lt;/b&gt;":&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;# &lt;b&gt;perl -MCPAN -e shell&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;cpan shell -- CPAN exploration and modules installation (v1.9456)&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Enter 'h' for help.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;cpan[1]&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Luego instalamos el modulo:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;cpan[1]&amp;gt; &lt;b&gt;install Net::SMTP::TLS&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
Empezará a descargar el modulo,&amp;nbsp;automáticamente&amp;nbsp;lo instalará y estaremos listos para usarlo.&lt;br /&gt;
&lt;br /&gt;
Abrimos un editor de textos y nos guiamos de este script de ejemplo:&lt;br /&gt;
&lt;br /&gt;
====================================================&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;#!/usr/bin/perl -w&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;use Net::SMTP::TLS;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;$destinatario=$ARGV[1];&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;$mensaje=$ARGV[2];&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;my $smtp = new Net::SMTP::TLS('smtp.gmail.com',&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Hello &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;=&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'smtp.gmail.com',&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Port &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; =&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 587,&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;User &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;=&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'usuario@gmail.com',&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Password=&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Contraseña18');&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;$smtp-&amp;gt;mail('usuario@gmail.com');&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;$smtp-&amp;gt;to("$destinatario");&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;$smtp-&amp;gt;data;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;$smtp-&amp;gt;datasend("To: $destinatario\n");&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;$smtp-&amp;gt;datasend("From: usuario@gmail.com');&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;$smtp-&amp;gt;datasend("\n");&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;$mailer-&amp;gt;datasend("Subject: Este es el asunto\n");&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;$mailer-&amp;gt;datasend("\n");&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;$mailer-&amp;gt;datasend("$mensaje\n");&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;$mailer-&amp;gt;dataend();&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;$mailer-&amp;gt;quit;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
======================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el ejemplo anterior se puede ver como se carga el modulo &lt;b&gt;Net::SMTP::TLS&lt;/b&gt;, y declaran dos variables, las cuales seran igual al primer y el segundo argumento, luego el script se autentificará con los datos pre-establecidos y mandara el correo.&lt;br /&gt;
&lt;br /&gt;
Guardamos nuestro script, le damos permisos de ejecución "chmod +x script.pl", y lo utilizamos de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;./script.pl probando@gmail.com "Este es un mensaje enviado desde Perl"&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Y listo, luego les cuento como utilizar este script en las notificaciones de Nagios.&lt;br /&gt;
&lt;br /&gt;
Saludos!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6046113441465225551-3821086709571089536?l=www.punto-libre.org' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CJNHhJYN7cfSv0_uo1miKpaZWv0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CJNHhJYN7cfSv0_uo1miKpaZWv0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CJNHhJYN7cfSv0_uo1miKpaZWv0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CJNHhJYN7cfSv0_uo1miKpaZWv0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=RN0jjeta2W8:Je6lcq3xvFs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=RN0jjeta2W8:Je6lcq3xvFs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=RN0jjeta2W8:Je6lcq3xvFs:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=RN0jjeta2W8:Je6lcq3xvFs:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=RN0jjeta2W8:Je6lcq3xvFs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=RN0jjeta2W8:Je6lcq3xvFs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/punto-libre/ThLq/~4/RN0jjeta2W8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.punto-libre.org/feeds/3821086709571089536/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6046113441465225551&amp;postID=3821086709571089536&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/3821086709571089536?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/3821086709571089536?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/punto-libre/ThLq/~3/RN0jjeta2W8/perl-netsmtptls-mandar-correos-via-smtp.html" title="Perl - Net::SMTP::TLS - Mandar correos via SMTP con TLS" /><author><name>Ramphis Che</name><uri>http://www.blogger.com/profile/05581561744671774139</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="22" height="32" src="http://2.bp.blogspot.com/-Ab2fzXfSq1Q/Tfe7GKhkIdI/AAAAAAAAAnQ/ajcbgJQavo4/s220/JustFace1.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://www.punto-libre.org/2011/09/perl-netsmtptls-mandar-correos-via-smtp.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUUMSXo7fSp7ImA9WhdUE0w.&quot;"><id>tag:blogger.com,1999:blog-6046113441465225551.post-7353917998638847762</id><published>2011-09-26T05:00:00.000-07:00</published><updated>2011-09-29T09:21:28.405-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T09:21:28.405-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="GNU-Linux" /><title>Systemd: Servicios y Runlevels en Fedora 15</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://jorjerojas.com/wp-content/uploads/fedora.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="91" src="http://jorjerojas.com/wp-content/uploads/fedora.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;
Un cambio no tan notable para los usuarios, pero si muy&amp;nbsp;drástico&amp;nbsp;para los administradores o usuarios avanzados es la implementación de&lt;b&gt; &lt;/b&gt;&lt;a href="http://en.wikipedia.org/wiki/Systemd"&gt;Systemd&lt;/a&gt; para manejar los servicios y runlevels, por tal motivo se utliza el comando "systemctl" para manejar los servicios en vez "services".&lt;br /&gt;
&lt;br /&gt;
Los Scripts de inicio que utiliza services se encuentran en &lt;b&gt;/etc/init.d/&lt;/b&gt; y los que usa systemctl se encuentran en&lt;b&gt; /lib/systemd/system/&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
La sintaxis de systemctl es "&lt;b&gt;systemctl comando daemon.service&lt;/b&gt;" siendo comando:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;start - Inicia el servicio&lt;/li&gt;
&lt;li&gt;stop - Detiene el servicio&lt;/li&gt;
&lt;li&gt;restart - Reinicia el servicio&lt;/li&gt;
&lt;li&gt;reload - Recarga el servicio&lt;/li&gt;
&lt;li&gt;status - Muestra el Status del servicio&lt;/li&gt;
&lt;li&gt;enable - Habilita el inicio del servicio al iniciar el sistema&lt;/li&gt;
&lt;li&gt;disable - Deshabilita el inicio del servicio al iniciar el sistema&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Los &lt;b&gt;runlevels&lt;/b&gt; ahora son denominados&lt;b&gt; targets&lt;/b&gt;:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;runlevel 0 ---poweroff.target&lt;/li&gt;
&lt;li&gt;runlevel 1 ---rescue.target&lt;/li&gt;
&lt;li&gt;runlevel 2,3,4 &amp;nbsp;---multi-user.target&lt;/li&gt;
&lt;li&gt;runlevel 5 --- graphical.target&lt;/li&gt;
&lt;li&gt;runlevel 6 ---reboot.target&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Para cambiar al runlevel 1 ejecutamos el siguiente comando:&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;# systemctl isolate rescue.target&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Ya el runlevel por defecto no se determina en inittab, sino con un enlace simbolico de la siguiente manera:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;# ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
De esta manera estamos determinando que el runlevel 3 (multi-user.target) sea el runlevel por defecto (Sobre-escribiendo el default.target).&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6046113441465225551-7353917998638847762?l=www.punto-libre.org' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Do6PdCJ7wvbTBp3Yk2_aiRP6YsI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Do6PdCJ7wvbTBp3Yk2_aiRP6YsI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Do6PdCJ7wvbTBp3Yk2_aiRP6YsI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Do6PdCJ7wvbTBp3Yk2_aiRP6YsI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=R7m8F9UEhAs:FSSxNx6q3c8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=R7m8F9UEhAs:FSSxNx6q3c8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=R7m8F9UEhAs:FSSxNx6q3c8:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=R7m8F9UEhAs:FSSxNx6q3c8:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=R7m8F9UEhAs:FSSxNx6q3c8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=R7m8F9UEhAs:FSSxNx6q3c8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/punto-libre/ThLq/~4/R7m8F9UEhAs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.punto-libre.org/feeds/7353917998638847762/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6046113441465225551&amp;postID=7353917998638847762&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/7353917998638847762?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/7353917998638847762?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/punto-libre/ThLq/~3/R7m8F9UEhAs/systemd-servicios-y-runlevels-en-fedora.html" title="Systemd: Servicios y Runlevels en Fedora 15" /><author><name>Ramphis Che</name><uri>http://www.blogger.com/profile/05581561744671774139</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="22" height="32" src="http://2.bp.blogspot.com/-Ab2fzXfSq1Q/Tfe7GKhkIdI/AAAAAAAAAnQ/ajcbgJQavo4/s220/JustFace1.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.punto-libre.org/2011/09/systemd-servicios-y-runlevels-en-fedora.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEFQHs_fSp7ImA9WhdVFkw.&quot;"><id>tag:blogger.com,1999:blog-6046113441465225551.post-1848024820533267278</id><published>2011-09-21T06:59:00.000-07:00</published><updated>2011-09-21T07:00:11.545-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-21T07:00:11.545-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="GNU" /><category scheme="http://www.blogger.com/atom/ns#" term="VoIP" /><title>Asterisk: Configuración del VoiceMail</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://dixo.com/wp-content/uploads/2010/05/voicemail.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://dixo.com/wp-content/uploads/2010/05/voicemail.jpg" width="199" /&gt;&lt;/a&gt;&lt;/div&gt;
Algo elemental en &lt;b&gt;Asterisk&lt;/b&gt; y en cualquier central&amp;nbsp;telefónica&amp;nbsp;es la configuración de un correo de voz, por tal razón escribo esta pequeña guia que pretende ayudarte en el proceso de configuración de este con Asterisk.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
El archivo principal para la&amp;nbsp;configuración&amp;nbsp;del correo de voz es &lt;b&gt;voicemail.conf&lt;/b&gt;, podemos encontrar una configuración de ejemplo en la fuente de Asterisk, o podemos crear uno desde cero, como en este caso.&lt;br /&gt;
&lt;br /&gt;
De ejemplo tenemos ya configuradas dos extensiones SIP, 1001 y 1002.&amp;nbsp;Creamos nuestro archivo &lt;b&gt;voicemail.conf &lt;/b&gt;en el directorio raiz de Asterisk (Normalmente /etc/asterisk), y vamos&amp;nbsp;agregándole&amp;nbsp;los siguientes&amp;nbsp;parámetros:&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;b&gt;==================Fichero voicemail.conf===================&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;[general]&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;;Formato en el cual se grabaran los mensajes&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;format=gsm|wav&amp;nbsp;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;;Remitente del correo que nos llegara con la notificación de que tenemos un voicemail&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;serveremail=asterisk@punto-libre.org &amp;nbsp;&amp;nbsp;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;;Nombre del remitente del correo que nos llegara&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;fromstring=Asterisk&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;;Activamos que nos mande el voicemail junto con la notificación&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;attach=yes &amp;nbsp;&amp;nbsp;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;;Formato en el cual se enviaran los voicemail por correo&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;attachfmt=gsm&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;;Numero de mensajes maximos que se almacenaran por casilla&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;maxmsg=50 &amp;nbsp;&amp;nbsp;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;;Numero de segundos que durará cada mensaje&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;maxsecs=180 &amp;nbsp;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;;Numero de segundos que podra durar el mensaje personalizado de bienvenida&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;maxgreet=100&amp;nbsp;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;;Numero de milisegundos (1000ms=1segundo) que se podra adelantar un mensaje&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;skipms=5000&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;;Numero Maximo de silencio que se&amp;nbsp;podrá&amp;nbsp;durar antes de que termine la grabación&amp;nbsp;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;maxsilence=5&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;;Parametro que determina lo que se considera ruido, mientras mas bajo... mas sencible&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;silencethreshold=120&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;;Numero maximo de veces que podremos intentar un logueo&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;maxlogins=3&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;;Mover automaticamente los mensajes&amp;nbsp;oídos&amp;nbsp;a la carpeta de mensajes viejos&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;moveheard=yes&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;;Contexto de Voicemail por defecto para los usuarios&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;userscontext=default&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;;Permite que se pueda mandar un Voicemail desde el VoicemailMain&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;b&gt;sendvoicemail=yes&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;/i&gt;&lt;br /&gt;
&lt;div&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;;Declaramos un Contexto de Voicemail&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;[PuntoLibreVmail)&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;;Declaramos las casillas del contexto&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;;Sintaxis: &amp;nbsp; Extension =&amp;gt; Contraseñá, Nombre, Correo, Opciones&amp;nbsp;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;1001 =&amp;gt; 1001, Ramphis Che, rche@prueba.net&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;1002 =&amp;gt; 1002, Wilfredo Che, wche@prueba.net&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;==================Fichero voicemail.conf===================&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Luego procedemos a editar el archivo &lt;b&gt;sip.conf&lt;/b&gt;, y le ponemos a cada usuario el contexto de voicemail a usar y el idioma, por ejemplo:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;==================Fichero sip.conf=======================&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
[1001]&lt;br /&gt;
type=friend&lt;br /&gt;
host=dynamic&lt;br /&gt;
username=1001&lt;/div&gt;
&lt;div&gt;
secret=1001&lt;br /&gt;
voicemail=PuntoLibreVmail&lt;br /&gt;
&lt;b&gt;language=es&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;context=internal&lt;/b&gt;&lt;br /&gt;
dtmfmode=auto&lt;br /&gt;
&lt;br /&gt;
[1002]&lt;br /&gt;
type=friend&lt;br /&gt;
host=dynamic&lt;br /&gt;
username=1002&lt;br /&gt;
secret=1002&lt;br /&gt;
voicemail=PuntoLibreVmail&lt;br /&gt;
&lt;b&gt;language=es&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;context=internal&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
dtmfmode=auto&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;===================Fichero sip.conf======================&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Luego editamos nuestro plan de marcado, editando el archivo extensions.conf de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;==================Fichero extensions.conf===================&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;[internal]&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;i&gt;exten =&amp;gt; _10XX,1,Dial(SIP/${EXTEN},10)&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;exten =&amp;gt; _10XX,n,Voicemail(${EXTEN}@voicemail)&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;include =&amp;gt; voicemail&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;[voicemail]&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;exten =&amp;gt; *99,1,Answer()&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;exten =&amp;gt; *99,n,VoiceMailMain(${CALLERID(num)}@voicemail)&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;exten =&amp;gt; *99,n,Hangup()&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="font-style: normal;"&gt;
&lt;i&gt;&lt;b&gt;==================Fichero extensions.conf===================&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style="font-style: normal;"&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
De esta manera cuando se marque una&amp;nbsp;extensión, esta va a timbrar por 10 segundos, y luego le pedira que deje un mensaje, y al marcar *99 se&amp;nbsp;podrá&amp;nbsp;entrar a el correo de voz, y le&amp;nbsp;pedirá&amp;nbsp;solamente la&amp;nbsp;contraseña&amp;nbsp;(Ya que se especifica el usuario&amp;nbsp;automáticamente&amp;nbsp;al poner la variable &lt;b&gt;${CALLERID(num)}&lt;/b&gt;).&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Finalmente reiniciamos Asterisk y solo&amp;nbsp;faltaría&amp;nbsp;probar:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;# service asterisk restart&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6046113441465225551-1848024820533267278?l=www.punto-libre.org' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JJWwYjXY-Pn0Npox0Hi6xrxgP9A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JJWwYjXY-Pn0Npox0Hi6xrxgP9A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JJWwYjXY-Pn0Npox0Hi6xrxgP9A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JJWwYjXY-Pn0Npox0Hi6xrxgP9A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=THLg4Sp8Acg:M6_tKgHR_hs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=THLg4Sp8Acg:M6_tKgHR_hs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=THLg4Sp8Acg:M6_tKgHR_hs:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=THLg4Sp8Acg:M6_tKgHR_hs:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=THLg4Sp8Acg:M6_tKgHR_hs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=THLg4Sp8Acg:M6_tKgHR_hs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/punto-libre/ThLq/~4/THLg4Sp8Acg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.punto-libre.org/feeds/1848024820533267278/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6046113441465225551&amp;postID=1848024820533267278&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/1848024820533267278?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/1848024820533267278?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/punto-libre/ThLq/~3/THLg4Sp8Acg/asterisk-configuracion-del-voicemail.html" title="Asterisk: Configuración del VoiceMail" /><author><name>Ramphis Che</name><uri>http://www.blogger.com/profile/05581561744671774139</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="22" height="32" src="http://2.bp.blogspot.com/-Ab2fzXfSq1Q/Tfe7GKhkIdI/AAAAAAAAAnQ/ajcbgJQavo4/s220/JustFace1.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.punto-libre.org/2011/09/asterisk-configuracion-del-voicemail.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MAQnw5eip7ImA9WhdVE00.&quot;"><id>tag:blogger.com,1999:blog-6046113441465225551.post-7992311802545418944</id><published>2011-09-16T07:00:00.000-07:00</published><updated>2011-09-17T18:30:43.222-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-17T18:30:43.222-07:00</app:edited><title>Un mejor look para Bash</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-tgl4OW_eRJo/TnNU5dMoy2I/AAAAAAAAAto/kmFIEfE9wZ4/s1600/terminal.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="128" src="http://3.bp.blogspot.com/-tgl4OW_eRJo/TnNU5dMoy2I/AAAAAAAAAto/kmFIEfE9wZ4/s320/terminal.png" width="128" /&gt;&lt;/a&gt;&lt;/div&gt;
Buenos dias Gente!!!!!

Tenia un tiempo que no escribia por muchos compromisos, y bueno... aunque no terminan, me veo "forzado" a colaborar, no???&lt;br /&gt;
&lt;br /&gt;
En fin, hoy les tengo algo muy interesante y es sobre bash....

Saben que como administradores, es bueno automatizar, y porque no... dar un mejor look a nuestra shell...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Este script tenemos que pegarlo en nuestro archivo ".bashrc" en nuestro home

para descargar el script ir a este &lt;a href="https://github.com/emilis/emilis-config/blob/master/.bash_ps1"&gt;link&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Este script hara que nuestro shell se vea de esta forma...&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-DvZMuvkgN_4/TnNVR_DLzAI/AAAAAAAAAtw/17UR_Jbfx4U/s1600/mi_terminal.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="467" src="http://4.bp.blogspot.com/-DvZMuvkgN_4/TnNVR_DLzAI/AAAAAAAAAtw/17UR_Jbfx4U/s640/mi_terminal.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6046113441465225551-7992311802545418944?l=www.punto-libre.org' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/aRfaDPNL8u8MomXXQov405iDlv0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aRfaDPNL8u8MomXXQov405iDlv0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/aRfaDPNL8u8MomXXQov405iDlv0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aRfaDPNL8u8MomXXQov405iDlv0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=9zW9OpBAwwg:eZG_nEXfxnE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=9zW9OpBAwwg:eZG_nEXfxnE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=9zW9OpBAwwg:eZG_nEXfxnE:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=9zW9OpBAwwg:eZG_nEXfxnE:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=9zW9OpBAwwg:eZG_nEXfxnE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=9zW9OpBAwwg:eZG_nEXfxnE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/punto-libre/ThLq/~4/9zW9OpBAwwg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.punto-libre.org/feeds/7992311802545418944/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6046113441465225551&amp;postID=7992311802545418944&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/7992311802545418944?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/7992311802545418944?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/punto-libre/ThLq/~3/9zW9OpBAwwg/un-mejor-look-para-bash.html" title="Un mejor look para Bash" /><author><name>zxguitar</name><uri>http://www.blogger.com/profile/06882459444384458322</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="27" height="32" src="http://4.bp.blogspot.com/_xE8n0BRBG_8/SZiah4EWQoI/AAAAAAAAAe8/M9U7rpEFs_U/S220/la_coco.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-tgl4OW_eRJo/TnNU5dMoy2I/AAAAAAAAAto/kmFIEfE9wZ4/s72-c/terminal.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.punto-libre.org/2011/09/un-mejor-look-para-bash.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQFQns9fyp7ImA9WhdUE0w.&quot;"><id>tag:blogger.com,1999:blog-6046113441465225551.post-6388532248826475110</id><published>2011-09-15T13:26:00.000-07:00</published><updated>2011-09-29T09:21:53.567-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T09:21:53.567-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Tutoriales" /><category scheme="http://www.blogger.com/atom/ns#" term="GNU-Linux" /><title>Squid: Autentificación contra un Active Directory (NTLM)</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://www.charladeamigos.com/web/wp-content/uploads/2011/06/squid2.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="192" src="http://www.charladeamigos.com/web/wp-content/uploads/2011/06/squid2.gif" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
Saludos estimados lectores, un amigo hace unos&amp;nbsp;días&amp;nbsp;me consulto como configurar &lt;b&gt;Squid&lt;/b&gt; de tal forma que autentifique con los usuarios de un &lt;b&gt;Active Directory&lt;/b&gt;, hay varias formas de realizar esto, pero en esta guia vamos a utilizar la ayuda de &lt;b&gt;Samba&lt;/b&gt; y &lt;b&gt;Winbind&lt;/b&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Si no sabes lo que es &lt;b&gt;Squid&lt;/b&gt; ni &lt;b&gt;Samba&lt;/b&gt;, te recomiendo leer las siguientes guias basicas de mi autoria:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Recomendados:&lt;/div&gt;
&lt;div&gt;
&lt;a href="http://www.punto-libre.org/2010/09/configurar-squid-basico-con.html"&gt;-Squid&amp;nbsp;Básico&amp;nbsp;con Autentificación de Usuarios&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href="http://www.punto-libre.org/2010/09/configurar-squid-basico-con.html"&gt;-Control de acceso por horario con Squid&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href="http://www.punto-libre.org/2010/08/configurar-samba-basico-en-fedora-13.html"&gt;-Samba&amp;nbsp;básico&amp;nbsp;en Fedora 14&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Opcionales:&lt;/div&gt;
&lt;div&gt;
&lt;a href="http://www.punto-libre.org/2010/10/guia-de-instalacion-y-configuracion-de_16.html"&gt;-Guia de Instalación y Configuración de Dansguardian&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href="http://www.punto-libre.org/2010/12/multifiltro-de-contenidos-en.html"&gt;-Multifiltro de Contenidos con Dansguardian&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;div&gt;
La siguiente&amp;nbsp;guía&amp;nbsp;puede aplicarse a cualquier distribución, ya que es el mismo procedimiento. Pero en esta guia estoy utilizando &lt;b&gt;CentOS&lt;/b&gt;, cualquier inconveniente que tengan en sus distribuciones, me las dejan saber.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Para esta guia tengo el siguiente escenario:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
1) Tengo 1 Servidor Windows Server 2003, el cual tiene configurado Active Directory y DNS, su FQDN es adwin.punto-libre.org.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
2) Tengo un servidor CentOS 5.6 con Squid 2.6.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
Teniendo en cuenta esto vamos a proceder a instalar instalar Samba:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;# yum install samba samba-common&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Y luego editamos su archivo de configuración &lt;b&gt;/etc/samba/smb.conf &lt;/b&gt;quedando de la siguiente forma (Tener en cuenta que deben adaptar el archivo a su escenario):&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;i&gt;[global]&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;workgroup = punto-libre &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;password server = punto-libre.org &amp;nbsp;&amp;nbsp;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;security = domain&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;idmap uid = 10000-20000&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;idmap gid = 10000-20000&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;winbind separator = /&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;winbind use default domain = true&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;netbios name = CentOS&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;passdb backend = tdbsam&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;winbind cachetime = 10&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;interfaces = 10.0.1.0/24 127.0.0.1/8 &amp;nbsp; &amp;nbsp;#Adaptar a su red&lt;/i&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Luego reiniciamos el servicio samba y winbind:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;# service smb restart&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;# service winbind restart&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Registramos nuestro servidor (CentOS en mi caso) a el Active Directory del servidor Windows:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;# net join -S adwin.punto-libre.org -U Administrator &lt;/b&gt;(Sustituyan adwin.punto-libre.org por el FQDN de su servidor con AD)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Si nos lanza "Joined domain" esta todo bien hasta el momento, el siguiente paso seria verificar que&amp;nbsp;Winbind&amp;nbsp;esta funcionando correctamente. Esto lo hacemos con el comando &lt;b&gt;wbinfo &lt;/b&gt;de las siguientes maneras:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;# wbinfo -t&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
Nos deberá imprimir "checking the trust secret via RPC calls succeeded".&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;# wbinfo -u &amp;nbsp;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Nos deberá imprimir los usuarios que estan en el Active Directory del servidor Windows.&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;#wbinfo -g&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Nos deberá imprimir los grupos que estan en el Active Directory del servidor Windows.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Si los 3 comandos anteriores nos lanzaron lo que&amp;nbsp;esperábamos, es hora de proceder con el siguiente paso, el cual es configurar el &lt;b&gt;Name Service Switch &lt;/b&gt;(nss), el cual es una&amp;nbsp;librería&amp;nbsp;que nos provee una interfaz para acceder a diferentes bases de datos de cuentas de usuario y claves.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Para asegurarnos de que tenemos la&amp;nbsp;librería&amp;nbsp;nss para &lt;b&gt;winbind&lt;/b&gt;, verificamos que tenemos el archivo&amp;nbsp;&lt;b&gt;libnss_winbind.so.2&lt;/b&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Teniendo este archivo, editamos el archivo&amp;nbsp;/etc/nsswitch.conf dejandolo de esta manera:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;i&gt;passwd: files winbind&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;group: files winbind&lt;/i&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Luego borramos el archivo TDB &lt;b&gt;/var/cache/samba/winbindd_idmap.tdb&lt;/b&gt;:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;# rm -rf&amp;nbsp;/var/cache/samba/winbindd_idmap.tdb&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
De esta manera forzamos a que se cree nuevamente el archivo TDB en caso de que este corrupto y no se&amp;nbsp;actualice&amp;nbsp;(Experiencia propia).&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Reiniciamos los winbind:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;# service winbind restart&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Y comprobamos que esta funcionando correctamente el nss con los siguientes comandos:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;# getent passwd&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Nos deberá mostrar una lista parecida a la de el archivo passwd pero que contendra tanto los usuarios locales como los de el AD.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;# getent group&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Nos deberá mostrar una lista parecida a la de el archivo groups pero que contendrá tanto los grupos locales como los de el AD.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Configuración de Squid&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Si todo hasta el momento ha salido bien podemos configurar Squid. Antes de continuar vamos a probar si es posible la autentificación, utilizando el siguiente comando (Obvio: Squid debe estar instalado):&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;# ntlm_auth --herlper-protocol=squid-2.5-basic --username=Administrator&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Nos pedira la contraseña de Administrator y si todo sale bien nos imprimira "NT_STATUS_OK: Success (0x0)"&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Luego debemos darle permisos a otras aplicaciones de utilizar las funcionalidades de Winbind, dandole los permisos correspondientes a un directorio con el siguiente comando:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;# chmod -R 750&amp;nbsp;/var/lib/samba/winbindd_privileged&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Ahora editamos el archivo de configuración de Squid /etc/squid/squid.conf, guiandonos de esta configuración de ejemplo:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;i&gt;#Autentificación&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;auth_param ntlm children 30&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;auth_param basic children 5&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;auth_param basic realm Squid proxy-caching web server&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;auth_param basic credentialsttl 2 hours&lt;/i&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;#Listas de Control&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;#Debemos crear un archivo que contendra los nombres de los usuarios que tendran permisos&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;#En este caso "allowed-ad-users"&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;acl adusers proxy_auth -i&amp;nbsp;"/etc/squid/&lt;b&gt;"allowed-ad-users"&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;#Acceso&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;http_access allow adusers (Se permite el acceso a los usuarios que esten en la lista)&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;http_access deny !adusers (Se niega el acceso a los usuarios que no esten en la lista)&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Finalmente reiniciamos Squid, y lo ponemos a prueba:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;# service squid restart&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6046113441465225551-6388532248826475110?l=www.punto-libre.org' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tJdbJKwqwtJu5TOohwpkXHVuk9A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tJdbJKwqwtJu5TOohwpkXHVuk9A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tJdbJKwqwtJu5TOohwpkXHVuk9A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tJdbJKwqwtJu5TOohwpkXHVuk9A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=HF8v8NjKg_Q:Df5hYYMIv8k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=HF8v8NjKg_Q:Df5hYYMIv8k:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=HF8v8NjKg_Q:Df5hYYMIv8k:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=HF8v8NjKg_Q:Df5hYYMIv8k:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=HF8v8NjKg_Q:Df5hYYMIv8k:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=HF8v8NjKg_Q:Df5hYYMIv8k:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/punto-libre/ThLq/~4/HF8v8NjKg_Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.punto-libre.org/feeds/6388532248826475110/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6046113441465225551&amp;postID=6388532248826475110&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/6388532248826475110?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/6388532248826475110?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/punto-libre/ThLq/~3/HF8v8NjKg_Q/squid-autentificacion-contra-un-active.html" title="Squid: Autentificación contra un Active Directory (NTLM)" /><author><name>Ramphis Che</name><uri>http://www.blogger.com/profile/05581561744671774139</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="22" height="32" src="http://2.bp.blogspot.com/-Ab2fzXfSq1Q/Tfe7GKhkIdI/AAAAAAAAAnQ/ajcbgJQavo4/s220/JustFace1.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.punto-libre.org/2011/09/squid-autentificacion-contra-un-active.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQGSHs4fyp7ImA9WhdUE0w.&quot;"><id>tag:blogger.com,1999:blog-6046113441465225551.post-3900162594125877404</id><published>2011-09-13T08:58:00.000-07:00</published><updated>2011-09-29T09:22:09.537-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T09:22:09.537-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="GNU-Linux" /><title>Me he certificado! - Comptia Linux+ Powered By LPI</title><content type="html">&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="" style="clear: both; text-align: left;"&gt;
&lt;a href="http://1.bp.blogspot.com/_zws_tlkXjYQ/TJtbrf0S1yI/AAAAAAAAAFw/l55bFbNPRLI/s1600/CompTIA_LPI.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_zws_tlkXjYQ/TJtbrf0S1yI/AAAAAAAAAFw/l55bFbNPRLI/s1600/CompTIA_LPI.jpg" /&gt;&lt;/a&gt;Muy buenos días&amp;nbsp;amigos, el motivo de este articulo es para comunicarle que estoy muy contento por haber cumplido con la meta que me propuse hace unos meses al decidir lograr la certificación &lt;b&gt;Comptia Linux+&lt;/b&gt;.&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Comptia&lt;/b&gt; "Computing Technology Industry Association" es una organización sin fines de lucro fundada en el 1982 y que se dedica a la certificación de profesionales para la industria de tecnologias de información.&lt;br /&gt;
&lt;br /&gt;
Entre sus certificaciónes (Network+, Security+, Project+, A+, etc) esta &lt;b&gt;Linux+&lt;/b&gt;, la cual prueba los conocimientos de los sistemas operativos Linux, desde su instalación y uso, hasta las aplicaciones libres, de codigo abierto y sus licencias.&lt;br /&gt;
&lt;br /&gt;
Para lograr la certificación se requieren dos examenes de 60 preguntas: &lt;b&gt;LX0-101&lt;/b&gt; y &lt;b&gt;LX0-102&lt;/b&gt;, y se recomiendan las certificaciónes &lt;b&gt;A+&lt;/b&gt; y &lt;b&gt;Network+&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Los examenes abarcan los siguientes temas:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;LX0-101:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
1) Arquitectura del Sistema (14%)&lt;br /&gt;
2) Instalación y manejo de paquetes (18%)&lt;br /&gt;
3) Comandos GNU y Unix (43%)&lt;br /&gt;
)4) Dispositivos, Sistemas de Archivos (25%)&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.comptia.org/global/Libraries/DE-Docs/CompTIA_Linux_Powered_by_LPI_LX0_101.sflb.ashx"&gt;Mas detallado&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;LX0-102:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
1) Shells, Scripting y manejo de datos (17%)&lt;br /&gt;
2) Interfaz de usuarios y escritorios (8%)&lt;br /&gt;
3) Tareas Administrativas (20%)&lt;br /&gt;
4) Servicios Esenciales del sistema (17%)&lt;br /&gt;
5) Fundamentos de redes (23%)&lt;br /&gt;
5) Seguridad (15%)&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.comptia.org/global/Libraries/DE-Docs/CompTIA_Linux_Powered_by_LPI_LX0_102.sflb.ashx"&gt;Mas detallado&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Otra cosa importante que cabe mencionar es que &lt;b&gt;Comptia&lt;/b&gt; y el &lt;b&gt;Linux Professional Institute&lt;/b&gt; (LPI) se unieron para ayudar a avanzar a los profesionales de Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Comptia&lt;/b&gt; utilizara el nivel de certificación 1 de &lt;b&gt;LPI&lt;/b&gt; para su certificación, osea que el programa le permitira a el candidato obtener al mismo tiempo el certificado &lt;b&gt;CompTIA Linux+&lt;/b&gt; y el &lt;b&gt;LPIC-1&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Si&amp;nbsp;están&amp;nbsp;interesados en la certificación les recomiendo los siguientes materiales de estudio:&lt;br /&gt;
&lt;br /&gt;
1)&amp;nbsp;&lt;b&gt;CompTIA Linux+ Complete Study Guide&lt;/b&gt; de RoderickW. Smith&lt;br /&gt;
2) &lt;b&gt;Linux+ Certificatión Bible&lt;/b&gt;&amp;nbsp;de Trevor Kay (Basado en la antigua version de el examen)&lt;br /&gt;
3) &lt;b&gt;Beginning&amp;nbsp;Unix&lt;/b&gt; de Joe Merlino, Craig Zimmerman, Jeremy C. Reed, y Paul Weinstein&lt;br /&gt;
&lt;br /&gt;
Saludos!&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://certification.comptia.org/images/sitewide/header_logo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://certification.comptia.org/images/sitewide/header_logo.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6046113441465225551-3900162594125877404?l=www.punto-libre.org' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/fDpWwvKTQYqHDgUYsh3siBgUcIQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fDpWwvKTQYqHDgUYsh3siBgUcIQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/fDpWwvKTQYqHDgUYsh3siBgUcIQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fDpWwvKTQYqHDgUYsh3siBgUcIQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=vXgVYxsnnGI:DPeeoRP4yJ8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=vXgVYxsnnGI:DPeeoRP4yJ8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=vXgVYxsnnGI:DPeeoRP4yJ8:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=vXgVYxsnnGI:DPeeoRP4yJ8:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=vXgVYxsnnGI:DPeeoRP4yJ8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=vXgVYxsnnGI:DPeeoRP4yJ8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/punto-libre/ThLq/~4/vXgVYxsnnGI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.punto-libre.org/feeds/3900162594125877404/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6046113441465225551&amp;postID=3900162594125877404&amp;isPopup=true" title="11 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/3900162594125877404?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/3900162594125877404?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/punto-libre/ThLq/~3/vXgVYxsnnGI/me-he-certificado-comptia-linux-powered.html" title="Me he certificado! - Comptia Linux+ Powered By LPI" /><author><name>Ramphis Che</name><uri>http://www.blogger.com/profile/05581561744671774139</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="22" height="32" src="http://2.bp.blogspot.com/-Ab2fzXfSq1Q/Tfe7GKhkIdI/AAAAAAAAAnQ/ajcbgJQavo4/s220/JustFace1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_zws_tlkXjYQ/TJtbrf0S1yI/AAAAAAAAAFw/l55bFbNPRLI/s72-c/CompTIA_LPI.jpg" height="72" width="72" /><thr:total>11</thr:total><feedburner:origLink>http://www.punto-libre.org/2011/09/me-he-certificado-comptia-linux-powered.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIHRXc-eyp7ImA9WhdWGEg.&quot;"><id>tag:blogger.com,1999:blog-6046113441465225551.post-3511333207282846916</id><published>2011-09-12T13:15:00.000-07:00</published><updated>2011-09-12T13:15:34.953-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-12T13:15:34.953-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Tutoriales" /><category scheme="http://www.blogger.com/atom/ns#" term="GNU-Linux" /><title>Servidor de Correos Basico con Postfix/Dovecot</title><content type="html">&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
En esta&amp;nbsp;guía&amp;nbsp;de implementación de un servidor de correos en&lt;b&gt; GNU/Linux&lt;/b&gt; nuestra meta principal es conocer los conceptos y elementos necesarios para configurar de forma basica un servidor de correos, nos vamos a limitar a lo mas&amp;nbsp;básico&amp;nbsp;posible, de manera que podamos introducirnos en este tema de la forma mas facíl posible.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-pfTwY5iuOCk/Tm5mgSjN8fI/AAAAAAAAA7k/qTq1U1j4N-I/s1600/screenshot9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-pfTwY5iuOCk/Tm5mgSjN8fI/AAAAAAAAA7k/qTq1U1j4N-I/s1600/screenshot9.png" /&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/-WZAfgk-2sT0/Tm5mf6PJRgI/AAAAAAAAA7g/XeWMBy1IOzU/s1600/screenshot8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-WZAfgk-2sT0/Tm5mf6PJRgI/AAAAAAAAA7g/XeWMBy1IOzU/s1600/screenshot8.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Antes de proceder con esta guia voy a recomendarles que lean y pongan en practica el articulo "&lt;b&gt;&lt;a href="http://www.punto-libre.org/2010/11/configuracion-basica-de-bind-en-centos.html"&gt;Configuración Basica de Bind DNS en CentOS&lt;/a&gt;&lt;/b&gt;", ya que es de suma importancia para la correcta implementación de un servidor de correos.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;b&gt;1) Conceptualizando&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Un &lt;b&gt;Servidor de Correos &lt;/b&gt;es el Software&amp;nbsp;encargado del transporte de correos&amp;nbsp;electrónicos&amp;nbsp;atraves de la red, cuando un usuario manda un correo desde su Cliente de Correo&amp;nbsp;Electrónico&amp;nbsp;o&amp;nbsp;&lt;b&gt;MUA&lt;/b&gt; "Mail User Agent", este es enviado a el&lt;b&gt; MTA&lt;/b&gt; "Mail Transfer Agent", y este lo envia mediante el protocolo &lt;b&gt;SMTP&lt;/b&gt; a los otros &lt;b&gt;MTAs&amp;nbsp;&lt;/b&gt;"Mail Transfer Agents", cuando el correo llego a el &lt;b&gt;MTA&lt;/b&gt; del destinatario, este es enviado a su &lt;b&gt;MDA&lt;/b&gt;&amp;nbsp;"Mail Delivery Agent" y almacenado hasta que el destinatario desee recibirlo mediante el protocolo &lt;b&gt;POP&lt;/b&gt; o &lt;b&gt;IMAP&lt;/b&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-IsUKpKOT7qQ/Tm4oZLaUL9I/AAAAAAAAA7I/Iis-zLvCIqs/s1600/Diagrama1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="195" src="http://2.bp.blogspot.com/-IsUKpKOT7qQ/Tm4oZLaUL9I/AAAAAAAAA7I/Iis-zLvCIqs/s320/Diagrama1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Para esta&amp;nbsp;guía&amp;nbsp;vamos a utilizar &lt;b&gt;Postfix&lt;/b&gt; como MTA, &lt;b&gt;Dovecot&lt;/b&gt; como MDA, y &lt;b&gt;Evolution&lt;/b&gt; como MUA (Puede ser cualquier otro).&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;b&gt;Postfix&lt;/b&gt; es un servidor de correos de Software Libre que se encarga del enrutamiento y envio de nuestros correos electronicos (MTA), fue creado para ser una alternativa mas facíl y segura que Sendmail.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;b&gt;Dovecot &lt;/b&gt;es un servidor de correo de codigo abierto que se encarga de la entrega de nuestros correos electronicos (MDA), fue creado para ser abierto, ligero, rapido, facil y seguro.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;b&gt;SMTP&lt;/b&gt; "Simple Mail Transfer Protocol" es un protocolo basado en texto utilizado para el intercambio de mensajes de correos&amp;nbsp;electrónicos&amp;nbsp;entre computadoras.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;b&gt;POP&lt;/b&gt; "Post Office Protocol" es un protocolo utilizado para obtener los mensajes de correo electronico almacenados en un servidor de correos. Actualmente se utiliza la version 3, por tal razon podemos ver que se le denomina mas frecuentemente POP3, este esta&amp;nbsp;diseñado&amp;nbsp;para descargar todos los correos del servidor y poder verlos sin conección.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;b&gt;IMAP&lt;/b&gt; "Internet Message Access Protocol" es un protocolo utilizado para acceder a los mensajes almacenados en un servidor de correos directamente, fue diseñado como una moderna alternativa a POP.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;b&gt;2) Configuracion del DNS&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Un aspecto muy importante que hay que tener en cuenta es que necesitamos que nuestro dominio este resuelto, en caso de que no lo este... guiandonos de el articulo&amp;nbsp;"&lt;b&gt;&lt;a href="http://www.punto-libre.org/2010/11/configuracion-basica-de-bind-en-centos.html"&gt;Configuración Basica de Bind DNS en CentOS&lt;/a&gt;&lt;/b&gt;", vamos a agregar un registro A y un registro MX a nuestra configuración de zona, quedando de la siguiente manera por dar un ejemplo:&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
$TTL 7D&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IN &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SOA &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dns.puntolibre.org. &amp;nbsp;hostmaster.puntolibre.org. (&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2010112301 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;Serial&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3H &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;Refresh&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2H &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;Retry&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 15D &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;Expire&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2D &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;Negative Cache TTL&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IN &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;NS &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dns.puntolibre.org.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;b&gt;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IN &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MX &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 10 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mail&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IN &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TXT &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;"Punto Libre DNS"&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IN &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 192.168.1.100&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
dns &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IN &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;192.168.1.100&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;b&gt;mail &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; IN &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;192.168.1.100&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
www &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IN &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;192.168.1.100&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
router &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; IN &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;192.168.1.1&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
equipo2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IN &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;192.168.1.2&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
equipo3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IN &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;192.168.1.3&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Luego reiniciamos nuestro servidor DNS y comprobamos que esta resolviendo correctamente.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;b&gt;3) Instalando los paquetes&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
Procedemos a instalar los paquetes correspondientes a Postfix y Dovecot:&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
# yum -y install postfix dovecot&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;b&gt;4) Cambiar entre servidores de correo&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
Es probable que Sendmail este por defecto como servidor de correo en tu sistema, asi que vamos a tener que cambiar a Postfix, con el siguiente comando podemos lograrlo:&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
#&amp;nbsp;alternatives --config mta&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
Luego podremos elegir a Postfix, escribiendo el numero de Postfix, paramos el servicio Sendmail y evitamos que arranque con el sistema, y hacemos todo lo contrario con Postfix:&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
# service sendmail stop&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
# service postfix start&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
# chkconfig sendmail off&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
# chkconfig postfix on&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;b&gt;5) Configuración de Postfix&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
Los archivos de configuración principales de Postfix son &lt;b&gt;master.cf&lt;/b&gt; y &lt;b&gt;main.cf &lt;/b&gt;ubicados en &lt;b&gt;/etc/postfix/&lt;/b&gt;, como nuestra configuración es basica, no vamos a tener que modificar el &lt;b&gt;master.cf &lt;/b&gt;(Con lo que tiene por defecto es suficiente).&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
Editamos el archivo main.cf guiandonos de este ejemplo (Recuerden que en mi ejemplo el dominio es &lt;b&gt;puntolibre.org&lt;/b&gt;:&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;i&gt;# Nombre del sistema&lt;/i&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;i&gt;myhostname = mail.puntolibre.com&lt;/i&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;i&gt;# Dominio.&lt;/i&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
mydomain = puntolibre.com&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;i&gt;myorigin = $mydomain&lt;/i&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;i&gt;# Tenemos que definir que escuche por todas las interfaces, por defecto solo escucha por loopback&lt;/i&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;i&gt;#inet_interfaces = localhost&lt;/i&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;i&gt;inet_interfaces = all&lt;/i&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;i&gt;#Definimos el destino&lt;/i&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;i&gt;mydestination = $myhostname, $mydomain, localhost.localdomain, localhost&lt;/i&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;i&gt;# Definimos las redes&lt;/i&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;i&gt;mynetworks = 192.168.1.0/24, 127.0.0.0/8&lt;/i&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;i&gt;# En caso de que se vallan a manejar mas dominios de correo, se deberan agregar aqui&lt;/i&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;i&gt;relay_domains = $mydestination&lt;/i&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;b&gt;6) Configuración de Dovecot&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
Procedemos a configurar nuestro servidor POP/IMAP, su archivo de configuración principal es &lt;b&gt;/etc/dovecot.conf&lt;/b&gt;, en su&amp;nbsp;parámetro&amp;nbsp;&lt;b&gt;protocols&lt;/b&gt; vamos a especificar los protocolos que se&amp;nbsp;pondrán&amp;nbsp;en funcionamiento, ejemplo:&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;b&gt;protocols = imap imaps pop3 pop3s&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;b&gt;7) Reinicio de los servicios&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
Procedemos a reiniciar los servicios Postfix y Dovecot:&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
# service postfix restart&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
# service dovecot restart&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;b&gt;8) Configuración de Evolutión&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
El siguiente paso seria la configuración de nuestro Mail User Agent, en este caso Evolution. Aqui les dejo algunas capturas de pantalla que muestran como configurarlo:&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-0LDAg_KVq04/Tm5kF9G8CHI/AAAAAAAAA7M/n2kzpuvJFc0/s1600/screenshot3.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="285" src="http://3.bp.blogspot.com/-0LDAg_KVq04/Tm5kF9G8CHI/AAAAAAAAA7M/n2kzpuvJFc0/s320/screenshot3.png" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Procedemos dandole click a Adelante&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-nJxqUUcVRco/Tm5kJGnrzYI/AAAAAAAAA7Q/ywhq7wIpnVc/s1600/screenshot4.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="289" src="http://4.bp.blogspot.com/-nJxqUUcVRco/Tm5kJGnrzYI/AAAAAAAAA7Q/ywhq7wIpnVc/s320/screenshot4.png" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Escribimos nuestro nombre y dirección de correo&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-9W2TrWeDFm0/Tm5kLyMZG5I/AAAAAAAAA7U/0622ThDsnz8/s1600/screenshot5.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="285" src="http://1.bp.blogspot.com/-9W2TrWeDFm0/Tm5kLyMZG5I/AAAAAAAAA7U/0622ThDsnz8/s320/screenshot5.png" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Elegimos como ejemplo POP, ponemos el nombre de nuestro servidor de correo, el usuario, &lt;br /&gt;
sin cifrado&amp;nbsp;y el tipo de autentificación en "Contraseña"&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-gSAEKxEVwwc/Tm5kWjXFhLI/AAAAAAAAA7Y/-POj0bUdnYU/s1600/screenshot6.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="287" src="http://2.bp.blogspot.com/-gSAEKxEVwwc/Tm5kWjXFhLI/AAAAAAAAA7Y/-POj0bUdnYU/s320/screenshot6.png" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Elegimos SMTP, ponemos el nombre de nuestro servidor, y dejamos &lt;br /&gt;
todo en blanco ya que no&amp;nbsp;configuramos SMTP por autentificación&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-l15t7rnz8lE/Tm5kZvgl-EI/AAAAAAAAA7c/I-kaOXXfgNk/s1600/screenshot7.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="286" src="http://2.bp.blogspot.com/-l15t7rnz8lE/Tm5kZvgl-EI/AAAAAAAAA7c/I-kaOXXfgNk/s320/screenshot7.png" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Le ponemos un nombre a la cuenta&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Tengan en cuenta que el usuario que configuramos es nuestra cuenta en el sistema y su respectivo password, el cual nos los pedira al intentar recibir los correos.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Como pueden ver trate de ser lo mas basicó posible, y espero que esto les sirva como base para introducirse a la materia, pronto veremos guias más avanzadas.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Saludos!&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6046113441465225551-3511333207282846916?l=www.punto-libre.org' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eMj_87BnaZX5kmgaYMvaiq1pAhs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eMj_87BnaZX5kmgaYMvaiq1pAhs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eMj_87BnaZX5kmgaYMvaiq1pAhs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eMj_87BnaZX5kmgaYMvaiq1pAhs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=vpA6bHQrORU:PB2JTn2WxCw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=vpA6bHQrORU:PB2JTn2WxCw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=vpA6bHQrORU:PB2JTn2WxCw:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=vpA6bHQrORU:PB2JTn2WxCw:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=vpA6bHQrORU:PB2JTn2WxCw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=vpA6bHQrORU:PB2JTn2WxCw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/punto-libre/ThLq/~4/vpA6bHQrORU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.punto-libre.org/feeds/3511333207282846916/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6046113441465225551&amp;postID=3511333207282846916&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/3511333207282846916?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/3511333207282846916?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/punto-libre/ThLq/~3/vpA6bHQrORU/servidor-de-correos-basico-con.html" title="Servidor de Correos Basico con Postfix/Dovecot" /><author><name>Ramphis Che</name><uri>http://www.blogger.com/profile/05581561744671774139</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="22" height="32" src="http://2.bp.blogspot.com/-Ab2fzXfSq1Q/Tfe7GKhkIdI/AAAAAAAAAnQ/ajcbgJQavo4/s220/JustFace1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-pfTwY5iuOCk/Tm5mgSjN8fI/AAAAAAAAA7k/qTq1U1j4N-I/s72-c/screenshot9.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.punto-libre.org/2011/09/servidor-de-correos-basico-con.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkYARXo_eCp7ImA9WhdWF0g.&quot;"><id>tag:blogger.com,1999:blog-6046113441465225551.post-1548162875498082054</id><published>2011-09-11T09:22:00.000-07:00</published><updated>2011-09-11T09:22:24.440-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-11T09:22:24.440-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="GNU-Linux" /><title>Convertir imágenes a PDF o viceversa con Imagemagick</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;a href="http://1.bp.blogspot.com/-R_NRyt6AGkE/TmzSPhFmUoI/AAAAAAAAA7E/289vxjS3V1w/s1600/screenshot6.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-R_NRyt6AGkE/TmzSPhFmUoI/AAAAAAAAA7E/289vxjS3V1w/s1600/screenshot6.png" /&gt;&lt;/a&gt;Esta mañana me vi en la necesidad de convertir un grupo de&amp;nbsp;imágenes&amp;nbsp;a PDF al descargar todos los&amp;nbsp;volúmenes&amp;nbsp;de el&amp;nbsp;cómic&amp;nbsp;de "V for Vendetta" para leerlo en el Ebook Reader. Pude lograr el cometido gracias a &lt;a href="http://www.imagemagick.org/"&gt;ImageMagick&lt;/a&gt;, Software Libre para la creación, edición y composición de&amp;nbsp;imágenes&amp;nbsp;con un gran catalogo de formatos.&lt;br /&gt;
&lt;br /&gt;
Con&lt;b&gt; ImageMagick&lt;/b&gt; los limites a nivel de conversión de&amp;nbsp;imágenes&amp;nbsp;son pocos, pero nos vamos a limitar a cumplir nuestro cometido "&lt;b&gt;Convertir un grupo de imagenes a PDF o viceversa&lt;/b&gt;".&lt;br /&gt;
&lt;br /&gt;
Para lograr esto, nos dirigimos a la carpeta donde&amp;nbsp;estarán&amp;nbsp;las&amp;nbsp;imágenes...&amp;nbsp;estas deben estar ordenadas de tal forma de que el PDF se creé en orden (Normalmente al descargar un&amp;nbsp;cómic&amp;nbsp;que viene en&amp;nbsp;imágenes&amp;nbsp;ya estará ordenado).&lt;br /&gt;
&lt;br /&gt;
Como ejemplo&amp;nbsp;tendríamos&amp;nbsp;las siguientes&amp;nbsp;imágenes:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;-Imagen1&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;-Imagen2&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;-Imagen3&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;-Imagen4&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Para convertir las estas&amp;nbsp;imágenes&amp;nbsp;a PDF&amp;nbsp;ejecutaríamos&amp;nbsp;el siguiente comando:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;$ convert Imagen* archivo.pdf&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
Para hacer lo contrario&amp;nbsp;bastaría&amp;nbsp;con:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;$ convert archivo.pdf Imagen.jpg&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://www.imagemagick.org/"&gt;ImageMagick&lt;/a&gt; se encarga de enumerar las&amp;nbsp;imágenes&amp;nbsp;dependiendo de la cantidad de paginas del PDF.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Regalito:&lt;/b&gt; Los 10 Volumenes de "V for Vendetta" en español y en PDF.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="margin-left: auto; margin-right: auto;"&gt;&lt;a href="http://www.blogger.com/goog_258745057"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/_T6kSOIv4zmc/SEe6kXjknTI/AAAAAAAAATo/53BRwhE7MJE/s200/v_vendetta_comic_290x438.jpg" width="132" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;a href="http://www.megaupload.com/?d=AXF6NVEG"&gt;[DESCARGAR]&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6046113441465225551-1548162875498082054?l=www.punto-libre.org' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CJtZdCEHK6-qmAEIkFXv9GXCG7Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CJtZdCEHK6-qmAEIkFXv9GXCG7Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CJtZdCEHK6-qmAEIkFXv9GXCG7Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CJtZdCEHK6-qmAEIkFXv9GXCG7Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=7E8PtM9eQ2M:n8eT-ge-vvg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=7E8PtM9eQ2M:n8eT-ge-vvg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=7E8PtM9eQ2M:n8eT-ge-vvg:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=7E8PtM9eQ2M:n8eT-ge-vvg:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=7E8PtM9eQ2M:n8eT-ge-vvg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=7E8PtM9eQ2M:n8eT-ge-vvg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/punto-libre/ThLq/~4/7E8PtM9eQ2M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.punto-libre.org/feeds/1548162875498082054/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6046113441465225551&amp;postID=1548162875498082054&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/1548162875498082054?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/1548162875498082054?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/punto-libre/ThLq/~3/7E8PtM9eQ2M/convertir-imagenes-pdf-o-viceversa-con.html" title="Convertir imágenes a PDF o viceversa con Imagemagick" /><author><name>Ramphis Che</name><uri>http://www.blogger.com/profile/05581561744671774139</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="22" height="32" src="http://2.bp.blogspot.com/-Ab2fzXfSq1Q/Tfe7GKhkIdI/AAAAAAAAAnQ/ajcbgJQavo4/s220/JustFace1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-R_NRyt6AGkE/TmzSPhFmUoI/AAAAAAAAA7E/289vxjS3V1w/s72-c/screenshot6.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://www.punto-libre.org/2011/09/convertir-imagenes-pdf-o-viceversa-con.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQCSHw-fCp7ImA9WhdUE0w.&quot;"><id>tag:blogger.com,1999:blog-6046113441465225551.post-2630326033849421793</id><published>2011-09-09T16:30:00.000-07:00</published><updated>2011-09-29T09:22:49.254-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T09:22:49.254-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="GNU-Linux" /><title>Trickle: Limitador de ancho de banda para Linux</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div&gt;
Trickle es una super herramienta que tenemos disponibles en Linux con la cual vamos a poder limitar el ancho de banda tanto de subida y bajada de nuestras aplicaciones tanto al ejecutarlas como a&amp;nbsp;través&amp;nbsp;de un demonio; Vamos mostrarles como usarlo para ejecutar directamente una aplicación y aplicarle el control de ancho de banda (Podemos instalarlo desde los repositorios con el nombre "trickle").&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
La sintaxis de Trickle es la siguiente:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
$ trickle -d &lt;b&gt;Download_Bandwidth&lt;/b&gt; -u &lt;b&gt;Upload_Bandwidth &lt;/b&gt;&lt;i&gt;Comando&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
Aquí&amp;nbsp;algunos ejemplos:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
a) Limitar el ancho de banda de descarga a 10kbps utilizado para la transferencia de un fichero utilizando ssh:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;$ trickle -d 10 scp fichero.mp3 10.0.0.1:/home/puntolibre/musica/&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
b) Limitar el ancho de banda a 50kpbs de descarga de una actualización del sistema a traves de Yum:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;$ trickle -d 50 yum update -y&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
c) Si queremos modificarle el ancho de banda permanente a una aplicacion grafica, como por ejemplo &lt;b&gt;firefox&lt;/b&gt;, podemos ir al elemento en la edición del&amp;nbsp;menú&amp;nbsp;y agregarle los comandos &lt;b&gt;trickle&lt;/b&gt; de la siguiente manera:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-zVe71dxd-Hw/TmqfXwkedhI/AAAAAAAAA7A/MnkG_LOhizo/s1600/screenshot1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="135" src="http://2.bp.blogspot.com/-zVe71dxd-Hw/TmqfXwkedhI/AAAAAAAAA7A/MnkG_LOhizo/s400/screenshot1.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Click Para Ampliar&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6046113441465225551-2630326033849421793?l=www.punto-libre.org' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Q0Vc3SJjABByv70GMP47R10TfbY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Q0Vc3SJjABByv70GMP47R10TfbY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Q0Vc3SJjABByv70GMP47R10TfbY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Q0Vc3SJjABByv70GMP47R10TfbY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=Hyod1nI7Vso:mbrprFOBJrk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=Hyod1nI7Vso:mbrprFOBJrk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=Hyod1nI7Vso:mbrprFOBJrk:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=Hyod1nI7Vso:mbrprFOBJrk:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=Hyod1nI7Vso:mbrprFOBJrk:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=Hyod1nI7Vso:mbrprFOBJrk:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/punto-libre/ThLq/~4/Hyod1nI7Vso" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.punto-libre.org/feeds/2630326033849421793/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6046113441465225551&amp;postID=2630326033849421793&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/2630326033849421793?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/2630326033849421793?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/punto-libre/ThLq/~3/Hyod1nI7Vso/trickle-limitador-de-ancho-de-banda.html" title="Trickle: Limitador de ancho de banda para Linux" /><author><name>Ramphis Che</name><uri>http://www.blogger.com/profile/05581561744671774139</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="22" height="32" src="http://2.bp.blogspot.com/-Ab2fzXfSq1Q/Tfe7GKhkIdI/AAAAAAAAAnQ/ajcbgJQavo4/s220/JustFace1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-zVe71dxd-Hw/TmqfXwkedhI/AAAAAAAAA7A/MnkG_LOhizo/s72-c/screenshot1.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.punto-libre.org/2011/09/trickle-limitador-de-ancho-de-banda.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQMRXYyfyp7ImA9WhdUE0w.&quot;"><id>tag:blogger.com,1999:blog-6046113441465225551.post-7072635217760741747</id><published>2011-09-09T06:48:00.000-07:00</published><updated>2011-09-29T09:23:04.897-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T09:23:04.897-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Software" /><category scheme="http://www.blogger.com/atom/ns#" term="GNU-Linux" /><title>Calibre: Gestor de Ebooks Multiplataforma</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-kHjvcvQCbW4/TmoWpgrpH5I/AAAAAAAAA64/B7m73Y9pROU/s1600/calibre%25C3%25A7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="176" src="http://4.bp.blogspot.com/-kHjvcvQCbW4/TmoWpgrpH5I/AAAAAAAAA64/B7m73Y9pROU/s200/calibre%25C3%25A7.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;
Hoy me vi en la necesidad de buscar una solución que me permita gestionar mis libros&amp;nbsp;electrónicos&amp;nbsp;de una manera facil e intuitiva y que me permita el manejo de mi lector&amp;nbsp;electrónico, y&amp;nbsp;encontré&lt;b&gt;&amp;nbsp;Calibre&lt;/b&gt;, el cual es la solución perfecta para quienes tengan lectores&amp;nbsp;electrónicos&amp;nbsp;o simplemente quieran tener su biblioteca virtual de libros bien organizada.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Calibre &lt;/b&gt;creará una biblioteca bien organizada (basandose en sus metadatos) de tus libros en el directorio que elijas, y nos los mostrara de una manera bien intuitiva,&amp;nbsp;permitiéndonos&amp;nbsp;realizar busquedas basadas en ciertos parametros como Autores, Idiomas, Formatos, Editoriales, Etiquetas, etc.&lt;br /&gt;
&lt;br /&gt;
Ademas de organizarnos nuestros Ebooks, Calibre nos permitira editar sus metadatos (Autor, Titulo, Año, etc), abrir el libro en su visor adecuado, guardar una copia del libro en la ubicación deseada, descargar información de internet sobre el libro (Portada, Valoración, Descripción, etc), convertir los libros a formatos moviles s y la posibilidad de gestionar nuestros libros directamente desde nuestros lectores electronicos (en mi caso tengo un Kindle, y lo maneja perfectamente).&lt;br /&gt;
&lt;br /&gt;
Otra cosa interesante que nos ofrece &lt;b&gt;Calibre&lt;/b&gt; es la posibilidad de proveer un servidor de contenidos web, donde se podra acceder a nuestra biblioteca via Web, descargar los libros y obtener toda la información que se deseé (Puerto 8080), Excelente.&lt;br /&gt;
&lt;br /&gt;
Es raro que Calibra no se encuentre en los repositorios de tu distribución pero de todas maneras no les recomiendo instalarlo por esa&amp;nbsp;vía&amp;nbsp;(Ya que probablemente este desactualizado), simplemente ejecuten este simple comando y se les instalara&amp;nbsp;automáticamente:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# sudo python -c "import urllib2; exec urllib2.urlopen('http://status.calibre-ebook.com/linux_installer').read(); main()"&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Calibre&lt;/b&gt;&amp;nbsp;también&amp;nbsp;esta disponible en &lt;b&gt;Mac y Windows&lt;/b&gt;, pueden dirigirse a su &lt;a href="http://calibre-ebook.com/download"&gt;seccion de descargas&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-VGc8ozCYQC0/TmoVtvH6wEI/AAAAAAAAA60/ualPNt_cOuI/s1600/screenshot2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="215" src="http://3.bp.blogspot.com/-VGc8ozCYQC0/TmoVtvH6wEI/AAAAAAAAA60/ualPNt_cOuI/s400/screenshot2.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Click Para Ampliar&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6046113441465225551-7072635217760741747?l=www.punto-libre.org' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eetwQ_PJYXvKyL5LHotoJ8fw1nY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eetwQ_PJYXvKyL5LHotoJ8fw1nY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eetwQ_PJYXvKyL5LHotoJ8fw1nY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eetwQ_PJYXvKyL5LHotoJ8fw1nY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=LaCETL-J1ds:cYvmgMO6pZw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=LaCETL-J1ds:cYvmgMO6pZw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=LaCETL-J1ds:cYvmgMO6pZw:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=LaCETL-J1ds:cYvmgMO6pZw:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=LaCETL-J1ds:cYvmgMO6pZw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=LaCETL-J1ds:cYvmgMO6pZw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/punto-libre/ThLq/~4/LaCETL-J1ds" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.punto-libre.org/feeds/7072635217760741747/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6046113441465225551&amp;postID=7072635217760741747&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/7072635217760741747?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/7072635217760741747?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/punto-libre/ThLq/~3/LaCETL-J1ds/calibre-gestor-de-ebooks.html" title="Calibre: Gestor de Ebooks Multiplataforma" /><author><name>Ramphis Che</name><uri>http://www.blogger.com/profile/05581561744671774139</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="22" height="32" src="http://2.bp.blogspot.com/-Ab2fzXfSq1Q/Tfe7GKhkIdI/AAAAAAAAAnQ/ajcbgJQavo4/s220/JustFace1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-kHjvcvQCbW4/TmoWpgrpH5I/AAAAAAAAA64/B7m73Y9pROU/s72-c/calibre%25C3%25A7.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.punto-libre.org/2011/09/calibre-gestor-de-ebooks.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEHR307fSp7ImA9WhdWEEo.&quot;"><id>tag:blogger.com,1999:blog-6046113441465225551.post-9048100804943521316</id><published>2011-09-03T11:13:00.000-07:00</published><updated>2011-09-03T11:13:56.305-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-03T11:13:56.305-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="GNU-Linux" /><title>Como limitar el numero de procesadores a usar en Linux?</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-8vLbDRFNLEk/TmJtkEmiEiI/AAAAAAAAA6s/9dtuf7_h7Cw/s1600/kernel-linux1.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-8vLbDRFNLEk/TmJtkEmiEiI/AAAAAAAAA6s/9dtuf7_h7Cw/s200/kernel-linux1.jpg" width="150" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Con tan solo pasarle un&amp;nbsp;parámetro&amp;nbsp;llamado &lt;b&gt;maxcpus&lt;/b&gt; al Kernel podemos limitar el numero de procesadores a utilizar en nuestro sistema, realmente a esto yo no le veo mucha utilidad ni lo pongo en practica, pero&amp;nbsp;según&amp;nbsp;he&amp;nbsp;leído&amp;nbsp;algunos softwares comerciales te cobran licencia por CPU, y para estos casos, este&amp;nbsp;parámetro&amp;nbsp;puede llegar a ser&amp;nbsp;útil.&lt;br /&gt;
&lt;br /&gt;
Para pasarle este comando al kernel vamos a editar nuestro archivo &lt;b&gt;/boot/grub/grub.conf&lt;/b&gt; (Es posible que se llame menu.lst o grub.cfg), el cual&amp;nbsp;tendría&amp;nbsp;esta configuración de ejemplo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;default=1&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;timeout=0&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;splashimage=(hd0,0)/grub/splash.xpm.gz&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;hiddenmenu&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;title Fedora (2.6.35.14-95.fc14.i686)&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; root (hd0,0)&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; kernel /vmlinuz-2.6.35.14-95.fc14.i686 ro root=UUID=1693837e-7654-4568-903a-fec08441a9ae &amp;nbsp; &amp;nbsp; &amp;nbsp; rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=es_DO.UTF-8 KEYBOARDTYPE=pc KEYTABLE=us-acentos noiswmd rhgb quiet&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;initrd /initramfs-2.6.35.14-95.fc14.i686.img&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
Le agregamos el parametro en la linea kernel de la siguiente manera en caso de que queramos usar solamente un proceador:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;kernel /vmlinuz-2.6.35.14-95.fc14.i686 ro root=UUID=1693837e-7654-4568-903a-fec08441a9ae &amp;nbsp; &amp;nbsp; &amp;nbsp; rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=es_DO.UTF-8 KEYBOARDTYPE=pc KEYTABLE=us-acentos noiswmd rhgb quiet &lt;b&gt;maxcpus=1&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
Guardamos el archivo, y reiniciamos... al subir veremos que solamente tenemos un procesador activo.&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6046113441465225551-9048100804943521316?l=www.punto-libre.org' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/IGuKZo-9D_ARfWFQtSgDi4FNVd4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IGuKZo-9D_ARfWFQtSgDi4FNVd4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/IGuKZo-9D_ARfWFQtSgDi4FNVd4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IGuKZo-9D_ARfWFQtSgDi4FNVd4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=UoUTwH8YR_8:ag_Vc-wvS5I:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=UoUTwH8YR_8:ag_Vc-wvS5I:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=UoUTwH8YR_8:ag_Vc-wvS5I:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=UoUTwH8YR_8:ag_Vc-wvS5I:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=UoUTwH8YR_8:ag_Vc-wvS5I:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=UoUTwH8YR_8:ag_Vc-wvS5I:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/punto-libre/ThLq/~4/UoUTwH8YR_8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.punto-libre.org/feeds/9048100804943521316/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6046113441465225551&amp;postID=9048100804943521316&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/9048100804943521316?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/9048100804943521316?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/punto-libre/ThLq/~3/UoUTwH8YR_8/limitar-el-numero-de-procesadores-usar.html" title="Como limitar el numero de procesadores a usar en Linux?" /><author><name>Ramphis Che</name><uri>http://www.blogger.com/profile/05581561744671774139</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="22" height="32" src="http://2.bp.blogspot.com/-Ab2fzXfSq1Q/Tfe7GKhkIdI/AAAAAAAAAnQ/ajcbgJQavo4/s220/JustFace1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-8vLbDRFNLEk/TmJtkEmiEiI/AAAAAAAAA6s/9dtuf7_h7Cw/s72-c/kernel-linux1.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.punto-libre.org/2011/09/limitar-el-numero-de-procesadores-usar.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQNR3c9fyp7ImA9WhdUE0w.&quot;"><id>tag:blogger.com,1999:blog-6046113441465225551.post-6665852170321611768</id><published>2011-09-02T06:58:00.000-07:00</published><updated>2011-09-29T09:23:16.967-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T09:23:16.967-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="GNU-Linux" /><title>Que hacer si se me llena la Swap?</title><content type="html">&lt;a href="http://josekesada.files.wordpress.com/2011/05/swap.jpg?w=202&amp;amp;h=225" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://josekesada.files.wordpress.com/2011/05/swap.jpg?w=202&amp;amp;h=225" /&gt;&lt;/a&gt;Si nuestra &lt;b&gt;memoria de intercambio&lt;/b&gt; o &lt;b&gt;Swap&lt;/b&gt; se nos llena podemos realizar unos cuantos comandos para agregar mas memoria de intercambio, la manera mas&amp;nbsp;cómoda&amp;nbsp;de realizar esto es generar una imagen con &lt;b&gt;dd&lt;/b&gt; y usarla como memoria de intercambio cuando la necesitemos.&lt;br /&gt;
&lt;br /&gt;
Para crear la imagen con &lt;b&gt;dd&lt;/b&gt; lo hacemos de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# dd if=/dev/zero of=/tmp/newswap bs=1024 count=5120000&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Lo que se hizo con el comando &lt;b&gt;dd&lt;/b&gt; de forma detallada fue generar una imagen de 5Gb utilizando el archivo especial &lt;b&gt;/dev/zero&lt;/b&gt;, el cual es utilizado normalmente para generar un archivo limpio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Luego formateamos el archivo generado como SWAP, con el siguiente comando:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# mkswap /tmp/newswap&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
Y finalmente activamos el fichero como swap:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# swapon /tmp/newswap&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
Hasta la proxima!&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6046113441465225551-6665852170321611768?l=www.punto-libre.org' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Cv-FO-a33ROO3qktCfYs62yu1u4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Cv-FO-a33ROO3qktCfYs62yu1u4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Cv-FO-a33ROO3qktCfYs62yu1u4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Cv-FO-a33ROO3qktCfYs62yu1u4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=g-oAE9Dzuz0:LlpzTiP95B8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=g-oAE9Dzuz0:LlpzTiP95B8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=g-oAE9Dzuz0:LlpzTiP95B8:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=g-oAE9Dzuz0:LlpzTiP95B8:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=g-oAE9Dzuz0:LlpzTiP95B8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=g-oAE9Dzuz0:LlpzTiP95B8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/punto-libre/ThLq/~4/g-oAE9Dzuz0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.punto-libre.org/feeds/6665852170321611768/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6046113441465225551&amp;postID=6665852170321611768&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/6665852170321611768?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/6665852170321611768?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/punto-libre/ThLq/~3/g-oAE9Dzuz0/que-hacer-si-se-me-llena-la-swap.html" title="Que hacer si se me llena la Swap?" /><author><name>Ramphis Che</name><uri>http://www.blogger.com/profile/05581561744671774139</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="22" height="32" src="http://2.bp.blogspot.com/-Ab2fzXfSq1Q/Tfe7GKhkIdI/AAAAAAAAAnQ/ajcbgJQavo4/s220/JustFace1.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.punto-libre.org/2011/09/que-hacer-si-se-me-llena-la-swap.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUACQHgzcSp7ImA9WhdXF0Q.&quot;"><id>tag:blogger.com,1999:blog-6046113441465225551.post-1763501721003994102</id><published>2011-08-31T05:29:00.000-07:00</published><updated>2011-08-31T05:29:21.689-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-31T05:29:21.689-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="GNU-Linux" /><title>Invocar un editor de textos para ejecutar comandos</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-gIo_wD_a7hU/Tl4o14JaqUI/AAAAAAAAA6o/dNAFuqk0348/s1600/screenshot2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="126" src="http://4.bp.blogspot.com/-gIo_wD_a7hU/Tl4o14JaqUI/AAAAAAAAA6o/dNAFuqk0348/s200/screenshot2.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;Desde nuestra shell podemos invocar a un editor de textos para escribir los comandos que&amp;nbsp;serán&amp;nbsp;ejecutados en nuestro sistema, para ello realizamos la&amp;nbsp;combinación&amp;nbsp;de teclas Ctrl-X + E y veremos que se nos presentara nuestro editor de textos.&lt;br /&gt;
&lt;br /&gt;
En el podemos copiar los comandos a ejecutar o simplemente escribirlos, luego al salir del editor de textos estos comandos&amp;nbsp;serán&amp;nbsp;ejecutados (No se requiere que sea guardado el archivo).&lt;br /&gt;
&lt;br /&gt;
Esta combinación de teclas ejecutara el editor de textos especificado en la variable &lt;b&gt;$EDITOR&lt;/b&gt;,&amp;nbsp;así&amp;nbsp;que en caso de que quieras utilizar un editor de textos en especifico, como por ejemplo "&lt;b&gt;Vim&lt;/b&gt;", podemos ejecutar el siguiente comando:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# export EDITOR='vim'&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Se abrira "&lt;b&gt;Vim&lt;/b&gt;", cuando tengamos todos los comandos copiados, salimos con &lt;b&gt;:q! &lt;/b&gt;y veremos como los comandos son ejecutados en el orden establecido.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6046113441465225551-1763501721003994102?l=www.punto-libre.org' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qOXIhAdLG6aoo20xTvAojeMh9cQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qOXIhAdLG6aoo20xTvAojeMh9cQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/qOXIhAdLG6aoo20xTvAojeMh9cQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qOXIhAdLG6aoo20xTvAojeMh9cQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=VGJEZo4QV2A:OdgTMBBnfNA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=VGJEZo4QV2A:OdgTMBBnfNA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=VGJEZo4QV2A:OdgTMBBnfNA:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=VGJEZo4QV2A:OdgTMBBnfNA:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=VGJEZo4QV2A:OdgTMBBnfNA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=VGJEZo4QV2A:OdgTMBBnfNA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/punto-libre/ThLq/~4/VGJEZo4QV2A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.punto-libre.org/feeds/1763501721003994102/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6046113441465225551&amp;postID=1763501721003994102&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/1763501721003994102?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/1763501721003994102?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/punto-libre/ThLq/~3/VGJEZo4QV2A/invocar-un-editor-de-textos-para.html" title="Invocar un editor de textos para ejecutar comandos" /><author><name>Ramphis Che</name><uri>http://www.blogger.com/profile/05581561744671774139</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="22" height="32" src="http://2.bp.blogspot.com/-Ab2fzXfSq1Q/Tfe7GKhkIdI/AAAAAAAAAnQ/ajcbgJQavo4/s220/JustFace1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-gIo_wD_a7hU/Tl4o14JaqUI/AAAAAAAAA6o/dNAFuqk0348/s72-c/screenshot2.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.punto-libre.org/2011/08/invocar-un-editor-de-textos-para.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkEGRH05eSp7ImA9WhdXFk4.&quot;"><id>tag:blogger.com,1999:blog-6046113441465225551.post-8646388458711914129</id><published>2011-08-29T10:23:00.000-07:00</published><updated>2011-08-29T10:23:45.321-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-29T10:23:45.321-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="GNU-Linux" /><category scheme="http://www.blogger.com/atom/ns#" term="Sabias que..." /><title>Sabias que...? 29/08/11</title><content type="html">&lt;a href="http://1.bp.blogspot.com/_vurgAABVFFw/TUX8ol0nZzI/AAAAAAAAAAM/sD7n5XEnaTU/s1600/sabias-que.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5568134288591251250" src="http://1.bp.blogspot.com/_vurgAABVFFw/TUX8ol0nZzI/AAAAAAAAAAM/sD7n5XEnaTU/s320/sabias-que.png" style="display: block; height: 122px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 320px;" /&gt;&lt;/a&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="color: #0000ee;"&gt;&lt;u&gt;&lt;br /&gt;
&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;Podemos crear&amp;nbsp;fácilmente&amp;nbsp;una imagen &lt;b&gt;ISO&lt;/b&gt; de nuestros discos con el comando &lt;b&gt;dd&lt;/b&gt; y las siguientes opciones:&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;if=&lt;/b&gt; ruta del dispositivo&lt;br /&gt;
&lt;b&gt;of= &lt;/b&gt;ruta donde se guardara el archivo&lt;br /&gt;
&lt;br /&gt;
Un ejemplo ideal seria:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;# dd if=/dev/cdrom of=/home/ramphis/Escritorio/Imagen.iso&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Mas&amp;nbsp;fácil&amp;nbsp;de&amp;nbsp;ahí... imposible!&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6046113441465225551-8646388458711914129?l=www.punto-libre.org' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Gs-QIqST7lb_hfpnHbvIL54rwBw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Gs-QIqST7lb_hfpnHbvIL54rwBw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Gs-QIqST7lb_hfpnHbvIL54rwBw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Gs-QIqST7lb_hfpnHbvIL54rwBw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=0BCfBWRZBdM:3HR0bSyXoGY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=0BCfBWRZBdM:3HR0bSyXoGY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=0BCfBWRZBdM:3HR0bSyXoGY:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=0BCfBWRZBdM:3HR0bSyXoGY:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=0BCfBWRZBdM:3HR0bSyXoGY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=0BCfBWRZBdM:3HR0bSyXoGY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/punto-libre/ThLq/~4/0BCfBWRZBdM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.punto-libre.org/feeds/8646388458711914129/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6046113441465225551&amp;postID=8646388458711914129&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/8646388458711914129?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/8646388458711914129?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/punto-libre/ThLq/~3/0BCfBWRZBdM/sabias-que-290811.html" title="Sabias que...? 29/08/11" /><author><name>Ramphis Che</name><uri>http://www.blogger.com/profile/05581561744671774139</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="22" height="32" src="http://2.bp.blogspot.com/-Ab2fzXfSq1Q/Tfe7GKhkIdI/AAAAAAAAAnQ/ajcbgJQavo4/s220/JustFace1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_vurgAABVFFw/TUX8ol0nZzI/AAAAAAAAAAM/sD7n5XEnaTU/s72-c/sabias-que.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.punto-libre.org/2011/08/sabias-que-290811.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C08ERn89cCp7ImA9WhdXEU8.&quot;"><id>tag:blogger.com,1999:blog-6046113441465225551.post-7814191267877616725</id><published>2011-08-23T10:49:00.000-07:00</published><updated>2011-08-23T10:50:07.168-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-23T10:50:07.168-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Redes" /><category scheme="http://www.blogger.com/atom/ns#" term="GNU-Linux" /><title>Angry Ip Scanner: Sencillo y Rapido escaner IP Multiplataforma</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-8dAIOQyi_Ng/TlPoGuwYjBI/AAAAAAAAA6g/SmpQ3H5t6u0/s1600/screenshot5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-8dAIOQyi_Ng/TlPoGuwYjBI/AAAAAAAAA6g/SmpQ3H5t6u0/s1600/screenshot5.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;a href="http://www.angryip.org/w/Home"&gt;Angry IP Scanner&lt;/a&gt; es un sencillo y&amp;nbsp;rápido&amp;nbsp;escaner de IP y puertos multiplataforma, no es tan potente como &lt;b&gt;Nmap&lt;/b&gt; como para sustituirlo pero&amp;nbsp;podrá&amp;nbsp;sernos&amp;nbsp;útil&amp;nbsp;para cuando queramos realizar un reporte, ya que nos permite exportar el resultado.&lt;br /&gt;
&lt;br /&gt;
Entre los resultados que nos&amp;nbsp;podrá&amp;nbsp;mostrar&amp;nbsp;están:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Direccion IP con icono representando su estado&lt;/li&gt;
&lt;li&gt;Tiempo de respuesta&lt;/li&gt;
&lt;li&gt;Nombre del host&lt;/li&gt;
&lt;li&gt;Puertos abiertos&lt;/li&gt;
&lt;li&gt;Detección de servidor web&lt;/li&gt;
&lt;li&gt;Información NetBIOS&lt;/li&gt;
&lt;li&gt;Puertos Filtrados&lt;/li&gt;
&lt;li&gt;TTL&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-YWtnKy9JMr4/TlPnNd-jSeI/AAAAAAAAA6Y/6A_dDqyfUMI/s1600/screenshot3.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-YWtnKy9JMr4/TlPnNd-jSeI/AAAAAAAAA6Y/6A_dDqyfUMI/s320/screenshot3.png" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Click para Ampliar&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;a href="http://www.angryip.org/w/Home"&gt;Descarga e Información&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6046113441465225551-7814191267877616725?l=www.punto-libre.org' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xBPMev1oH_GGrb6vpkthmNsxaiA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xBPMev1oH_GGrb6vpkthmNsxaiA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/xBPMev1oH_GGrb6vpkthmNsxaiA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xBPMev1oH_GGrb6vpkthmNsxaiA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=34eVSzwSsQs:O2tQf_VxqA8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=34eVSzwSsQs:O2tQf_VxqA8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=34eVSzwSsQs:O2tQf_VxqA8:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=34eVSzwSsQs:O2tQf_VxqA8:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=34eVSzwSsQs:O2tQf_VxqA8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=34eVSzwSsQs:O2tQf_VxqA8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/punto-libre/ThLq/~4/34eVSzwSsQs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.punto-libre.org/feeds/7814191267877616725/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6046113441465225551&amp;postID=7814191267877616725&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/7814191267877616725?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/7814191267877616725?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/punto-libre/ThLq/~3/34eVSzwSsQs/angry-ip-scanner.html" title="Angry Ip Scanner: Sencillo y Rapido escaner IP Multiplataforma" /><author><name>Ramphis Che</name><uri>http://www.blogger.com/profile/05581561744671774139</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="22" height="32" src="http://2.bp.blogspot.com/-Ab2fzXfSq1Q/Tfe7GKhkIdI/AAAAAAAAAnQ/ajcbgJQavo4/s220/JustFace1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-8dAIOQyi_Ng/TlPoGuwYjBI/AAAAAAAAA6g/SmpQ3H5t6u0/s72-c/screenshot5.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://www.punto-libre.org/2011/08/angry-ip-scanner.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYCRn45eCp7ImA9WhdQFks.&quot;"><id>tag:blogger.com,1999:blog-6046113441465225551.post-5821341769393787743</id><published>2011-08-18T04:31:00.000-07:00</published><updated>2011-08-18T04:32:47.020-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-18T04:32:47.020-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Software" /><category scheme="http://www.blogger.com/atom/ns#" term="GNU-Linux" /><title>Ultracopier: Gestor de copias de archivos</title><content type="html">&lt;a href="http://upload.wikimedia.org/wikipedia/commons/thumb/2/2e/Ultracopier.png/120px-Ultracopier.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://upload.wikimedia.org/wikipedia/commons/thumb/2/2e/Ultracopier.png/120px-Ultracopier.png" /&gt;&lt;/a&gt;&lt;b&gt;Ultracopier&lt;/b&gt; es un excelente gestor de copias de archivos disponible para Windows, Mac y GNU/Linux, diseñado especialmente para copiar o mover archivos de gran tamaño y garantizar la integridad de los archivos a pesar de la rapidez con la cual realiza sus funciones.&lt;br /&gt;
&lt;br /&gt;
Lo&amp;nbsp;encontré&amp;nbsp;buscando una alternativa a Teracopy y en el proceso&amp;nbsp;encontré&amp;nbsp;otro llamado &lt;a href="http://www.adriancourreges.com/projects/minicopier/"&gt;MiniCopier&lt;/a&gt; (Tambien Multiplataforma), el cual es muy semejante a este, pero me quedé con &lt;b&gt;Ultracopier&lt;/b&gt; (Es posible que Minicopier este en los repositorios).&lt;br /&gt;
&lt;br /&gt;
Entre las&amp;nbsp;características&amp;nbsp;que ofrece Ultracopier&amp;nbsp;están:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Facilidad de uso&lt;/li&gt;
&lt;li&gt;Rapidez de operación&lt;/li&gt;
&lt;li&gt;Multiplataforma&lt;/li&gt;
&lt;li&gt;Personalizable&lt;/li&gt;
&lt;li&gt;Total control de lo que se hace&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Gestior de errores y colisiones&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Para su descarga pueden dirigirse a la pagina oficial del proyecto:&amp;nbsp;&lt;a href="http://ultracopier-es.first-world.info/"&gt;ultracopier-es.first-world.info&lt;/a&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6046113441465225551-5821341769393787743?l=www.punto-libre.org' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4PrXIYeYxBu3agiJX--jghu6tJ8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4PrXIYeYxBu3agiJX--jghu6tJ8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4PrXIYeYxBu3agiJX--jghu6tJ8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4PrXIYeYxBu3agiJX--jghu6tJ8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=ObIp5qR3nio:Ld0rGLhIFgg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=ObIp5qR3nio:Ld0rGLhIFgg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=ObIp5qR3nio:Ld0rGLhIFgg:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=ObIp5qR3nio:Ld0rGLhIFgg:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/punto-libre/ThLq?a=ObIp5qR3nio:Ld0rGLhIFgg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/punto-libre/ThLq?i=ObIp5qR3nio:Ld0rGLhIFgg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/punto-libre/ThLq/~4/ObIp5qR3nio" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.punto-libre.org/feeds/5821341769393787743/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6046113441465225551&amp;postID=5821341769393787743&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/5821341769393787743?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6046113441465225551/posts/default/5821341769393787743?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/punto-libre/ThLq/~3/ObIp5qR3nio/ultracopier-gestor-de-copias-de.html" title="Ultracopier: Gestor de copias de archivos" /><author><name>Ramphis Che</name><uri>http://www.blogger.com/profile/05581561744671774139</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="22" height="32" src="http://2.bp.blogspot.com/-Ab2fzXfSq1Q/Tfe7GKhkIdI/AAAAAAAAAnQ/ajcbgJQavo4/s220/JustFace1.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.punto-libre.org/2011/08/ultracopier-gestor-de-copias-de.html</feedburner:origLink></entry></feed>

