<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6301813106398565950</id><updated>2012-01-19T02:10:01.489-08:00</updated><category term='Personal'/><category term='Howto'/><category term='Libros'/><category term='Radios'/><category term='Webmasters'/><category term='Window Manager'/><category term='Revistas'/><category term='Fluxbox'/><category term='Películas'/><category term='Consola'/><category term='Debian'/><category term='Criptografía'/><category term='Dispositivos'/><category term='Sistema'/><category term='Educación'/><category term='Programación'/><category term='Técnicas Criptográficas'/><category term='Arch Linux'/><category term='Seguridad en Gnu/Linux'/><category term='Distribuciones'/><category term='Wallpapers'/><category term='Programas'/><category term='Bash Scripts'/><category term='Comandos Linux'/><category term='Proyectos'/><category term='Geeki comic'/><category term='Taller GTK2/Ruby'/><category term='Videos'/><category term='Varios'/><category term='Seguridad Informática'/><category term='Mundo'/><category term='Argentina'/><category term='Juegos'/><category term='General'/><category term='Noticias'/><category term='Frases Informáticas'/><category term='Openbox'/><category term='Otros S.O'/><category term='Networking'/><category term='Humor'/><category term='Ubuntu'/><category term='Hacking'/><title type='text'>My Blog. Gnu/Linux!</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default?start-index=101&amp;max-results=100'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>173</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-401010114707198200</id><published>2010-07-27T09:40:00.001-07:00</published><updated>2010-07-27T10:42:27.892-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Minimal interfaz Firefox en Ubuntu</title><content type='html'>Hace unos meses estaba usando &lt;a href="http://en.wikipedia.org/wiki/Chromium_(web_browser)"&gt;Chromiun&lt;/a&gt; en Ubuntu 10.04, ya que sentía una diferencia notable comparado a Firefox tanto en rendimiendo como en la interfaz.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Pero hoy me he tomado el tiempo de buscar y modificar la apariencia, y de esta manera logar una interfaz sencilla, amigable y limpia en Firefox y no extrañar a &lt;a href="http://en.wikipedia.org/wiki/Chromium_(web_browser)"&gt;Chromiun&lt;/a&gt;. Además si &lt;a href="http://braianet.blogspot.com/2010/07/firefox-lento-en-ubuntu-aca-la-solucion.html"&gt;aumentás la velocidad de carga en las páginas&lt;/a&gt;, realmente el Oso panda rojo volverá a ser tu navegador preferido ;)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Pasos:&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. Integramos el botón de parar carga y recargar página con &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/313/?collection_uuid=48fb4b5b-dcb6-240e-fc05-22786c3b0f48"&gt;Stop-or-Reload Button&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;2. Integramos en la barra de direcciones el estado de la carga de la página, dándole un estilo Safari con &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/1951/?collection_uuid=48fb4b5b-dcb6-240e-fc05-22786c3b0f48"&gt;Fission&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;3. Escondemos la barra de menús con &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/4762/?collection_uuid=3439f53e-f7f9-4bfd-079d-f4f403fc9f93"&gt;Hide Menubar&lt;/a&gt;, cuando la precisemos, utilizaremos la tecla ALT.&lt;/div&gt;&lt;div&gt;4.  Integramos la barra de búsqueda con la barra de direcciones con &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/8823/?collection_uuid=3439f53e-f7f9-4bfd-079d-f4f403fc9f93"&gt;Omnibar&lt;/a&gt;&lt;/div&gt;&lt;div&gt;5.  Escondemos la barra de estado con &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/1530/"&gt;autoHideStatusBar&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;6. Eliminamos la barra de título dándole un parecido a Chrome con &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/9256/"&gt;Hide Caption&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;7. Cuando creamos una nueva pestaña, Firefox nos muestra una en blanco, con esta extensión tendremos las últimas páginas listas para se&lt;/div&gt;&lt;div&gt;r vistas. &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/10828/"&gt;New Tab King&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;8.  Y por último una extensión que nos permitirá manejar muchísimas opciones en las pestañas, la misma se llama &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/4838/"&gt;Multiple Tab Handler&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ahora el resultado!:&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_qoMj8Cxqh50/TE8ZMPfO1hI/AAAAAAAAA8Q/1035iK0HFLY/s1600/Pantallazo-1.png"&gt;&lt;img src="http://4.bp.blogspot.com/_qoMj8Cxqh50/TE8ZMPfO1hI/AAAAAAAAA8Q/1035iK0HFLY/s400/Pantallazo-1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5498641368149317138" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 300px; " /&gt;&lt;/a&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_qoMj8Cxqh50/TE8ZMPfO1hI/AAAAAAAAA8Q/1035iK0HFLY/s1600/Pantallazo-1.png"&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/6301813106398565950-401010114707198200?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/401010114707198200/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=401010114707198200&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/401010114707198200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/401010114707198200'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2010/07/minimal-interfaz-firefox-en-ubuntu_27.html' title='Minimal interfaz Firefox en Ubuntu'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_qoMj8Cxqh50/TE8ZMPfO1hI/AAAAAAAAA8Q/1035iK0HFLY/s72-c/Pantallazo-1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-4077579610210524610</id><published>2010-07-27T09:37:00.000-07:00</published><updated>2010-07-27T09:40:11.287-07:00</updated><title type='text'>¿Firefox lento en Ubuntu? Acá la solución!</title><content type='html'>A continuación les dejo el siguiente truco si necesitan que Firefox funcione mas rápido, la verdad es que se siente una gran diferencia al iniciarlo y cuando carga las páginas, espero que les sirva. Saludos!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span property="dc:content"&gt;Abre Firefox&lt;br /&gt;1. En la barra de direcciones escribe : &lt;span style="color: red;"&gt;about:config&lt;/span&gt;&lt;br /&gt;2. En la barra "Filtro" teclea:&lt;span style="color: red;"&gt; network.dns.disableIPv6&lt;/span&gt;&lt;br /&gt;3. Haz doble click sobre&lt;span style="color: red;"&gt; "network.dns.disableIPv6",&lt;/span&gt; para que te aparezca el valor (value) &lt;span style="color: red;"&gt;TRUE&lt;/span&gt;&lt;br /&gt;4. Reinicia el Firefox&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span property="dc:content"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span property="dc:content"&gt;Fuente: &lt;a href="http://www.taringa.net/posts/linux/4358847/arreglar-la-carga-lenta-de-firefox.html"&gt;Taringa &lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-4077579610210524610?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/4077579610210524610/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=4077579610210524610&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/4077579610210524610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/4077579610210524610'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2010/07/firefox-lento-en-ubuntu-aca-la-solucion.html' title='¿Firefox lento en Ubuntu? Acá la solución!'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-1540457546680315485</id><published>2009-11-27T09:56:00.001-08:00</published><updated>2009-11-27T11:58:47.965-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Consola'/><category scheme='http://www.blogger.com/atom/ns#' term='Comandos Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Bash Scripts'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Monitorear el sistema en Gnu/Linux desde consola</title><content type='html'>En este post quiero hacer una recompilación de scripts y comandos para monitorear nuestro sistema desde la consola de una manera agradable, es decir darle un toque de color :).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Visualizar netstat:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Empecemos con el monitoreo a través de la herramiento &lt;a href="http://es.wikipedia.org/wiki/Netstat"&gt;netstat&lt;/a&gt;, muy conocida por su multiplataforma para ver las conexiones entrantes y salientes. Bueno a continuación les dejo un script &lt;a href="http://www.tail-f.com.ar/2009/10/11/noticias/netstat-con-colorcitos.html"&gt;encontrado en la web&lt;/a&gt; y modificado para esta versión de Ubuntu 9.10 que uso en español.&lt;br /&gt;&lt;pre style="border: medium inset rgb(204, 204, 204); margin: 1em 2em; padding: 0.5em; overflow: scroll; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; white-space: nowrap;"&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;cyan="\E[1;36m\E[1m";&lt;br /&gt;normal="\E[m";&lt;br /&gt;blue="\E[34m\E[1m";&lt;br /&gt;violet="\E[35m\E[1m";&lt;br /&gt;red="\E[31m\E[1m";&lt;br /&gt;yellow="\E[33m\E[1m";&lt;br /&gt;green="\E[37m\E[32m\E[1m";&lt;br /&gt;text="\E[1;37m\E[1m";&lt;br /&gt;&lt;br /&gt;if [ "$UID" != "0" ]; then&lt;br /&gt;echo -e "$red$0: You will get more information if you have root privileges. Try sudo $0$normal"&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;netstat -natp | \&lt;br /&gt;while read line; do&lt;br /&gt;&lt;br /&gt;if [ `echo $line | awk '{print($1)}'` = "Proto" ]; then&lt;br /&gt;echo -e "$yellow=====================================================================================================$normal"&lt;br /&gt;echo -e "$text$line$normal"&lt;br /&gt;echo -e "$yellow=====================================================================================================$normal"&lt;br /&gt;else&lt;br /&gt;&lt;br /&gt;state=`echo $line | awk '{print($6)}'`&lt;br /&gt;color=$yellow&lt;br /&gt;case $state in&lt;br /&gt;"ESTABLECIDO")&lt;br /&gt;color=$green;;&lt;br /&gt;"SYN_SENT" | "SYN_RECV")&lt;br /&gt;color=$yellow;;&lt;br /&gt;"FIN_WAIT1" | "FIN_WAIT2" |"TIME_WAIT")&lt;br /&gt;color=$violet;;&lt;br /&gt;"CLOSE" | "CLOSE_WAIT" | "LAST_ACK" | "CLOSING" )&lt;br /&gt;color=$blue;;&lt;br /&gt;"ESCUCHAR")&lt;br /&gt;color=$red;;&lt;br /&gt;"UNKNOWN")&lt;br /&gt;color=$red;;&lt;br /&gt;*)&lt;br /&gt;esac&lt;br /&gt;echo -e "$color$line$normal"&lt;br /&gt;&lt;br /&gt;fi&lt;br /&gt;done;&lt;br /&gt;&lt;/pre&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_qoMj8Cxqh50/SxAUt4QMR9I/AAAAAAAAA58/DuX_FKU85eU/s1600/netstat.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_qoMj8Cxqh50/SxAUt4QMR9I/AAAAAAAAA58/DuX_FKU85eU/s320/netstat.png" alt="" id="BLOGGER_PHOTO_ID_5408845930898933714" border="0" /&gt;&lt;/a&gt;Para usar el script:&lt;br /&gt;&lt;pre&gt;touch nett&lt;/pre&gt;              /*Creamos el fichero*/&lt;br /&gt;&lt;pre&gt;chmod +x nett&lt;/pre&gt;      /*Le damos permiso de ejecucion*/&lt;br /&gt;&lt;pre&gt;gedit nett&lt;/pre&gt;               /*Abrimos Gedit y pegamos el codigo y ponemos guardar */&lt;br /&gt;&lt;pre&gt;./nett&lt;/pre&gt;                      /*Para usarlo*/&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Visualizar logs:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Primero instalamos el paquete &lt;a href="http://freshmeat.net/projects/ccze/"&gt;ccze&lt;/a&gt; que nos colorizará nuestra terminal con los resultados de los logs.&lt;br /&gt;&lt;pre&gt;apt-get install ccze&lt;/pre&gt;&lt;br /&gt;Generalmente visualizamos los logs en los ficheros que se encuentran en /var/log/.&lt;br /&gt;&lt;br /&gt;La herramienta TAIL permite visualizar ciertas líneas de un archivo de texto plano, por ejemplo las últimas X líneas, pero la opción que utilizaremos se queda esperando cambios en el archivo y los muestra a medida que van apareciendo. En el caso de visualizar un archivo de log tendremos la actualización constante del archivo en nuestra pantalla:&lt;br /&gt;&lt;br /&gt;# tail -f /var/log/syslog&lt;br /&gt;&lt;br /&gt;Ahora solo queda mejorar un poco la salida para que sea mas ágil la lectura:&lt;br /&gt;&lt;br /&gt;# tail -f /var/log/syslog | ccze&lt;br /&gt;&lt;br /&gt;A continuación veremos la salida de dmesg:&lt;br /&gt;&lt;br /&gt;# tail -f /var/log/dmesg | ccze&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qoMj8Cxqh50/SxAoMca5gWI/AAAAAAAAA6E/Mr0c_M4QGIg/s1600/Pantallazo.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_qoMj8Cxqh50/SxAoMca5gWI/AAAAAAAAA6E/Mr0c_M4QGIg/s320/Pantallazo.png" alt="" id="BLOGGER_PHOTO_ID_5408867346724520290" border="0" /&gt;&lt;/a&gt;También se pueden monitorear tres logs al mismo tiempo, aunque no es muy recomendable nos dará una mirada al instante de lo que ocurre en nuestro sistema:&lt;br /&gt;&lt;br /&gt;# tail -f /var/log/syslog /var/log/auth.log /var/log/dmesg | ccze&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qoMj8Cxqh50/SxAuoXqBGxI/AAAAAAAAA6M/28_7RzkqESo/s1600/Pantallazo-1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_qoMj8Cxqh50/SxAuoXqBGxI/AAAAAAAAA6M/28_7RzkqESo/s320/Pantallazo-1.png" alt="" id="BLOGGER_PHOTO_ID_5408874423551859474" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Pueden crear alias en el archivo $HOME/.bashrc para ahorrarse el comando en conjunto :&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;alias syslog='tail -f /var/log/syslog | ccze'&lt;br /&gt;alias maillog='tail -f /var/log/mail.log | ccze'&lt;br /&gt;alias weblog='tail -f /var/log/squid/access.log | ccze'&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Luego solamente tipeando:&lt;br /&gt;&lt;br /&gt;$ syslog&lt;br /&gt;&lt;br /&gt;Veremos la salida de /var/log/syslog coloreada.&lt;br /&gt;&lt;br /&gt;Espero que les resulte útil. Saludos :)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Fuente y Relacionados:&lt;/span&gt;&lt;a href="http://www.scribd.com/doc/23255498/Control-de-Logs-en-Gnu-Linux-Revista-HackxCrack"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.estrellateyarde.es/so/logs-en-linux"&gt;Logs en Gnu/Linux&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mey-online.com.ar/blog/index.php/archives/logs-en-tiempo-real"&gt;Logs en Tiempo Real&lt;/a&gt;&lt;br /&gt;&lt;a href="http://sliceoflinux.com/2009/04/13/visualizar-y-colorear-logs-en-ubuntu-server/"&gt;Colorear Logs&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-1540457546680315485?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/1540457546680315485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=1540457546680315485&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/1540457546680315485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/1540457546680315485'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2009/11/monitorear-el-sistema-en-gnulinux-desde.html' title='Monitorear el sistema en Gnu/Linux desde consola'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_qoMj8Cxqh50/SxAUt4QMR9I/AAAAAAAAA58/DuX_FKU85eU/s72-c/netstat.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-2356286245335948440</id><published>2009-11-06T17:53:00.000-08:00</published><updated>2009-11-06T18:09:35.904-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programas'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Sonido inteligente en Ubuntu 9.10 Karmic Koala</title><content type='html'>Tanto tiempo sin escribir en mi blog, espero que esta nota les resulte interesante :).&lt;br /&gt;Ayer volví a instalar Ubuntu en su última versión 9.10, me pareció una exelente distro en cuando a funcionalidades y demás cosas como detención de hardware, etc.&lt;br /&gt;Pero lo que yo quería era que el sonido se controlara de forma automática, pensé que esta versión de Ubuntu la traería pero no, entonces me decepcionó ja. Igual no todo es negro, con un simple comando podemos instalar &lt;a href="https://launchpad.net/earcandy"&gt;Earcandy&lt;/a&gt; que nos permitirá controlar nuestra reproducción de audio, por ejemplo abrimos un navegador y vemos un video en Youtube, entonces nuestro reproductor de música, sea rhythmbox o el que sea se silenciará de una manera gradual. Cuando el video finalice, nuestro reproductor volverá a su volumen original, si no lo creen pruebenlo ustedes mismos :)&lt;br /&gt;&lt;br /&gt;Comando para instalarlo:&lt;br /&gt;&lt;pre&gt;apt-get install earcandy python-wnck &lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Nota: Me dio error al querer iniciar earcandy la primera vez, entonces instalé las librerías python-wnc&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;braianet@ubuntu:~$ earcandy&lt;br /&gt;Traceback (most recent call last):&lt;br /&gt;File "/usr/bin/earcandy", line 17, in &lt;module&gt;&lt;br /&gt; import ear_candy&lt;br /&gt;File "/usr/share/earcandy/ear_candy/ear_candy.py", line 20, in &lt;module&gt;&lt;br /&gt; import wnck&lt;br /&gt;&lt;/module&gt;&lt;/module&gt;&lt;/pre&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qoMj8Cxqh50/SvTWZI-2VSI/AAAAAAAAA4E/Y8YG3bvFDEw/s1600-h/Pantallazo.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_qoMj8Cxqh50/SvTWZI-2VSI/AAAAAAAAA4E/Y8YG3bvFDEw/s320/Pantallazo.png" alt="" id="BLOGGER_PHOTO_ID_5401177580520232226" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Como verán el programa trae una serie de opciones y se posiciona en la barra de notificaciones, también es posible ocultarla. Bueno espero que les sirva. Saludos :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-2356286245335948440?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/2356286245335948440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=2356286245335948440&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/2356286245335948440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/2356286245335948440'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2009/11/sonido-inteligente-en-ubuntu-910-karmic.html' title='Sonido inteligente en Ubuntu 9.10 Karmic Koala'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_qoMj8Cxqh50/SvTWZI-2VSI/AAAAAAAAA4E/Y8YG3bvFDEw/s72-c/Pantallazo.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-104017276391497061</id><published>2009-02-28T07:08:00.001-08:00</published><updated>2009-02-28T08:04:52.496-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bash Scripts'/><category scheme='http://www.blogger.com/atom/ns#' term='Distribuciones'/><title type='text'>Instalar Flash Player 64 bits en Gnu/Linux</title><content type='html'>Distro: Todas.&lt;br /&gt;Ultima versión disponible: &lt;a href="http://download.macromedia.com/pub/labs/flashplayer10/libflashplayer-10.0.22.87.linux-x86_64.so.tar.gz"&gt;libflashplayer-10.0.22.87.linux-x86_64.so.tar.gz&lt;/a&gt;&lt;br /&gt;Fecha: 24 de febrero del 2009&lt;br /&gt;&lt;br /&gt;Modifique un &lt;a href="http://www.ventanazul.com/articulos/flash-player-10-64-bits"&gt;script que encontre&lt;/a&gt;, espero que les sirva saludos!&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;# Script para instalar libflashplayer-10.0.22.87.linux-x86_64.so.tar.gz creado por Braianet :).&lt;br /&gt;# Bajo Licencia GPL&lt;br /&gt;&lt;br /&gt;# Cerrar Firefox&lt;br /&gt;FLASHV="libflashplayer-10.0.22.87.linux-x86_64.so.tar.gz"&lt;br /&gt;&lt;br /&gt;clear&lt;br /&gt;#verifica si es root&lt;br /&gt;if [ "$(whoami)" = 'root' ]&lt;br /&gt;then&lt;br /&gt;&lt;br /&gt;echo "Cerrando Firefox........."&lt;br /&gt;&lt;br /&gt;pkill firefox&lt;br /&gt;sleep 2&lt;br /&gt;&lt;br /&gt;echo "Advertencia:&lt;br /&gt;Antes de continuar, elimine cualquier version previa de flash player"&lt;br /&gt;&lt;br /&gt;echo "Presione 1 para continuar, 0 para salir"&lt;br /&gt;&lt;br /&gt;read ENTRADA&lt;br /&gt;&lt;br /&gt;case $ENTRADA in&lt;br /&gt;1 )&lt;br /&gt; echo "Descargando flash player......"&lt;br /&gt; wget http://download.macromedia.com/pub/labs/flashplayer10/$FLASHV &amp;amp;&amp;amp;&lt;br /&gt; tar xvzf $FLASHV&lt;br /&gt; cp libflashplayer.so /usr/lib/mozilla/plugins/&lt;br /&gt; echo "Linkeando librerias"&lt;br /&gt; ln -sf /usr/lib/mozilla/plugins/libflashplayer.so /usr/lib/mozilla/plugins/&lt;br /&gt; ln -sf /usr/lib/mozilla/plugins/libflashplayer.so /usr/lib/firefox-addons/plugins/&lt;br /&gt; echo "Terminado"&lt;br /&gt; echo "Puedes iniciar Firefox"&lt;br /&gt; exit&lt;br /&gt; ;;&lt;br /&gt;0 )&lt;br /&gt; echo "Saliendo......"&lt;br /&gt; exit&lt;br /&gt; ;;&lt;br /&gt;esac&lt;br /&gt;&lt;br /&gt;else&lt;br /&gt;&lt;br /&gt;echo "Usted no es root, ejecutelo como root para instalarlo!"&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;#Fin de script&lt;br /&gt;&lt;br /&gt;Para utilizarlo:&lt;br /&gt;&lt;br /&gt;# chmod +x script.sh&lt;br /&gt;# ./script.sh&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-104017276391497061?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/104017276391497061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=104017276391497061&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/104017276391497061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/104017276391497061'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2009/02/instalar-flash-player-64-bits-en.html' title='Instalar Flash Player 64 bits en Gnu/Linux'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-7431703322678714794</id><published>2008-12-11T04:15:00.000-08:00</published><updated>2008-12-11T04:44:09.165-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programas'/><category scheme='http://www.blogger.com/atom/ns#' term='Arch Linux'/><title type='text'>Frontend for ffmpeg</title><content type='html'>&lt;b&gt;FFmpeg&lt;/b&gt; es una colección de &lt;a href="http://es.wikipedia.org/wiki/Software_libre" title="Software libre"&gt;software libre&lt;/a&gt; que puede grabar, convertir y hace &lt;a href="http://es.wikipedia.org/wiki/Streaming" title="Streaming"&gt;streaming&lt;/a&gt; de &lt;a href="http://es.wikipedia.org/wiki/Audio" title="Audio" class="mw-redirect"&gt;audio&lt;/a&gt; y &lt;a href="http://es.wikipedia.org/wiki/V%C3%ADdeo" title="Vídeo" class="mw-redirect"&gt;vídeo&lt;/a&gt;. Incluye libavcodec, una biblioteca de &lt;a href="http://es.wikipedia.org/wiki/C%C3%B3dec" title="Códec"&gt;códecs&lt;/a&gt;. FFmpeg está desarrollado en &lt;a href="http://es.wikipedia.org/wiki/Linux" title="Linux" class="mw-redirect"&gt;Linux&lt;/a&gt;, pero puede ser compilado en la mayoría de los sistemas operativos, incluyendo &lt;a href="http://es.wikipedia.org/wiki/Windows" title="Windows" class="mw-redirect"&gt;Windows&lt;/a&gt;. &lt;a href="http://es.wikipedia.org/wiki/FFmpeg"&gt;Ver más...&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Como la mayoría sabrá es un extra super :P convertidor de archivos multimedias, practicamente todos los formatos soportados. Debido a su principal uso en la consola, existen cientos de &lt;a href="http://casidiablo.net/ffmpeg/"&gt;ejemplos &lt;/a&gt;de como convertir audio, video, imagenes, etc en la consola, pero lo que yo necesita era un Frontend gráfico, es decir un GUI para no estar recordando todos esos comandos en la consola asi que decidí investigar y encontré varios programas...&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Hyper Video Converter&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Posee dos versiones, &lt;a href="http://gtk-apps.org/content/show.php/Hyper+Video+Converter?content=88970"&gt;Gtk&lt;/a&gt; y &lt;a href="http://kde-apps.org/content/show.php/Hyper+Video+Converter?content=67781"&gt;Qt4&lt;/a&gt;, para los puristas(me incluyo) en los escritorios...&lt;br /&gt;&lt;br /&gt;Versión Gtk:&lt;br /&gt;&lt;br /&gt;REQUIRIMIENTOS :&lt;br /&gt;-------------------------&lt;br /&gt;&lt;br /&gt;gtk2 (libgtk2)&lt;br /&gt;ffmpeg&lt;br /&gt;ffmpeg2theora&lt;br /&gt;mplayer&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;INSTALACION(todas las distros) :&lt;br /&gt;--------------&lt;br /&gt;&lt;br /&gt;1) Descargas el paquete binario&lt;br /&gt;2) Lo Descomprimes&lt;br /&gt;3) Ejecutas ./installer.sh como root&lt;br /&gt;4) copia ./.hyperconf en tu carpeta $HOME.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_qoMj8Cxqh50/SUEJfLmc9lI/AAAAAAAAAr4/GsBjoneC_Wo/s1600-h/88970-2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 130px;" src="http://4.bp.blogspot.com/_qoMj8Cxqh50/SUEJfLmc9lI/AAAAAAAAAr4/GsBjoneC_Wo/s200/88970-2.jpg" alt="" id="BLOGGER_PHOTO_ID_5278510669549598290" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Nota Archlinuxeros Instalación: &lt;span style="font-weight: bold;"&gt;yaourt -S hypervideoconverter&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;Winff&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Este programita me gustó mas, pueden encontrarlo &lt;a href="http://code.google.com/p/winff/"&gt;aquí&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Para archlinux: &lt;span style="font-weight: bold;"&gt;yaourt -S winff&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border: 1px solid rgb(170, 170, 170); padding: 5px;"&gt;&lt;img src="http://biggmatt.com/images/googlecode/winff-xp.jpg" /&gt;&lt;/td&gt;&lt;td style="border: 1px solid rgb(170, 170, 170); padding: 5px;"&gt;&lt;img src="http://biggmatt.com/images/googlecode/winff-ubuntu.png" /&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td style="border: 1px solid rgb(170, 170, 170); padding: 5px;"&gt;&lt;img src="http://biggmatt.com/images/googlecode/windows-icon.png" /&gt; &lt;a href="http://winff.googlecode.com/files/WinFF-0.43-setup.exe" rel="nofollow"&gt;WinFF 0.43 Installer&lt;/a&gt;&lt;/td&gt;&lt;td style="border: 1px solid rgb(170, 170, 170); padding: 5px;"&gt;&lt;img src="http://biggmatt.com/images/googlecode/ubuntu_icon.png" /&gt; &lt;a href="http://code.google.com/p/winff/wiki/UbuntuInstallation" rel="nofollow"&gt;Ubuntu&lt;/a&gt; &lt;img src="http://biggmatt.com/images/googlecode/debian.png" /&gt; &lt;a href="http://code.google.com/p/winff/wiki/DebianInstallation" rel="nofollow"&gt;Debian&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td style="border: 1px solid rgb(170, 170, 170); padding: 5px;"&gt;&lt;img src="http://biggmatt.com/images/googlecode/redhat.png" /&gt; &lt;a href="http://winff.googlecode.com/files/winff-0.43%7Eppa1h.i386.rpm" rel="nofollow"&gt;WinFF 0.43 I386 RPM Package&lt;/a&gt;&lt;/td&gt;&lt;td style="border: 1px solid rgb(170, 170, 170); padding: 5px;"&gt;&lt;a href="http://www.lazarus.freepascal.org/" rel="nofollow"&gt;&lt;img src="http://biggmatt.com/images/googlecode/FreePascal.jpeg" /&gt;&lt;/a&gt;&lt;a href="http://code.google.com/p/winff/downloads/detail?name=winff0.43-source.tar.gz&amp;amp;can=2&amp;amp;q=" rel="nofollow"&gt;WinFF 0.43 Source&lt;/a&gt; &lt;a href="http://www.gnu.org/licenses/gpl.html" rel="nofollow"&gt;&lt;img src="http://biggmatt.com/images/gplv3.png" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;Saludos y espero que les sea útil!.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-7431703322678714794?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/7431703322678714794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=7431703322678714794&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/7431703322678714794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/7431703322678714794'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/12/frontend-for-ffmpeg.html' title='Frontend for ffmpeg'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_qoMj8Cxqh50/SUEJfLmc9lI/AAAAAAAAAr4/GsBjoneC_Wo/s72-c/88970-2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-8513809351458578919</id><published>2008-12-09T15:58:00.000-08:00</published><updated>2008-12-10T12:47:02.404-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Argentina : La Web 2.0 con calle de tierra y de techo el cielo...</title><content type='html'>&lt;p&gt;Navegando por la web encontré &lt;a href="http://www.tufuncion.com/google-gears"&gt;este artículo&lt;/a&gt; y en él un gran comentario, creo que es un fiel reflejo de la Argentina y de Latinoamerica en si, espero que les interese. Saludos!&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-weight: bold;"&gt;Argentina : La Web 2.0 con calle de tierra y de techo el cielo...&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Así de simple , este titulo un tanto “odioso” seria el resultado final de muchas encuestas , que se pueden realizar hoy en el cono urbano del gran Buenos Aires y desde luego en muchas provincias de Argentina .&lt;br /&gt;Cuando uno despega su cerebro del monitor de una PC , se da cuenta que conviven dos realidades muy distantes entre si .&lt;br /&gt;La cibernética y sus adelantos nos llevan a creer que ese mundo virtual esta siempre al alcance de nosotros , ( claro nunca nos aclaran que solo unos pocos acceden ) llegamos a creer que nosotros “ somos todos”...&lt;br /&gt;Hoy nos deslumbramos cuando nos llega tanta información en la red de los “mega” negocios millonarios , cómo llegar al éxito y como lo lograron&lt;br /&gt;( en realidad los apellidos nos hablan a las claras de otro país...otra gente y otro poder adquisitivo ) aprendimos al instante que es una web 2.0 o un bloger , como interactuar muy rápido , buscar información y todo lo que usted ya sabe ... perdón...eso si tiene Internet .&lt;br /&gt;Todo parece al alcance de nuestras manos “ rápido , veloz y muy  fácil “&lt;br /&gt;tu computadora pronto se transforma en “ la novia feliz”&lt;br /&gt;La enciendes y listo...&lt;br /&gt;Eso si , mientras pagues la cuenta de teléfono y los gastos de conexión serás del primer mundo , eso sin contar que debes cambiar tu PC por otro modelo , porque muy pronto y mas rápido de lo que tu bolsillo pueda soportar se convierte en un aparato viejo y demasiado lento .&lt;br /&gt;Pero como dije al principio , ese mundo de seducción y erotismo , termina cuando apagas tu computadora y decides ver que hay a tu alrededor .&lt;br /&gt;Ahí te das cuenta que entre lo virtual y lo real hay demasiada enemistad que jamás serán hermanas ...dos mundos antagónicos.&lt;br /&gt;Como no soy partidario de extensos prólogos , voy al tema en cuestión .&lt;br /&gt;Por motivos que no tiene mucho sentido en este caso detallar , camino mucho a diario sobre zonas muy cercanas a capital federal podría citar a muchos barrios periféricos&lt;br /&gt;Y lo que puedo observar a simple vista es la cara oculta de “aquellas cosas que no es conveniente mostrar ” mientras tus zapatos se llenan de tierra y aprendes muy rápido como sortear una zanja , te das cuenta que esta hermosa historia de la Internet y los mega negocios solo es para un porcentaje muy pequeño de una extensa población totalmente marginada.&lt;br /&gt;La gran mayoría , aun vive con calle de tierra y de techo el cielo , con una garrafa en envase de 30 o 40 pesos no hay demasiadas expectativas de obtener una banda ancha , tampoco les sobra tiempo para entender que es un blog o un sitio web 2.0 , subsistir y llegar a fin de mes es el tema del día .&lt;br /&gt;Y si les digo que la mayoría  cree que la PC es una maquina perversa llena de juegos y pornografía ?&lt;br /&gt;Y no los culpo por opinar así , la tele con cuatro canales no informa demasiado no...? no hay para ellos TV educativa , solo algunos programas con culos y tetas de plástico y algún noticiero...esa es su vida y su entorno&lt;br /&gt;Esa es toda la “ data” que les llega.&lt;/p&gt; &lt;p&gt;Solo para que tengan una idea de la “ otra historia”&lt;br /&gt;Esa que jode tanto vio...&lt;br /&gt;En cada barrio , podemos encontrar algunas familias que si compraron una PC , ahora lo gracioso es que no tienen Internet y porque...?&lt;br /&gt;Tan simple como preguntar , como hace esa familia para pagar un costo promedio de 140 a 160 pesos por mes , para acceder a una banda ancha y desearía que no insistan con esas historias de marketing de cuarta , donde intentan convencerte que hay promociones por 40 pesos , todos sabemos que esas famosas “ promo” duran tres meses y solo te dan un moden , que los bautice ( tortuga sin patas por lo lento ) que en definitiva no sirve de nada y a la larga terminas pagando lo mismo o mas caro.&lt;br /&gt;Los demás papas y mamas que no tienen la PC en casa con suerte mandan a sus hijos a los famosos tugurios llamados “ciber” y si hablamos con la verdad ( de esto se trata) estos adolescentes no van por la biblioteca virtual Vikypedia ni para leer las novedades de marqueting de los nuevos adelantos de los empresarios norteamericanos , tampoco saben que es una web 2.0 ni como ganar supuestos dineros con sitios web..&lt;br /&gt;Van en definitiva a “ jugar ” en red o contactar con su novia en un chat y  no mas que eso , porque ..?&lt;br /&gt;Será porque ,  las monedas no dan para mas..&lt;br /&gt;Y las escuelas...?&lt;br /&gt;Podríamos recorrer muchas escuelas ...de echo lo hice ..&lt;br /&gt;Aun siento mucha vergüenza y demasiada bronca por lo que pude ver , aunque cueste creerlo viejas Pentium uno y la inolvidable “486” vuelven a la vida en esos lugares , con maestras que hacen milagros para que funcionen , con el viejo Word 95 intentan que la palabra “ computación” tenga sentido .&lt;br /&gt;Pude ver esas maquinas sin compactera , con rígidos de apenas 1 giga o menos y para prenderas deben esperar cinco minutos para que aparezca en inolvidable Windows 95...&lt;br /&gt;Todo esto a solo 5 kilómetros de los flogers , los dark , cumbios y la madre que me parió.&lt;br /&gt;Imaginan colocar una de esas maquinas en internet...?&lt;br /&gt;Y nosotros aquí “del otro lado” mientras un monitor de plasma con 32 BIT de colores nos muestra como Mr .Jonson de Machachuset hizo 300 millones de dólares con su blog sobre cocina griega....&lt;br /&gt;( lo bizarro es creer que somos parte de ese mundo tecnológico )&lt;br /&gt;Como simplificar en pocas palabras esta realidad..?&lt;br /&gt;Calles de tierra , pibes casi sin padres , un porro y por la tarde un ratito al ciber mas cercano , creo que esta es en definitiva la respuesta final .&lt;br /&gt;Repito , recorrí tantos barrios como pude , hable con muchachos y niñas con padres y maestros , siempre la misma respuesta “ el dinero no alcanza y menos para tener la ultima pentium cuatro o soportar otra cuota a fin de mes por una banda ancha .&lt;br /&gt;Perdón...y supongamos que tengas el dinero , quizás tampoco logres  la conexión , no sea cosa que la compañía te diga :&lt;br /&gt;-  Lo sentimos usted esta en zona de riesgo.....&lt;br /&gt;Triste no..?&lt;br /&gt;Subsidios , ayudas , colaboraciones etc y mas etc...&lt;br /&gt;Una mentira  , tan solo eso.. una gran  mentira ...&lt;br /&gt;Solo por citar un ejemplo , a una escuelita le robaron su PC en el barrio de Madero , hoy año 2008 festeja el año de su ausencia...&lt;br /&gt;Que tal...?&lt;br /&gt;Tal vez quiera un ejemplo mas....&lt;br /&gt;Algunos destacamentos de policía no tienen fax o los mandan a reparar a técnicos de barrio , porque si esperan de la cooperadora policial...&lt;br /&gt;Seguirán escribiendo por mucho tiempo con la vieja “ maquina rémington” y esto lo vi personalmente, inclusive muchas de las impresoras que tienen son a “cinta” así como suena .&lt;br /&gt;Mire , si tomamos la cantidad de habitantes que tiene este país , somos apenas cuatro gatos locos los que tenemos acceso a ese mundo colorido y cibernético que nos habla hasta el hartazgo de millones de dólares ....&lt;br /&gt;Nosotros somos apenas simples “paseantes” de un mundo casi inalcanzable , es como entrar al mejor choping y no comprar nada , miramos como otros hacen sus negocios .&lt;br /&gt;Perdón...por lo menos algunos entramos a ver...&lt;br /&gt;Ya se que este informe duele y no conviene ventilar demasiado y hasta logro entender que no faltaran algunos defensores del comercio virtual gritando a cuatro vientos...&lt;br /&gt;- Hay casos en Argentina donde fulana de tal  , coloco un blog y hoy tiene su micro empresa o casos parecidos..&lt;br /&gt;Puedo responder a esto sin mucho vericueto lingüístico ..&lt;br /&gt;Y cuantas fulanas de tal , viven de la Internet hoy en Argentina..?&lt;br /&gt;Cuantas..?&lt;br /&gt;Una .? cinco. o 20..en el mejor de los casos...?&lt;br /&gt;Como dicen lo pibes hoy en dia ..” no existís” esto no marca nada ni dice nada ...&lt;br /&gt;Repito , como ejemplo de adelanto , sostengo que es un maldito fracaso..&lt;br /&gt;Por lo menos en Argentina , de otros países , no se y no me interesa .&lt;br /&gt;Por tal motivo no tengo reparos en afirmar que las encuestas marquetineras o los famosos index todo se muere a 10 kilómetros del obelisco y no mas que eso..&lt;br /&gt;Que cosa no...? de lo que no se tiene , no hay encuestas .&lt;br /&gt;Tendrían que recorrer un poquito los barrios y sus alrededores para darse cuenta que somos apenas cuatro trasnochados inflados por el ego de creer que somos tecnológicos y nos llenamos la boca hablando de google , yahoo o youtube , cuando la realidad , nos muestra un país dividido entre egoístas y mentirosos .&lt;br /&gt;Que importa si la web 2.0 o el bloger tal hace furor en Colorado , Dember o New York ... si solo pueden acceder a esa fantasía el 5% de la población de un país..?&lt;br /&gt;Perdón cuanto dije...?&lt;br /&gt;Otro ejemplo y el ultimo...&lt;br /&gt;Miren yahoo ( en español) en la sección respuestas&lt;br /&gt;En ese foro interactúan miles de usuarios , bueno, que me contesten los marquetineros de saco y corbata , los discípulos de Bill gates cuantos lectores argentinos “hoy” y “ahora” están en ese sitio .&lt;br /&gt;Cuantos...?&lt;br /&gt;Esto contesta a mucho fanático que insiste en hacernos creer que Internet es popular en Argentina , cuando en realidad , el sexo porro y birra , tiene hoy mas adeptos que lo internautas argentinos que usan google.&lt;br /&gt;Yo insisto con lo mismo y aunque se me tilde de pesimista agrio o resentido&lt;br /&gt;Me da igual...&lt;br /&gt;Será porque la realidad me jode mal , no puede ser que cuatro cara lánguida de saco y corbata nos vengan a vender que la Internet y sus supuestos beneficios es un hermoso regalo que adorna hoy las mesas de todos los hogares argentinos .&lt;br /&gt;Tampoco , idiotizar al usuario a punto de hacerles creer que aquellos afortunados que acceden a Internet tienen el mundo de los negocios en sus manos , porque los tipos encargados de mencionar en miles de sitios esos ejemplos exitosos , no hablan de ningún Rodríguez ni Pérez o García...&lt;br /&gt;Son todos Jhonatan , Jonson , Anderson  etc y mas etc.&lt;br /&gt;Y de esto ultimo lo digo con conocimiento , comencé cuando la Internet casi ni se conocía en este país y puedo hablar de los miles de trucos que existen en ella o como cazar incautos .&lt;br /&gt;Para lograr un éxito económico en la red no tiene grandes secretos , sabes porque..?&lt;br /&gt;Nada lograras sin una base sólida y gente que este dispuesta a invertir en tu proyecto y eso se resume a dos palabras “dinero y capital de riesgo” .&lt;br /&gt;Lo demás es puro cuento . nadie se hace millonario en Internet de un día para el otro y vuelvo a repetir lo mismo , los ejemplos que me dan de un tal Jeferson o Diana Edith no se cuanto .... no sirven .&lt;br /&gt;Mientras existan muchas mamas que mandan a sus hijos a la escuela , solo porque ahí le dan de comer o miles de familias a media hora de colectivo del centro , que aun “ hoy” no tienen agua potable ...&lt;br /&gt;La web 2.0 es a penas un rey mago que vive en barrio norte...&lt;br /&gt;Y te digo mas...ninguno de esos padres saben que significa “Mi PC”.&lt;br /&gt;Queres apostar...&lt;br /&gt;Para finalizar yo pregunto ...si hay tanto cerebro privilegiado trabajando para que la 2.0 , de mucho dinero , no sobra por ahí un poquito de materia gris para ver como podemos hacer viable una realidad mas concreta , que muchos argentinos puedan tener su PC conectada con el mundo..?&lt;br /&gt;No se , digo..? &lt;/p&gt; &lt;p&gt;Chau&lt;br /&gt;Por jaker2 ( escritor )&lt;br /&gt;Bs. As Argentina&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-8513809351458578919?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/8513809351458578919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=8513809351458578919&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/8513809351458578919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/8513809351458578919'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/12/argentina-la-web-20-con-calle-de-tierra.html' title='Argentina : La Web 2.0 con calle de tierra y de techo el cielo...'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-6938576027954207730</id><published>2008-12-04T03:13:00.000-08:00</published><updated>2008-12-04T03:21:41.489-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Cerebro Trabajado</title><content type='html'>He creado un nuevo blog, se llama cerebro trabajando, y está destinado a aquellas personas que se cuestionan todo acerca del presente, la economía, el gobierno, la ecología, muchas teorías e hipótesis, pero como saben cada uno tiene la capacidad de discernir lo que es correcto o no, lo que es verdad o mentira, de creer o no creer, quizás algunos documentales afecten su moral ya sean fanáticos religiosos, patrióticos, políticos, etc. Open your Mind!.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://cerebro-trabajando.blogspot.com"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 212px; height: 236px;" src="http://2.bp.blogspot.com/_3pJzQ9P19yY/STRNSB_jr9I/AAAAAAAAAUA/ZX1m69BzUH4/S236/cerebro.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://cerebro-trabajando.blogspot.com"&gt;http://cerebro-trabajando.blogspot.com&lt;/a&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/6301813106398565950-6938576027954207730?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/6938576027954207730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=6938576027954207730&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/6938576027954207730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/6938576027954207730'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/12/cerebro-trabajado.html' title='Cerebro Trabajado'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_3pJzQ9P19yY/STRNSB_jr9I/AAAAAAAAAUA/ZX1m69BzUH4/s72-c/cerebro.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-2132190564498386046</id><published>2008-11-04T15:49:00.000-08:00</published><updated>2008-11-04T15:55:59.928-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Consola'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><title type='text'>Programación en Bash</title><content type='html'>Exelente manual para la programación en bash, desde &lt;a href="http://wiki.xtech.com.ar/index.php/Programaci%C3%B3n_de_scripts_en_Bash"&gt;xtech.com.ar&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Introducción &lt;/h2&gt; &lt;p&gt;Linux, así como la mayoría de los UNIX, utilizan shell scripts para realizar una infinidad de tareas. Un shell script es un programa que se escribe con una sintaxis particular, en un archivo de texto plano, para que sea interpretado por un shell, en este caso /bin/bash. &lt;/p&gt;&lt;p&gt;Un shell script es básicamente un programa que llama a otros programas, con la posibilidad de hacer algun tipo de procesamiento propio (como control de flujo, operaciones matemáticas simples, etc). &lt;/p&gt;&lt;p&gt;Por lo tanto la forma de crear un shell script es hacer un archivo con nuestro ya querido vi: &lt;/p&gt; &lt;pre&gt;vi holam&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Luego lo llenamos con las instrucciones que deseamos. Por ejemplo: &lt;/p&gt; &lt;pre&gt;#!/bin/bash&lt;br /&gt;echo "Hola mundo!"&lt;br /&gt;# Esto es por costumbre utilizado como ejemplo del primer programa.&lt;br /&gt;# Se dice que trae suerte!&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Luego le damos permisos de ejecución a ese archivo: &lt;/p&gt; &lt;pre&gt;chmod +x holam&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Y de esta manera ya tendremos listo un shell script que  se ejecuta de la siguiente forma: &lt;/p&gt; &lt;pre&gt;./holam&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Debemos destacar la primera linea de nuestro script bash: &lt;/p&gt; &lt;pre&gt; #!/bin/bash&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;esta línea le indica al sistema que el script será interpretado por el programa que se encuentra a continuación de #!, en este caso, /bin/bash &lt;/p&gt;&lt;p&gt;Las últimas dos líneas son comentarios &lt;/p&gt; &lt;pre&gt; # Esto es por costumbre utilizado como ejemplo del primer programa.&lt;br /&gt;# Se dice que trae suerte!&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Los comentarios comienzan con # y se extienden hasta el final de la línea. Es muy útil ir comentando el código que uno escribe, para recordar qué realizan ciertas funciones o algoritmos, y otra persona pueda comprender el funcionamiento de nuestro script. &lt;/p&gt; &lt;div class="editsection" style="float: right; margin-left: 5px;"&gt;&lt;a href="http://wiki.xtech.com.ar/index.php?title=Programaci%C3%B3n_de_scripts_en_Bash&amp;amp;action=edit&amp;amp;section=2" title="Edit section: Variables"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;a name="Variables"&gt;&lt;/a&gt;&lt;h2&gt; Variables &lt;/h2&gt; &lt;p&gt;Las variables en un script BASH son simplemente identificadores, sin tipo. Para asignar un valor a una variable, se utiliza el operador =, por ejemplo: &lt;/p&gt; &lt;pre&gt;[jose@xtech experto]$ MIVARIABLE=4&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Por convención, los nombres de las variables se usan en mayúsculas, aunque no es obligatorio.  &lt;/p&gt;&lt;p&gt;Para usar el contenido de la variable, dentro de un script, se usa el operador $. Por ejemplo: &lt;/p&gt; &lt;pre&gt;[jose@xtech experto]$ echo $MIVARIABLE&lt;br /&gt;4&lt;br /&gt;[jose@xtech experto]$&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Para utilizar el contenido de una variable, seguida de un texto, debemos usar las llaves {} &lt;/p&gt;&lt;p&gt;Consideremos este ejemplo: &lt;/p&gt; &lt;pre&gt; ARCHIVO="/tmp/ej"&lt;br /&gt;mv $ARCHIVO $ARCHIVO-bak&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;En este caso, bash interpretaría a $ARCHIVO y $ARCHIVO-bak como dos variables distintas, para evitar esto debemos reescribirlo de esta manera: &lt;/p&gt; &lt;pre&gt; ARCHIVO="/tmp/ej"&lt;br /&gt;mv $ARCHIVO ${ARCHIVO}-bak&lt;br /&gt;&lt;/pre&gt; &lt;a name="Comillas"&gt;&lt;/a&gt;&lt;h2&gt; Comillas &lt;/h2&gt; &lt;p&gt;En el shell, el espacio, o el tab, son separadores. Es decir, que cuando al shell le indicamos &lt;/p&gt; &lt;pre&gt;ls -l hola que tal&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Lo interpreta como que le pedimos que nos de información sobre tres archivos, llamados: hola, que, y tal. &lt;/p&gt;&lt;p&gt;Si en realidad, lo que queríamos, era información sobre un archivo llamado "hola que tal", entonces hay varias maneras de indicarle al shell que los espacios entre esas palabras no deben ser separadores. &lt;/p&gt; &lt;a name="Escape_.28_.5C_.29"&gt;&lt;/a&gt;&lt;h3&gt; Escape ( \ ) &lt;/h3&gt; &lt;p&gt;Hay un caracter de escape, que indica al shell que el siguiente carácter no es especial. Y es la barra invertida. Por lo tanto, podríamos obtener la información del archivo "hola que tal" de la siguiente forma: &lt;/p&gt; &lt;pre&gt;ls -l hola\ que\ tal&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Los espacios no son especiales, no son separadores, y "hola que tal" es una sola palabra.  &lt;/p&gt;&lt;p&gt;Algunos caracteres especiales más:  &lt;/p&gt; &lt;pre&gt;&lt;sup&gt;\ @ ! | &lt; &gt; [ ] { } ( ) ? * $ ' ^ ` " # &amp;amp; ;&lt;/sup&gt;&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Por lo tanto, si queremos incluir la \ en alguna parte, entonces debemos ponerla 2 veces (\\), la primera para decirle a BASH que no tome como carácter especial lo que sigue y la segunda como ese carácter que queremos incluír. Esto es muy común en casos como: &lt;/p&gt; &lt;pre&gt;cd algún\ directorio\ con\ espacios&lt;br /&gt;&lt;/pre&gt; &lt;a name="Comillas_dobles_.28_.22_.22_.29"&gt;&lt;/a&gt;&lt;h3&gt; Comillas dobles ( " " ) &lt;/h3&gt; &lt;p&gt;Las comillas dobles hacen que los espacios entre las comillas no sean especiales. Por lo tanto, podríamos haber utilizado: &lt;/p&gt; &lt;pre&gt;ls -l "hola que tal"&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Todos los otros carácteres siguen siendo especiales. &lt;/p&gt; &lt;a name="Comillas_simples_.28_.27_.27_.29"&gt;&lt;/a&gt;&lt;h3&gt; Comillas simples ( ' ' ) &lt;/h3&gt; &lt;p&gt;Las comillas simples logran que ningún caracter (salvo la comilla simple misma) sea especial. Por ejemplo, si quisieramos crear un archivo que se llame *@$&amp;amp;, lo debemos hacer rodeándolo de comillas simples: &lt;/p&gt; &lt;pre&gt;touch '*@$&amp;amp;'&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Si queremos poner una comilla simple, debemos "escaparla". Para crear un archivo llamado que'tal, deberíamos hacerlo así: &lt;/p&gt; &lt;pre&gt;touch 'que\'tal'&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Ya que si no lo hacemos, la segunda comilla "cierra" la primera! &lt;/p&gt; &lt;a name="Comilla_invertida_.28_.60_.60_.29"&gt;&lt;/a&gt;&lt;h3&gt; Comilla invertida ( ` ` ) &lt;/h3&gt; &lt;p&gt;Las comillas invertidas son más raras. Deben rodear un comando. Ese comando será ejecutado, y lo que ese comando imprima reemplazará al contenido de las comillas invertidas. Tal vez lo más sencillo sea un ejemplo: &lt;/p&gt; &lt;pre&gt;[jose@xtech experto]$ ls&lt;br /&gt;experto.aux  experto.log    experto.lyx   experto.pdf  experto.tex&lt;br /&gt;experto.dvi  #experto.lyx#  experto.lyx~  experto.ps   experto.toc&lt;br /&gt;&lt;br /&gt;[jose@xtech experto]$ V=`ls`&lt;br /&gt;[jose@xtech experto]$ echo $V&lt;br /&gt;experto.aux  experto.log    experto.lyx   experto.pdf  experto.tex&lt;br /&gt;experto.dvi  #experto.lyx#  experto.lyx~  experto.ps   experto.toc&lt;br /&gt;[jose@xtech experto]$&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;El uso más frecuente de las comillas invertidas es poder asignar el "resultado" de un comando a una variable. &lt;/p&gt; &lt;a name="Control_de_flujo"&gt;&lt;/a&gt;&lt;h2&gt; Control de flujo &lt;/h2&gt; &lt;p&gt;Esto refiere al cauce o flujo normal de los programas. No siempre hay un solo camino a seguir y estas proposiciones permiten que el programa realice distintas tareas, según las condiciones de las variables a interpretar. &lt;/p&gt; &lt;a name=".22if.22"&gt;&lt;/a&gt;&lt;h3&gt; "if" &lt;/h3&gt; &lt;p&gt;El"if" es un proposición de control que verifica si es verdadera o falsa una condición. &lt;/p&gt;&lt;p&gt;Sintaxis: &lt;/p&gt; &lt;pre&gt;if comando-condición&lt;br /&gt;then&lt;br /&gt;Comandos si la condición es verdadera&lt;br /&gt;else&lt;br /&gt;Comandos si la condición es falsa&lt;br /&gt;fi&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Es importante que la ubicación de las lineas se mantenga, ya que las proposiciones if/then/else/fi se controlan línea por línea. La parte else es opcional. En caso de querer hacer todo el control en una sola línea, las proposiciones deberán estar separadas por un punto y coma (;). &lt;/p&gt;&lt;p&gt;Los comandos que estén debajo del then se ejecutarán si la condición dio verdadera. Esto quiere decir que el valor de retorno de la condición fue 0 (cero). En caso contrario se ejecutarán los comandos que le siguen al else, si es que se utilizó esta proposición. &lt;/p&gt;&lt;p&gt;En la condición se puede poner un comando, donde la ejecución del mismo (su valor de retorno) definirá qué comandos (de qué proposición) se ejecutarán. &lt;/p&gt;&lt;p&gt;Si se verifica una condición, se deberán utilizar los corchetes para mayor comprensión. &lt;/p&gt;&lt;p&gt;Ejemplos: &lt;/p&gt;&lt;p&gt;(utilizando comandos) &lt;i&gt;El hecho de entregar algo como salida se toma como condición lógica verdadera.&lt;/i&gt; &lt;/p&gt; &lt;pre&gt;if ps ax | grep httpd | grep -v grep&lt;br /&gt;then&lt;br /&gt;echo "El web server está funcionando"&lt;br /&gt;else&lt;br /&gt;echo "El web server NO esta funcionando"&lt;br /&gt;fi&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;(utilizando condiciones) &lt;/p&gt; &lt;pre&gt;if [ -w /etc/passwd ]&lt;br /&gt;then&lt;br /&gt;echo "Tengo permisos de escritura en el archivo /etc/passwd"&lt;br /&gt;else&lt;br /&gt;echo "NO tengo permisos de escritura en el archivo /etc/passwd"&lt;br /&gt;fi&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Puede suceder que tengamos que testear mas de una condicion, para esto, podemos utilizar la siguiente estructura: &lt;/p&gt; &lt;pre&gt;if condición1&lt;br /&gt;then&lt;br /&gt;Comando1&lt;br /&gt;Comando2&lt;br /&gt;elif condición2&lt;br /&gt;then&lt;br /&gt;Comando1&lt;br /&gt;Comando2&lt;br /&gt;else&lt;br /&gt;Comando-por-defecto  #Ninguna de las condiciones anteriores es verdadera&lt;br /&gt;fi&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Esta es una manera de abreviar varias estructuras if - then - else - if en una sola, pudiendo utilizarse más de dos condiciones. &lt;/p&gt;&lt;p&gt;La estructura de control if, es muy utilizada con &lt;a href="http://wiki.xtech.com.ar/index.php/Programaci%C3%B3n_de_scripts_en_Bash#test" title=""&gt;&lt;code&gt;test&lt;/code&gt;&lt;/a&gt;, que no es más que una operación de comparación, en las condiciones que se requieran. &lt;/p&gt; &lt;a name=".22case.22"&gt;&lt;/a&gt;&lt;h3&gt; "case" &lt;/h3&gt; &lt;p&gt;El "case" es una proposición que puede analizar y validar varios casos (opciones) del valor de una variable. &lt;/p&gt;&lt;p&gt;Sintaxis &lt;/p&gt; &lt;pre&gt;case variable in&lt;br /&gt;patrón | patrón)&lt;br /&gt;Comando;&lt;br /&gt;Comando;&lt;br /&gt;Comando;;&lt;br /&gt;&lt;br /&gt;patrón | patrón)&lt;br /&gt;Comando;&lt;br /&gt;Comando;&lt;br /&gt;Comando;;&lt;br /&gt;*)&lt;br /&gt;Comandos si ningún otro valor fue igualado;;&lt;br /&gt;esac&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;El case es raramente usado, pero es muy eficiente en algunos casos. &lt;/p&gt;&lt;p&gt;Ejemplos: &lt;/p&gt; &lt;pre&gt;case $mes in&lt;br /&gt;ene*|Ene*)&lt;br /&gt;echo "Mes de Enero";;&lt;br /&gt;feb*|Feb*)&lt;br /&gt;echo "Mes de Febrero";;&lt;br /&gt;mar*|Mar*)&lt;br /&gt;echo "Mes de Marzo";;&lt;br /&gt;*)&lt;br /&gt;echo "Algún otro mes!";;&lt;br /&gt;esac&lt;br /&gt;&lt;/pre&gt; &lt;a name="Ciclos"&gt;&lt;/a&gt;&lt;h2&gt; Ciclos &lt;/h2&gt; &lt;p&gt;Los ciclos contienen secciones del programa que se repetirán una determinada cantidad de veces o hasta que alguna condición cambie. &lt;/p&gt; &lt;a name="for"&gt;&lt;/a&gt;&lt;h3&gt; for &lt;/h3&gt; &lt;p&gt;El for debe ser el ciclo más utilizado, es muy práctico cuando se trabaja con shell scripts. &lt;/p&gt;&lt;p&gt;A diferencia de los lenguajes de programación más comunes, un ciclo for dentro de un shell script realiza una acción dada sobre cada uno de los elementos de una lista, y no sobre una variable que se va incrementando en cada ciclo. &lt;/p&gt;&lt;p&gt;La variable utilizada en el for (en este caso $i) es reemplazada por cada una de las palabras de la lista, en cada ciclo del for. &lt;/p&gt;&lt;p&gt;Sintaxis: &lt;/p&gt; &lt;pre&gt;for i in lista de palabras&lt;br /&gt;do&lt;br /&gt;cuerpo del ciclo, $i tiene el valor de elementos sucesivos de la lista&lt;br /&gt;done&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Ejemplos: &lt;/p&gt; &lt;pre&gt;for i in `ls -1 /tmp`&lt;br /&gt;do&lt;br /&gt;echo $i&lt;br /&gt;rm -i $i&lt;br /&gt;done&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;En este ciclo, el comando ls -1 /tmp, generará una lista de todos los archivos que existen en el directorio /tmp. Dentro del cuerpo del ciclo imprimimos el contenido de la variable y luego preguntamos si se desea borrar ese archivo (opción -i del comando rm). &lt;/p&gt; &lt;a name="while"&gt;&lt;/a&gt;&lt;h3&gt; while &lt;/h3&gt; &lt;p&gt;Este ciclo utiliza la condición de terminación de un comando (valor de retorno) para controlar la ejecución de los comando dentro del ciclo. Termina la ejecución del ciclo, cuando el comando devuelve falso (algo diferente a 0). &lt;/p&gt;&lt;p&gt;Sintaxis: &lt;/p&gt; &lt;pre&gt;while comando&lt;br /&gt;do&lt;br /&gt;cuerpo del ciclo ejecutado a condición de&lt;br /&gt;que el comando devuelva verdadero&lt;br /&gt;done&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Ejemplos: &lt;/p&gt; &lt;pre&gt;while sleep 60&lt;br /&gt;do&lt;br /&gt;who | grep daniel&lt;br /&gt;done&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;En este ejemplo, cada 60 segundos (definidos por el comando sleep 60), verificará si el usuario daniel ha ingresado al equipo. En caso de que lo haya hecho, el listado del who saldrá por pantalla (cada 60 segundos). &lt;/p&gt; &lt;a name="until"&gt;&lt;/a&gt;&lt;h3&gt; until &lt;/h3&gt; &lt;p&gt;Este ciclo se comporta de una manera muy similar al anterior, ya que define su control dependiendo del comando que ejecuta (si éste da verdadero, se sigue ejecutando el ciclo). &lt;/p&gt;&lt;p&gt;Sintaxis: &lt;/p&gt; &lt;pre&gt;until comando&lt;br /&gt;do&lt;br /&gt;cuerpo del ciclo ejecutado a condición&lt;br /&gt;de que el comando devuelva falso.&lt;br /&gt;done&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Ejemplo: &lt;/p&gt; &lt;pre&gt;until who | grep daniel&lt;br /&gt;do&lt;br /&gt;sleep 60&lt;br /&gt;done&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;En este ejemplo, a diferencia del ejemplo del ciclo while, el ciclo ejecuta primero el comando, de esta forma no es necesario esperar 60 segundos para saber si el usuario daniel esta logueado en el equipo (si el usuario esta logueado, el ciclo termina). &lt;/p&gt; &lt;a name="Argumentos"&gt;&lt;/a&gt;&lt;h2&gt; Argumentos &lt;/h2&gt; &lt;p&gt;Los argumentos sirven para pasarle a un programa o una  función valores desde la línea de comando.  &lt;/p&gt; &lt;table align="center" border="1"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;th width="50"&gt;Variable &lt;/th&gt;&lt;th width="320"&gt;Descripción &lt;/th&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;$# &lt;/td&gt;&lt;td&gt;Número de argumentos &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;$* &lt;/td&gt;&lt;td&gt;Todos los argumentos del shell &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;$- &lt;/td&gt;&lt;td&gt;Opciones suministradas al shell &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;$? &lt;/td&gt;&lt;td&gt;Valor de retorno del último comando ejecutado &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;$$ &lt;/td&gt;&lt;td&gt;Identificación del PID (número de proceso) &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;$0 &lt;/td&gt;&lt;td&gt;Nombre del script &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;$1 &lt;/td&gt;&lt;td&gt;Primer argumento &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;$n &lt;/td&gt;&lt;td&gt;Argumento "n" &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;Ejemplo: &lt;/p&gt; &lt;pre&gt;#!/bin/sh&lt;br /&gt;#&lt;br /&gt;# Programa que recibe argumentos y los imprime por pantalla&lt;br /&gt;#&lt;br /&gt;echo "\$*: $*"&lt;br /&gt;echo "\$#: $#"&lt;br /&gt;echo "\$0: $0"&lt;br /&gt;echo "\$1: $1"&lt;br /&gt;echo "\$2: $2"&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Notas sobre el ejemplo: &lt;/p&gt;&lt;p&gt;En la líneas de impresión (echo), para imprimir el símbolo "$" (pesos) se tiene que anteponer el símbolo "\" (contra barra), sino el shell lo va a interpretar como una variable, y si esta existe imprimirá su contenido. &lt;/p&gt; &lt;a name="Funciones"&gt;&lt;/a&gt;&lt;h2&gt; Funciones &lt;/h2&gt; &lt;p&gt;Las funciones son un recurso esencial para la buena programación, permiten escribir una sola vez un pedazo de código que se repita varias veces en el script, y así, minimizar el margen de error y también la cantidad de líneas en el programa. &lt;/p&gt;&lt;p&gt;Para utilizarlas simplemente se hace un llamado a la función. Las funciones pueden estar dentro del mismo shell script, o en un archivo aparte. Cuando se escriben las funciones en un archivo aparte, es muy importante utilizar el comando "." (punto) para cargarlas en memoria. Si no se cargan en memoria de esta manera, las funciones no estarán disponibles. &lt;/p&gt;&lt;p&gt;Ejemplo: &lt;/p&gt; &lt;pre&gt;#&lt;br /&gt;# Cargando las funciones en memoria&lt;br /&gt;#&lt;br /&gt;. /home/jose/funciones/funciones-arch.sh&lt;br /&gt;&lt;/pre&gt; &lt;a name="Uso"&gt;&lt;/a&gt;&lt;h3&gt; Uso &lt;/h3&gt; &lt;p&gt;La sintaxis para utilizar funciones es muy sencilla y no agrega mayor dificultad. El modo de uso se remite a definir la función especificando el nombre y parentesis que abren y cierran. Todos los comandos que involucran la función se encierran con llaves. &lt;/p&gt;&lt;p&gt;Ejemplo: &lt;/p&gt;&lt;p&gt;(archivo: lib/arch.sh) &lt;/p&gt; &lt;pre&gt;#&lt;br /&gt;# Funciones para manipulación de archivos&lt;br /&gt;#&lt;br /&gt;borrar ()&lt;br /&gt;{&lt;br /&gt;arch=$1&lt;br /&gt;if [ -z "$arch" ]&lt;br /&gt;then&lt;br /&gt;echo "No se recibió ningún archivo"&lt;br /&gt;return 2&lt;br /&gt;else&lt;br /&gt;if [ -f "$arch" ]&lt;br /&gt;then&lt;br /&gt;  if [ -w "$arch" ]&lt;br /&gt;  then&lt;br /&gt;    rm -i $arch&lt;br /&gt;  else&lt;br /&gt;    echo "No tengo permisos para borrar $arch"&lt;br /&gt;  fi&lt;br /&gt;else&lt;br /&gt;  echo "$arch no es un archivo"&lt;br /&gt;fi&lt;br /&gt;fi&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;(archivo: principal.sh) &lt;/p&gt; &lt;pre&gt;#!/bin/bash&lt;br /&gt;#&lt;br /&gt;# Programa ejemplo para el uso de funciones en shell script&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# Cargo las funciones en memoria&lt;br /&gt;#&lt;br /&gt;. lib/arch.sh&lt;br /&gt;dir=./&lt;br /&gt;for i in $dir/*&lt;br /&gt;do&lt;br /&gt;borrar $i&lt;br /&gt;done&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Notas sobre el ejemplo: &lt;/p&gt;&lt;p&gt;(archivo: lib/arch.sh) &lt;/p&gt;&lt;p&gt;Esta función toma el archivo a borrar como argumento (arch=$1), verifica que se le haya pasado un argumento realmente (if [ -z "$arch" ]), que un archivo pasado como argumento sea regular (if [ -f "$arch" ]) y que tenga permisos de escritura. En todos los casos de falsedad responde con un mensaje avisando el problema. &lt;/p&gt;&lt;p&gt;(archivo: principal.sh) &lt;/p&gt;&lt;p&gt;El programa hace un ciclo con los archivos de un directorio específico (for i in $dir/*) y se los pasa como argumento a la función borrar. &lt;/p&gt; &lt;a name="Valores_de_retorno"&gt;&lt;/a&gt;&lt;h3&gt; Valores de retorno &lt;/h3&gt; &lt;p&gt;Las funciones pueden devolver valores de error utilizando el comando "return &lt;valor&gt;". En caso de que no se especifique un valor de retorno de esta forma, el valor retornado será el que retorne el último comando ejecutado dentro de la función. Desafortunadamente no es posible asignar el valor retornado en una sola línea, siempre es necesario utilizar la variable especial "$?". &lt;/valor&gt;&lt;/p&gt;&lt;p&gt;Ejemplo: &lt;/p&gt; &lt;pre&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;func () {&lt;br /&gt;return $1&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;func 0&lt;br /&gt;echo "ret: ($?)"&lt;br /&gt;func 1&lt;br /&gt;echo "ret: ($?)"&lt;br /&gt;func 2&lt;br /&gt;echo "ret: ($?)"&lt;br /&gt;func 3&lt;br /&gt;echo "ret: ($?)"&lt;br /&gt;&lt;/pre&gt; &lt;a name="Variables_locales_a_la_funci.C3.B3n"&gt;&lt;/a&gt;&lt;h3&gt; Variables locales a la función &lt;/h3&gt; &lt;p&gt;Existe la posibilidad de utilizar variables locales a la función, esto significa que la variable solamente va a existir durante la ejecución de la función. &lt;/p&gt;&lt;p&gt;Para crear una variable local a la función se utilizar el operador "local &lt;nombre_de_variable&gt;". &lt;/nombre_de_variable&gt;&lt;/p&gt;&lt;p&gt;Ejemplo: &lt;/p&gt; &lt;pre&gt;func () {&lt;br /&gt;local x&lt;br /&gt;x=$1&lt;br /&gt;echo "Dentro de la función \$x vale ($x)"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;echo "Antes de ejecutar la función \$x vale ($x)"&lt;br /&gt;func HOLA!!&lt;br /&gt;echo "Después de ejecutar la función \$x vale ($x)"&lt;br /&gt;&lt;/pre&gt; &lt;a name="Operaciones_Aritm.C3.A9ticas"&gt;&lt;/a&gt;&lt;h2&gt; Operaciones Aritméticas &lt;/h2&gt; &lt;p&gt;Existen varias formas de calcular valores dentro de un shell script. Tradicionalmente, estos cálculos se hicieron con programas externos, esto generaba un retardo inmenso en la ejecución del shell script. &lt;/p&gt;&lt;p&gt;Hoy los nuevos intérpretes traen la posibilidad de hacer cálculos internamente. Para esto se utiliza una sintaxis especial, y es muy importante que los valores de las variables que utilicen para hacer estos cálculos sean números únicamente. &lt;/p&gt; &lt;a name="Uso_2"&gt;&lt;/a&gt;&lt;h3&gt; Uso &lt;/h3&gt; &lt;p&gt;La sintaxis para hacer operaciones aritméticas es la siguiente: &lt;/p&gt; &lt;pre&gt;$[&lt;expresión&gt;]&lt;br /&gt;&lt;/expresión&gt;&lt;/pre&gt; &lt;p&gt;Las operaciones que se pueden realizar son: &lt;/p&gt; &lt;ul&gt;&lt;li&gt; suma $((1+1)) &lt;/li&gt;&lt;li&gt; resta $((2-1)) &lt;/li&gt;&lt;li&gt; multiplicación $((2*2)) &lt;/li&gt;&lt;li&gt; división $((2/2]) &lt;/li&gt;&lt;li&gt; otras como suma de bits, sacar el módulo, evaluación de igualdad, etc. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Ejemplo: &lt;/p&gt; &lt;pre&gt;#!/bin/sh&lt;br /&gt;#&lt;br /&gt;# Operaciones aritméticas&lt;br /&gt;#&lt;br /&gt;x=2&lt;br /&gt;tot=$[$x+1]&lt;br /&gt;echo "tot: ($tot)"&lt;br /&gt;&lt;/pre&gt; &lt;a name="bc"&gt;&lt;/a&gt;&lt;h3&gt; &lt;code&gt;bc&lt;/code&gt; &lt;/h3&gt; &lt;p&gt;A veces hay conjuntos de herramientas que nos suenan y no las aprovechamos al máximo. Quizás una de esas sea &lt;code&gt;bc&lt;/code&gt;. La calculadora que podemos usar desde la consola, que aparte de sumar y restar puede realizar cálculos con una precisión de varios decimales, cambiar de base numérica o programarla, etc. veremos como... &lt;/p&gt;&lt;p&gt;Si ejecutamos bc veremos: &lt;/p&gt; &lt;pre&gt;$ bc&lt;br /&gt;bc 1.06&lt;br /&gt;Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.&lt;br /&gt;This is free software with ABSOLUTELY NO WARRANTY.&lt;br /&gt;For details type `warranty'.&lt;/pre&gt; &lt;p&gt;Acá espera que trabajemos desde la entrada estándar, por ejemplo: &lt;/p&gt; &lt;pre&gt;4+8&lt;br /&gt;12&lt;br /&gt;scale=3&lt;br /&gt;27/68&lt;br /&gt;.397&lt;br /&gt;halt&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Sabe sumar (y restar, dividir, multiplicar; sin problemas). &lt;/p&gt; &lt;a name="Variables_2"&gt;&lt;/a&gt;&lt;h4&gt; Variables &lt;/h4&gt; &lt;p&gt;Si queremos que trabaje con decimales, asignaremos un valor a la variable &lt;code&gt;scale&lt;/code&gt;. &lt;/p&gt; &lt;pre&gt;scale=3&lt;br /&gt;2/3&lt;br /&gt;.666&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;También podemos hacer: &lt;/p&gt; &lt;pre&gt;scale=9;2/3&lt;br /&gt;.666666666&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Al ser &lt;code&gt;scale&lt;/code&gt; una variable más, podemos consultar su valor sencillamente escribiéndola: &lt;/p&gt; &lt;pre&gt;scale&lt;br /&gt;3&lt;br /&gt;#o también usando print&lt;br /&gt;print scale&lt;br /&gt;3&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Otro ejemplo de usos de variables podría ser: &lt;/p&gt; &lt;pre&gt;scale=5&lt;br /&gt;variable=3&lt;br /&gt;100/variable&lt;br /&gt;33.33333&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Hay una variable especial llamada &lt;code&gt;last&lt;/code&gt;, almacena el resultado de la última operación: &lt;/p&gt; &lt;pre&gt;100/3&lt;br /&gt;33.33333&lt;br /&gt;last*2&lt;br /&gt;66.66666&lt;br /&gt;&lt;/pre&gt; &lt;a name="Cambios_en_la_base_num.C3.A9rica"&gt;&lt;/a&gt;&lt;h4&gt; Cambios en la base numérica &lt;/h4&gt; &lt;p&gt;Hay dos variables especiales que son &lt;code&gt;ibase&lt;/code&gt; y &lt;code&gt;obase&lt;/code&gt; que definen la base de entrada y de salida de los números, respectivamente. &lt;/p&gt;&lt;p&gt;Si queremos calcular el número 5 en base 10 (decimal) a base 2 (binario), haremos: &lt;/p&gt; &lt;pre&gt;obase=2&lt;br /&gt;5&lt;br /&gt;101&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Si queremos pasar de binario a hexadecimal: &lt;/p&gt; &lt;pre&gt;obase=16&lt;br /&gt;ibase=2&lt;br /&gt;11111111&lt;br /&gt;FF&lt;br /&gt;&lt;/pre&gt; &lt;a name="Otras_operaciones_matem.C3.A1ticas"&gt;&lt;/a&gt;&lt;h4&gt; Otras operaciones matemáticas &lt;/h4&gt; &lt;p&gt;Podemos usar también &lt;code&gt;sqrt&lt;/code&gt;, &lt;code&gt;2^3&lt;/code&gt;, etc. &lt;/p&gt;&lt;p&gt;Si queremos tener operaciones matemáticas más complejas tenemos que ejecutar el &lt;code&gt;bc -l&lt;/code&gt; para cargar la librería matemática: &lt;/p&gt; &lt;pre&gt;s (x)   Seno de x, en radianes&lt;br /&gt;c (x)   Coseno de x&lt;br /&gt;a (x)   Arcotangente de x&lt;br /&gt;l (x)   Logaritmo neperiano de x&lt;br /&gt;e (x)   Exponencial de x&lt;br /&gt;j (n,x) Función de Bessel de un entero de orden n de x&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;&lt;code&gt;Aplicación en un script&lt;/code&gt; &lt;/p&gt;&lt;p&gt;Si queremos pedir que el usuario teclee algo por teclado, la función es &lt;code&gt;read&lt;/code&gt;. Por tanto. &lt;/p&gt; &lt;pre&gt;variable=read()&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Esperará que tecleemos algo y lo pondrá en &lt;code&gt;variable&lt;/code&gt;. &lt;/p&gt;&lt;p&gt;También podemos hacer un programa en un archivo y ejecutarlo: &lt;/p&gt; &lt;pre&gt;print "Hola\n"&lt;br /&gt;print "Escribe tu año de nacimiento\n"&lt;br /&gt;nacimiento=read()&lt;br /&gt;edad=2003-nacimiento&lt;br /&gt;print edad&lt;br /&gt;print " años\n"&lt;br /&gt;halt&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Y lo ejecutamos con &lt;code&gt;bc -q archivo.bc&lt;/code&gt;  (el &lt;code&gt;-q&lt;/code&gt; es para que no muestre el Copyright) estaremos preguntando el año nacimiento y mostrando la edad. &lt;/p&gt;&lt;p&gt;Ahora un ejemplo definiendo una función, pasándole un parámetro y retornándolo. Veremos que es totalmente intuitivo: &lt;/p&gt; &lt;pre&gt;define mayor_edad(edad) {&lt;br /&gt;    if (edad &lt;&gt;= 18)&lt;br /&gt;            return 1&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;print "Dí tus edad\n"&lt;br /&gt;edad=read()&lt;br /&gt;&lt;br /&gt;if (mayor_edad(edad))&lt;br /&gt;    print "Eres mayor de edad\n"&lt;br /&gt;&lt;br /&gt;if (!mayor_edad(edad))&lt;br /&gt;    print "Eres menor de edad\n"&lt;br /&gt;&lt;br /&gt;halt&lt;/pre&gt; &lt;p&gt;Un último ejemplo, con un &lt;code&gt;for&lt;/code&gt;: &lt;/p&gt; &lt;pre&gt;for (i=0;i&lt;10;i++)&gt; &lt;p&gt;Observemos en la &lt;code&gt;,&lt;/code&gt; para separar la variable y la cadena en el print. &lt;/p&gt;&lt;p&gt;Para salir &lt;/p&gt; &lt;pre&gt;halt&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Otra forma muy útil en los scripts es: &lt;/p&gt; &lt;pre&gt;resultado=$(echo "scale=3;2/3" | bc)&lt;br /&gt;&lt;/pre&gt; &lt;a name="Operaciones_l.C3.B3gicas_y_de_comparaci.C3.B3n"&gt;&lt;/a&gt;&lt;h2&gt; Operaciones lógicas y de comparación &lt;/h2&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;a name="test"&gt;&lt;/a&gt;&lt;h3&gt; test &lt;/h3&gt; &lt;p&gt;Para usar if podemos usar un nuevo elemento, los corchetes que evalúan las condiciones, esto esta basado directamente en test. Y éste nos sirve para comparar variables. &lt;/p&gt;&lt;p&gt;Por ejemplo: &lt;/p&gt; &lt;dl&gt;&lt;dd&gt;-lt Menor que &lt;/dd&gt;&lt;dd&gt;-eq Igual que &lt;/dd&gt;&lt;dd&gt;-gt Mayor que &lt;/dd&gt;&lt;dd&gt;-le Menor o igual que &lt;/dd&gt;&lt;dd&gt;-ge Mayor o igual que &lt;/dd&gt;&lt;dd&gt;-ne No coinciden  &lt;/dd&gt;&lt;dd&gt;-a Operador lógico and &lt;/dd&gt;&lt;dd&gt;-o Operador lógico or &lt;/dd&gt;&lt;dd&gt;!= Distinto &lt;/dd&gt;&lt;/dl&gt; &lt;p&gt;Sintáxis: &lt;/p&gt; &lt;pre&gt;exp1 operador exp2&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Uso de test: &lt;/p&gt; &lt;pre&gt;test 8 -lt 9&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Usando variables en test: &lt;/p&gt; &lt;pre&gt;variable1=5&lt;br /&gt;variable2=3&lt;br /&gt;test $variable1 -gt $variable2&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Otra forma muy útil de uso de test (si 3 es menor que 5): &lt;/p&gt; &lt;pre&gt;[ 3 -lt 5 ]&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;O (si $HACER es distinto de 1): &lt;/p&gt; &lt;pre&gt;[ $HACER != 1 ]&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Ejemplo: &lt;/p&gt; &lt;pre&gt;#!/bin/bash&lt;br /&gt;variable1=5&lt;br /&gt;variable2=3&lt;br /&gt;[ $variable1 -lt $variable2 ]&lt;br /&gt;echo $?&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Aqui hemos evaluado dos variables para ver si la variable1 era menor que la variable2 y para ver el resultado hemos acudido a la “variable de retorno”, que nos mostrara 0 o 1. &lt;/p&gt;&lt;p&gt;Cuando necesitamos utilizar la negación, debemos usar el signo ! &lt;/p&gt;&lt;p&gt;Ejemplo: &lt;/p&gt; &lt;pre&gt; if [ ! -x $FILE ]&lt;br /&gt;then&lt;br /&gt;chmod +x $FILE&lt;br /&gt;else&lt;br /&gt;echo "$FILE es ejecutable"&lt;br /&gt;fi&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Si el archivo no es ejecutable, le damos permiso de ejecución, sino, imprimimos el mensaje por pantalla &lt;/p&gt; &lt;a name="Interacci.C3.B3n_con_el_usuario"&gt;&lt;/a&gt;&lt;h2&gt; Interacción con el usuario &lt;/h2&gt; &lt;p&gt;Muchos programas no serían factibles si no tuviéramos algún mecanismo para interactuar con el usuario, ya sea un simple "Presione Enter para continuar" o algo más sofisticado, como una lista de opciones de las cuales escoger. &lt;/p&gt;&lt;p&gt;Cuando el programa está escrito en shell, es muy sencillo lograr ambas cosas, utilizando dos  herramientas: read y dialog. &lt;/p&gt; &lt;a name="read"&gt;&lt;/a&gt;&lt;h3&gt; read &lt;/h3&gt; &lt;p&gt;El comando read es muy sencillo. Le indicamos que pida el valor de una variable al usuario, el usuario escribe una línea de texto (es decir, cualquier cosa hasta que presione enter), y la variable toma el valor que el usuario ingresó. &lt;/p&gt;&lt;p&gt;Ejemplo: &lt;/p&gt; &lt;pre&gt;[jose@xtech experto]$ read V&lt;br /&gt;Hola mundo!&lt;br /&gt;[jose@xtech experto]$ echo $V&lt;br /&gt;Hola mundo!&lt;br /&gt;[jose@xtech experto]$&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Si deseamos sólo un "Presione enter para continuar" es exactamente lo mismo, simplemente ignoramos el valor de la variable :-) &lt;/p&gt; &lt;a name="dialog"&gt;&lt;/a&gt;&lt;h3&gt; dialog &lt;/h3&gt; &lt;p&gt;Dialog es un programa que crea una "interfaz" para que el usuario interactúe, y entrega por la salida estándar el resultado de la acción del usuario, variable &lt;b&gt;$?&lt;/b&gt;. &lt;/p&gt;&lt;p&gt;Puede producir preguntas si/no, menú, lista, calendario, barra de progreso, diálogo de contraseña, cuadro de texto, cuadro de mensaje, etc. Recomendamos leer la documentación del manual (man dialog) o ejecutar &lt;/p&gt; &lt;pre&gt;dialog --help&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Aparte del programa "dialog", que produce una salida por consola, puede ser que tenga en su sistema un programa "gdialog", Xdialog o "dldialog" (dependiendo del Linux que utilice), que son lo mismo, solo que abren una ventana gráfica, por X11, para el diálogo. &lt;/p&gt;&lt;p&gt;Sintaxis: &lt;/p&gt; &lt;pre&gt;dialog &lt;opciones&gt; { --opciones específicas }&lt;br /&gt;&lt;/opciones&gt;&lt;/pre&gt; &lt;p&gt;Ejemplo 1 (Diálogo "yesno"): &lt;/p&gt; &lt;pre&gt;[jose@xtech experto]$ dialog --yesno "Desea salir?" 6 30&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Produce esto: &lt;/p&gt; &lt;div class="center"&gt;&lt;div class="floatnone"&gt;&lt;span&gt;&lt;a href="http://wiki.xtech.com.ar/index.php/Imagen:Dialog1.png" class="image" title=""&gt;&lt;img src="http://wiki.xtech.com.ar/images/8/86/Dialog1.png" alt="" longdesc="/index.php/Imagen:Dialog1.png" height="300" width="450" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;Los argumentos 6 y 30 corresponden a la altura y ancho, respectivamente, del cuadro. En su versión X11, sería: &lt;/p&gt; &lt;pre&gt;[jose@xtech experto]$ gdialog --yesno "Desea salir?"&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Y se vería así: &lt;/p&gt; &lt;div class="center"&gt;&lt;div class="floatnone"&gt;&lt;span&gt;&lt;a href="http://wiki.xtech.com.ar/index.php/Imagen:Gdialog1.png" class="image" title=""&gt;&lt;img src="http://wiki.xtech.com.ar/images/4/4c/Gdialog1.png" alt="" longdesc="/index.php/Imagen:Gdialog1.png" height="157" width="236" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;Ejemplo 2 (Diálogo "inputbox"): &lt;/p&gt; &lt;pre&gt;[jose@xtech experto]$ dialog --inputbox "Ingrese su nombre" 9 30 Juan&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Note que agregamos el argumento "Juan", que será el valor predeterminado para este inputbox: &lt;/p&gt; &lt;div class="center"&gt;&lt;div class="floatnone"&gt;&lt;span&gt;&lt;a href="http://wiki.xtech.com.ar/index.php/Imagen:Dialog2.png" class="image" title=""&gt;&lt;img src="http://wiki.xtech.com.ar/images/6/62/Dialog2.png" alt="" longdesc="/index.php/Imagen:Dialog2.png" height="300" width="450" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;O también: &lt;/p&gt; &lt;pre&gt;[jose@xtech experto]$ gdialog --inputbox "Ingrese su nombre"&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Produce esto: &lt;/p&gt; &lt;div class="center"&gt;&lt;div class="floatnone"&gt;&lt;span&gt;&lt;a href="http://wiki.xtech.com.ar/index.php/Imagen:Gdialog2.png" class="image" title=""&gt;&lt;img src="http://wiki.xtech.com.ar/images/4/40/Gdialog2.png" alt="" longdesc="/index.php/Imagen:Gdialog2.png" height="134" width="236" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;El caso del "inputbox" suele tener aparejado la necesidad de asignar ese valor ingresado a una variable. Para hacer eso tendremos que usar la siguiente sintáxis: &lt;/p&gt; &lt;pre&gt;VARIABLE=`gdialog --inputbox "Ingrese su nombre" 2&gt;&amp;amp;1`&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Note que pusimos todo el comando entre comillas invertidas para que reemplace el mismo por el valor que el comando representa después de ejecutarse. &lt;/p&gt;&lt;p&gt;El &lt;code&gt;2&gt;&amp;amp;1&lt;/code&gt; es un truco que permite redirigir la STDERR hacia la STDOUT, ya que el valor ingresado sale por la salida de error en vez de la estándar. &lt;/p&gt;&lt;p&gt;Ejemplo 3 (Diálogo "msgbox"): &lt;/p&gt; &lt;pre&gt;[jose@xtech experto]$ dialog --msgbox "Esto es muy bueno para mensajes" 5 50&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Produce esto: &lt;/p&gt; &lt;div class="center"&gt;&lt;div class="floatnone"&gt;&lt;span&gt;&lt;a href="http://wiki.xtech.com.ar/index.php/Imagen:Dialog3.png" class="image" title=""&gt;&lt;img src="http://wiki.xtech.com.ar/images/6/62/Dialog3.png" alt="" longdesc="/index.php/Imagen:Dialog3.png" height="300" width="450" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;O también: &lt;/p&gt; &lt;pre&gt;[jose@xtech experto]$ gdialog --msgbox "Esto es muy bueno para mostrar mensajes&lt;br /&gt;largos o de advertencia"&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Produce esto: &lt;/p&gt; &lt;div class="center"&gt;&lt;div class="floatnone"&gt;&lt;span&gt;&lt;a href="http://wiki.xtech.com.ar/index.php/Imagen:Gdialog3.png" class="image" title=""&gt;&lt;img src="http://wiki.xtech.com.ar/images/0/0d/Gdialog3.png" alt="" longdesc="/index.php/Imagen:Gdialog3.png" height="157" width="329" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt; &lt;div class="editsection" style="float: right; margin-left: 5px;"&gt;&lt;a name="Ejercicio_1"&gt;&lt;/a&gt;&lt;/div&gt;&lt;h3&gt; Ejercicio 1 &lt;/h3&gt; &lt;p&gt;Descompresión Automática de Archivos &lt;/p&gt; &lt;hr /&gt; &lt;p&gt;Se debe ingresar el nombre de un archivo por la línea de comandos, y el script debe reconocer con qué herramienta está comprimida y proceder a descomprimirlo. Si el archivo no está comprimido, el script deberá devolver un mensaje de error. &lt;/p&gt;&lt;p&gt;TIP: utilizar el programa "file" &lt;/p&gt; &lt;a name="Resoluci.C3.B3n"&gt;&lt;/a&gt;&lt;h5&gt; Resolución &lt;/h5&gt; &lt;pre&gt;#!/bin/bash&lt;br /&gt;#&lt;br /&gt;# Decompresor inteligente&lt;br /&gt;&lt;br /&gt;if [ -z $1 ]&lt;br /&gt;then&lt;br /&gt;#&lt;br /&gt;# Si no hay argumento salimos del script con error "1!&lt;br /&gt;#&lt;br /&gt;    echo "Debe ingresar el nombre del archivo"&lt;br /&gt;    exit 1&lt;br /&gt;else&lt;br /&gt;    ARCHIVO=$1&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;TIPO=`file $ARCHIVO`&lt;br /&gt;#&lt;br /&gt;# Verificamos el tipo de archivo&lt;br /&gt;# Salida del comando file:&lt;br /&gt;#&lt;br /&gt;# Para GZIP&lt;br /&gt;# file ejemplo.gz&lt;br /&gt;# ejemplo.gz: gzip compressed data, was "ejemplo",from Unix&lt;br /&gt;#&lt;br /&gt;# Para BZIP2&lt;br /&gt;# file ejemplo.bz2&lt;br /&gt;# ejemplo.bz2: bzip2 compressed data, block size =900k&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;case $TIPO in&lt;br /&gt;"${ARCHIVO}: bzip2"*)&lt;br /&gt;    bunzip2 $ARCHIVO&lt;br /&gt;    ;;&lt;br /&gt;"${ARCHIVO}: gzip"*)&lt;br /&gt;    gunzip $ARCHIVO&lt;br /&gt;    ;;&lt;br /&gt;*)&lt;br /&gt;    echo "No esta comprimido"&lt;br /&gt;    ;;&lt;br /&gt;esac&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;exit 0&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt; &lt;a name="Ejercicio_2"&gt;&lt;/a&gt;&lt;h3&gt; Ejercicio 2 &lt;/h3&gt; &lt;p&gt;Listado del Directorio Home &lt;/p&gt; &lt;hr /&gt; &lt;p&gt;Se debe realizar un listado recursivo del directorio personal, y guardar la información en un archivo. Luego debe comprimirse ese archivo y preguntar al usuario en qué directorio quiere guardar el archivo comprimido. &lt;/p&gt; &lt;a name="Resoluci.C3.B3n_2"&gt;&lt;/a&gt;&lt;h5&gt; Resolución &lt;/h5&gt; &lt;pre&gt;#/bin/bash&lt;br /&gt;# Listado del Home&lt;br /&gt;&lt;br /&gt;# Iniciamos la variable.&lt;br /&gt;rm -rf ./listado.txt&lt;br /&gt;touch ./listado.txt&lt;br /&gt;ARCHIVO="./listado.txt"&lt;br /&gt;&lt;br /&gt;# Listamos los archivos y los guardamos en el archivo&lt;br /&gt;ls -1 ~ &gt;&gt; $ARCHIVO&lt;br /&gt;cat $ARCHIVO&lt;br /&gt;&lt;br /&gt;# Comprimimos el archivo como tar.gz&lt;br /&gt;tar -czvf listado.tar.gz $ARCHIVO&lt;br /&gt;COMPRIMIDO=listado.tar.gz&lt;br /&gt;&lt;br /&gt;# Preguntamos al usuario donde desea guardar ese archivo.&lt;br /&gt;echo "Por favor, ingrese el PATH donde desea almacenar $COMPRIMIDO."&lt;br /&gt;read PATH&lt;br /&gt;echo $PATH&lt;br /&gt;echo $COMPRIMIDO&lt;br /&gt;&lt;br /&gt;# Guardamos el archivo donde se indico.&lt;br /&gt;mv $COMPRIMIDO $PATH&lt;br /&gt;&lt;br /&gt;# Se imprime donde se guardo el archivo.&lt;br /&gt;echo "Se guardo $COMPRIMIDO en $PATH"&lt;br /&gt;&lt;br /&gt;exit 0&lt;br /&gt;&lt;/pre&gt; &lt;a name="Ejercicio_3"&gt;&lt;/a&gt;&lt;h3&gt; Ejercicio 3 &lt;/h3&gt; &lt;p&gt;Ralización de un backup diario &lt;/p&gt; &lt;hr /&gt; &lt;p&gt;Se debe archivar como "tarball" (archivo .tar.gz) todos los archivos del directorio personal. Esto se debe hacer grabando un CR regrabable. &lt;/p&gt; &lt;a name="Resoluci.C3.B3n_1"&gt;&lt;/a&gt;&lt;h5&gt; Resolución 1 &lt;/h5&gt; &lt;pre&gt;#!/bin/bash&lt;br /&gt;#&lt;br /&gt;# Se limpia la pantalla para tener una salida más prolija.&lt;br /&gt;&lt;br /&gt;clear&lt;br /&gt;&lt;br /&gt;# Se procede a desmontar el CD por si alguien olvidó hacerlo.&lt;br /&gt;&lt;br /&gt;echo "*** Desmontando CDROM ***"&lt;br /&gt;umount /mnt/cdrom&lt;br /&gt;&lt;br /&gt;# Se limpia nuevamente la pantalla.&lt;br /&gt;&lt;br /&gt;clear&lt;br /&gt;&lt;br /&gt;# Se anuncia al usuario que se comienza a borrar el CD.&lt;br /&gt;&lt;br /&gt;echo "*** Borrando CDROM ***"&lt;br /&gt;echo "Por favor, sea paciente. Este proceso puede demorar hasta 20 minutos."&lt;br /&gt;echo " "&lt;br /&gt;&lt;br /&gt;# Se utiliza el programa cdrecord para borrar el CD.&lt;br /&gt;&lt;br /&gt;cdrecord -v -dev=ATAPI:0,0,0 -blank=fast &gt; /dev/null&lt;br /&gt;&lt;br /&gt;# Se borra nuevamente la pantalla.&lt;br /&gt;&lt;br /&gt;clear&lt;br /&gt;&lt;br /&gt;# Se anuncia por pantalla el comienzo del backup del directorio.&lt;br /&gt;&lt;br /&gt;echo "*** Comenzando el backup ***"&lt;br /&gt;&lt;br /&gt;# Se crea un directorio temporal para almacenar el backup.&lt;br /&gt;&lt;br /&gt;mkdir /tmp/backup02&lt;br /&gt;&lt;br /&gt;# Se limpia la pantalla.&lt;br /&gt;&lt;br /&gt;clear&lt;br /&gt;&lt;br /&gt;# Se anuncia por pantalla que se comienza a salvar el directorio personal.&lt;br /&gt;&lt;br /&gt;echo "*** Backup del directorio Personal ***"&lt;br /&gt;&lt;br /&gt;# Se comprime el directorio personal.&lt;br /&gt;&lt;br /&gt;tar -cvzf /tmp/backuo02/home.tar.gz ~/ &gt; /dev/null&lt;br /&gt;&lt;br /&gt;# Se limpia la pantalla.&lt;br /&gt;&lt;br /&gt;clear&lt;br /&gt;&lt;br /&gt;# Se anuncia por pantalla que se realiza el ISO a grabar.&lt;br /&gt;&lt;br /&gt;echo "*** Creando archivo de Resguardo ***"&lt;br /&gt;&lt;br /&gt;# Se crea la imágen ISO.&lt;br /&gt;&lt;br /&gt;mkisofs -r -J -o backup02.iso backup02/ &gt; /dev/null&lt;br /&gt;&lt;br /&gt;# Se borra la pantalla.&lt;br /&gt;&lt;br /&gt;clear&lt;br /&gt;&lt;br /&gt;# Se anuncia el comiezo de la grabación del CD.&lt;br /&gt;&lt;br /&gt;echo "*** Comenzando la grabacion del CDROM ***"&lt;br /&gt;echo "Por favor, sea paciente. Este proceso puede tardar hasta 30 minutos."&lt;br /&gt;echo " "&lt;br /&gt;&lt;br /&gt;# Se comienza a grabar el CD con cdrecord.&lt;br /&gt;&lt;br /&gt;cdrecord -v speed=4 dev=ATAPI:0,0,0 -data backup02.iso &gt; /dev/null&lt;br /&gt;&lt;br /&gt;# Se anuncia en pantalla el borrado de los archivos auxiliares.&lt;br /&gt;&lt;br /&gt;echo "*** Limpiando archivos extras ***"&lt;br /&gt;rm -Rf /tmp/backup02.iso &gt; /dev/null&lt;br /&gt;rm -Rf /tmp/backup02 &gt; /dev/null&lt;br /&gt;&lt;br /&gt;# Se desmonta el CD.&lt;br /&gt;&lt;br /&gt;umount /mnt/cdrom&lt;br /&gt;&lt;br /&gt;# Se limpia la pantalla.&lt;br /&gt;&lt;br /&gt;clear&lt;br /&gt;&lt;br /&gt;# Se anuncia que el proceso finalizó con éxito.&lt;br /&gt;&lt;br /&gt;echo "*** Se realizo el backup con exito ***"&lt;br /&gt;&lt;br /&gt;exit 0&lt;br /&gt;&lt;/pre&gt; &lt;a name="Resoluci.C3.B3n_2_.28backup_por_SAMBA.29"&gt;&lt;/a&gt;&lt;h5&gt; Resolución 2 (backup por SAMBA) &lt;/h5&gt; &lt;pre&gt;#!/bin/bash&lt;br /&gt;#&lt;br /&gt;# Se limpia la pantalla para tener una salida más prolija.&lt;br /&gt;&lt;br /&gt;clear&lt;br /&gt;&lt;br /&gt;# Se procede a desmontar el CD por si alguien olvidó hacerlo.&lt;br /&gt;&lt;br /&gt;echo "*** Desmontando CDROM ***"&lt;br /&gt;umount /mnt/cdrom&lt;br /&gt;&lt;br /&gt;# Se limpia nuevamente la pantalla.&lt;br /&gt;&lt;br /&gt;clear&lt;br /&gt;&lt;br /&gt;# Se monta por red el CD de un cliente windows.&lt;br /&gt;&lt;br /&gt;smbmount //pc3/d /mnt/cdrom -o username=usuario,password=contraseña&lt;br /&gt;&lt;br /&gt;# Se borra nuevamente la pantalla.&lt;br /&gt;&lt;br /&gt;clear&lt;br /&gt;&lt;br /&gt;# Se anuncia por pantalla el comienzo del backup del directorio.&lt;br /&gt;&lt;br /&gt;echo "*** Backup del directorio Personal ***"&lt;br /&gt;&lt;br /&gt;# Se comprime el directorio personal.&lt;br /&gt;&lt;br /&gt;tar -cvzf /mnt/cdrom/home.tar.gz ~/ &gt; /dev/null&lt;br /&gt;&lt;br /&gt;# Se desmonta el CD.&lt;br /&gt;&lt;br /&gt;umount /mnt/cdrom&lt;br /&gt;&lt;br /&gt;# Se limpia la pantalla.&lt;br /&gt;&lt;br /&gt;clear&lt;br /&gt;&lt;br /&gt;# Se anuncia que el proceso finalizó con éxito.&lt;br /&gt;&lt;br /&gt;echo "*** Se realizo el backup con exito ***"&lt;br /&gt;&lt;br /&gt;exit 0&lt;br /&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-2132190564498386046?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/2132190564498386046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=2132190564498386046&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/2132190564498386046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/2132190564498386046'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/11/programacin-en-bash.html' title='Programación en Bash'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-4594966158282157056</id><published>2008-11-04T15:34:00.000-08:00</published><updated>2008-11-04T15:46:34.897-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Noticias'/><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Richard Stallman en Buenos Aires</title><content type='html'>Tanto tiempo sin dedicarme al blog, he regresado =P y nada mejor que mostrando algunas fotos de Richard Stallman. Ayer lunes 3 de noviembre el padre del movimiento del software libre dió una conferencia en el Salón Auditorio del Anexo de la Honorable Cámara de Diputados de la Nación. Fué imperdible...no le hagan caso a la fecha de la foto, porque está mal. Saludos!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qoMj8Cxqh50/SRDeJQjPS_I/AAAAAAAAApo/3NlhVLtVVOo/s1600-h/SANY0609.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_qoMj8Cxqh50/SRDeJQjPS_I/AAAAAAAAApo/3NlhVLtVVOo/s320/SANY0609.JPG" alt="" id="BLOGGER_PHOTO_ID_5264952215039069170" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qoMj8Cxqh50/SRDd2fhXP6I/AAAAAAAAApY/4NwjalpAOvQ/s1600-h/SANY0607.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_qoMj8Cxqh50/SRDd2fhXP6I/AAAAAAAAApY/4NwjalpAOvQ/s320/SANY0607.JPG" alt="" id="BLOGGER_PHOTO_ID_5264951892640219042" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qoMj8Cxqh50/SRDduDUOBFI/AAAAAAAAApQ/i00GXM0I0Mo/s1600-h/SANY0596.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_qoMj8Cxqh50/SRDduDUOBFI/AAAAAAAAApQ/i00GXM0I0Mo/s320/SANY0596.JPG" alt="" id="BLOGGER_PHOTO_ID_5264951747629941842" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;El video de San Ignacious que alguién subío a youtube =) :&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ozyqdXRoALg&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/ozyqdXRoALg&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-4594966158282157056?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/4594966158282157056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=4594966158282157056&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/4594966158282157056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/4594966158282157056'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/11/richard-stallman-en-buenos-aires.html' title='Richard Stallman en Buenos Aires'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_qoMj8Cxqh50/SRDeJQjPS_I/AAAAAAAAApo/3NlhVLtVVOo/s72-c/SANY0609.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-191929219049005742</id><published>2008-09-10T16:29:00.000-07:00</published><updated>2008-09-10T16:32:19.470-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mundo'/><category scheme='http://www.blogger.com/atom/ns#' term='Videos'/><title type='text'>RAP del LHC - Gran Colisionador de Hadrones</title><content type='html'>&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/n_FCMejFkMg&amp;amp;hl=es&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://www.youtube.com/v/n_FCMejFkMg&amp;amp;hl=es&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-191929219049005742?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/191929219049005742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=191929219049005742&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/191929219049005742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/191929219049005742'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/09/rap-del-lhc-gran-colisionador-de.html' title='RAP del LHC - Gran Colisionador de Hadrones'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-6053747287820354783</id><published>2008-08-23T10:43:00.000-07:00</published><updated>2008-08-23T10:47:22.983-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Libros'/><title type='text'>Como funciona la web</title><content type='html'>&lt;span class="todo"&gt;El libro que el lector tiene en sus manos es producto de la experiencia  del equipo de científicos que trabaja en el Centro de Investigación de la Web.  Hemos querido exponer al gran público no sólo lo que hacemos, sino sobre  todo, cómo funciona ese producto tan propio de nuestros tiempos que es la  Web. Este libro pretende, a nivel de divulgación, dar a conocer las diferentes  facetas que están detrás del funcionamiento de la Web.&lt;br /&gt;&lt;br /&gt;Dr. Gonzalo Navarro Badino&lt;br /&gt;Director&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;  &lt;a href="http://www.ciw.cl/libroWeb-NV.pdf"&gt; &lt;img src="http://www.ciw.cl/libroweb/webcover.png" alt="Cubierta del libro" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ciw.cl/libroWeb-NV.pdf"&gt; &lt;b&gt;Cómo funciona la Web (pdf: 5,1 mb)&lt;/b&gt; &lt;/a&gt; &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Via: &lt;a href="http:/www.ciw.cl/libroweb/"&gt;Ciw.cl&lt;/a&gt;&lt;br /&gt;   &lt;span class="todo"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-6053747287820354783?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/6053747287820354783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=6053747287820354783&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/6053747287820354783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/6053747287820354783'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/08/como-funciona-la-web.html' title='Como funciona la web'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-915852152772715340</id><published>2008-08-22T14:20:00.000-07:00</published><updated>2008-08-22T14:28:31.325-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Humor'/><title type='text'>Hitler y Phelps. Willie Oviedo confirma la física cuántica.</title><content type='html'>&lt;p&gt;CARACAS (Reuters) - Parecería imposible relacionar al dictador alemán Adolf Hitler con el nadador estadounidense Michael Phelps en los Juegos Olímpicos de Múnich 1972, pero un locutor deportivo de una televisión estatal venezolana lo logró en una monumental confusión que ha hecho furor en la red.&lt;/p&gt;&lt;p&gt;El comentarista Willie Oviedo, de la Televisora Social Venezolana (TVes), hacía unos insólitos comentarios históricos para introducir la prueba de relevos 4x100 metros combinados de los Olímpicos de Pekín, con la que Phelps logró la inédita hazaña de ganar ocho preseas de oro en un mismo torneo.&lt;/p&gt;&lt;p&gt;"Jamás en unos Juegos Olímpicos, ningún mortal, ningún ser viviente ha podido colgarse la cifra de ocho medallas doradas. Unicamente lo logró Michael Phelps en los Olímpicos de Múnich en el año de 1972, allá en la Alemania de Hitler, donde ni siquiera él mismo quiso darle las medallas," dijo Oviedo.&lt;/p&gt;&lt;p&gt;El narrador confundió a Phelps, de 23 años, con su compatriota Mark Spitz, quien efectivamente ganó siete oros hace 36 años en las piscinas de Múnich.&lt;/p&gt;&lt;p&gt;Pero también mezcló estas pruebas con los Juegos de 1936 en Berlín, cuando Hitler prefirió no estar presente en las ceremonias de premiación donde el atleta afroamericano Jesse Owens recibió cuatro medallas de oro, en momentos en que los germanos exaltaban a la "raza aria" frente a la negra.&lt;/p&gt;&lt;p&gt;Una portavoz de TVes no quiso comentar a Reuters si la narración era real, pero criticó los montajes que se han realizado en internet para burlarse del traspié del periodista.&lt;/p&gt;&lt;p&gt;La narración de Oviedo acumula decenas de miles de visitas en YouTube (http://www.youtube.com/watch?v=jZEItFOKlHc) y ha corrido como la pólvora en blogs, foros de internet y correos electrónicos, e incluso se han realizado montajes de video con risas enlatadas.&lt;/p&gt;&lt;p&gt;El error también ha propiciado que los críticos del presidente Hugo Chávez arrecien sus ataques contra TVes, la cadena de televisión pública que ocupó la señal del canal opositor RCTV luego de que el mandatario no le renovara la licencia de transmisión en mayo del 2007.&lt;/p&gt;&lt;p&gt;(Por Enrique Andrés Pretel; Editado por Patricia Avila)&lt;/p&gt;&lt;p&gt;Visto en &lt;a href="http://ar.sports.yahoo.com/china2008/noticias/22082008/21/noticias-deportes-hitler-quiso-darle-medallas-phelps-denuncia-tv-venezolana.html"&gt;Yahoo!&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/jZEItFOKlHc&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://www.youtube.com/v/jZEItFOKlHc&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-915852152772715340?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/915852152772715340/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=915852152772715340&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/915852152772715340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/915852152772715340'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/08/hitler-y-phelps-willie-oviedo-confirma.html' title='Hitler y Phelps. Willie Oviedo confirma la física cuántica.'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-8662640971660117354</id><published>2008-08-18T06:10:00.000-07:00</published><updated>2008-08-18T06:23:58.229-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Webmasters'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><category scheme='http://www.blogger.com/atom/ns#' term='Arch Linux'/><title type='text'>Problemas para iniciar httpd</title><content type='html'>Ayer instalé Apache 2 (apache-2.2.9-4) en Archlinux, pero por alguna razón en particular no iniciaba..&lt;br /&gt;&lt;br /&gt;█▓▒░root@localhost█▓▒░ mar ago 19 10:12:34&lt;br /&gt;/etc/rc.d/ &lt;span style="color: rgb(51, 51, 255);"&gt;/etc/rc.d/httpd start&lt;/span&gt;&lt;br /&gt;:: Starting HTTP Daemon                                                  &lt;span style="color: rgb(255, 0, 0);"&gt;  [FAIL] &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ni en los logs apareciá el problema, nada, la verdad en "pelotas estaba". Hasta que se me ocurrió hacer:&lt;br /&gt;&lt;br /&gt;█▓▒░root@localhost█▓▒░ mar ago 19 10:12:53&lt;br /&gt;/etc/rc.d/ &lt;span style="color: rgb(51, 51, 255);"&gt;apachectl -t&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;httpd: bad user name http&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Podemos ver que nos dice "httpd: bad user name http", me di cuenta que no tengo ningún usuario llamado de esa manera. Creemos un usuario con ese nombre...:&lt;br /&gt;&lt;br /&gt;█▓▒░root@localhost█▓▒░ mar ago 19 10:14:08&lt;br /&gt;/etc/rc.d/&lt;span style="color: rgb(51, 51, 255);"&gt; adduser http&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Login name for new user: http&lt;br /&gt;&lt;br /&gt;User ID ('UID') [ defaults to next available ]:&lt;br /&gt;&lt;br /&gt;Initial group [ users ]:&lt;br /&gt;&lt;br /&gt;Additional groups (comma separated) []:&lt;br /&gt;&lt;br /&gt;Home directory [ /home/http ]&lt;br /&gt;&lt;br /&gt;Shell [ /bin/bash ]&lt;br /&gt;&lt;br /&gt;Expiry date (YYYY-MM-DD) []:&lt;br /&gt;&lt;br /&gt;New account will be created as follows:&lt;br /&gt;&lt;br /&gt;---------------------------------------&lt;br /&gt;Login name.......:  http&lt;br /&gt;UID..............:  [ Next available ]&lt;br /&gt;Initial group....:  users&lt;br /&gt;Additional groups:  [ None ]&lt;br /&gt;Home directory...:  /home/http&lt;br /&gt;Shell............:  /bin/bash&lt;br /&gt;Expiry date......:  [ Never ]&lt;br /&gt;&lt;br /&gt;This is it... if you want to bail out, hit Control-C.  Otherwise, press&lt;br /&gt;ENTER to go ahead and make the account.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Creating new account...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Cambiando la información de usuario para http&lt;br /&gt;Introduzca el nuevo valor, o presione ENTER para el predeterminado&lt;br /&gt;    Nombre completo []:&lt;br /&gt;    Número de habitación []:&lt;br /&gt;    Teléfono del trabajo []:&lt;br /&gt;    Teléfono de casa []:&lt;br /&gt;    Otro []:&lt;br /&gt;Introduzca la nueva contraseña de UNIX:&lt;br /&gt;Vuelva a escribir la nueva contraseña de UNIX:&lt;br /&gt;passwd: contraseña actualizada correctamente&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Account setup complete.&lt;br /&gt;&lt;br /&gt;Iniciamos Apache...&lt;br /&gt;&lt;br /&gt;█▓▒░root@localhost█▓▒░ mar ago 19 10:12:34&lt;br /&gt;/etc/rc.d/ &lt;span style="color: rgb(51, 51, 255);"&gt;/etc/rc.d/httpd start&lt;/span&gt;&lt;br /&gt;:: Starting HTTP Daemon                                                   &lt;span style="color: rgb(255, 0, 0);"&gt; [FAIL] &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Pufff otra vez...&lt;br /&gt;&lt;br /&gt;█▓▒░root@localhost█▓▒░ mar ago 19 10:16:05&lt;br /&gt;/etc/rc.d/&lt;span style="color: rgb(51, 51, 255);"&gt; apachectl -t&lt;/span&gt;&lt;br /&gt;httpd: &lt;span style="color: rgb(255, 0, 0);"&gt;bad group name http&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ahora nos dice que el grupo no existe...lo creamos también..&lt;br /&gt;&lt;br /&gt;█▓▒░root@localhost█▓▒░ mar ago 19 10:16:11&lt;br /&gt;/etc/rc.d/ &lt;span style="color: rgb(51, 51, 255);"&gt;groupadd http&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Agregamos el usuario http al grupo http:&lt;br /&gt;&lt;br /&gt;█▓▒░root@localhost█▓▒░ mar ago 19 10:18:16&lt;br /&gt;/etc/rc.d/ &lt;span style="color: rgb(51, 51, 255);"&gt;gpasswd -a http http&lt;/span&gt;&lt;br /&gt;Añadiendo al usuario http al grupo http&lt;br /&gt;&lt;br /&gt;Iniciamos Apache:&lt;br /&gt;&lt;br /&gt;█▓▒░root@localhost█▓▒░ mar ago 19 10:18:23&lt;br /&gt;/etc/rc.d/ &lt;span style="color: rgb(51, 51, 255);"&gt;/etc/rc.d/httpd start&lt;/span&gt;&lt;br /&gt;:: Starting HTTP Daemon                                                   &lt;span style="color: rgb(0, 153, 0);"&gt; [DONE] &lt;/span&gt;&lt;br /&gt;█▓▒░root@localhost█▓▒░ mar ago 19 10:19:09&lt;br /&gt;&lt;br /&gt;Este inconveniente me quitó 3 horas de mi vida =P. Espero que les sirva. Saludos!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-8662640971660117354?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/8662640971660117354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=8662640971660117354&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/8662640971660117354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/8662640971660117354'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/08/problemas-para-iniciar-httpd.html' title='Problemas para iniciar httpd'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-8101603172331198507</id><published>2008-08-17T08:38:00.000-07:00</published><updated>2008-08-17T08:59:39.276-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Consola'/><title type='text'>Bashish y aléjate de la consola...oscura claro.</title><content type='html'>&lt;a href="http://bashish.sourceforge.net/index.html"&gt;Bashish&lt;/a&gt; es un tema para terminales de texto. Puede cambiar los colores, tipo de letra,&lt;br /&gt;la transparencia y la imagen de fondo para cada aplicación. Adicionalmente&lt;br /&gt;Bashish puede funcionar en bash, zsh y tcsh.&lt;br /&gt;&lt;br /&gt;Para instalarlo en arch:&lt;br /&gt;&lt;pre&gt;&lt;a href="http://braianet.blogspot.com/2008/03/yaourt-frontend-para-pacman-con-ms.html"&gt;yaourt&lt;/a&gt; -S bashish&lt;/pre&gt;Ejemplos:&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 737px; height: 381px;" alt="A red sky with the siluette of a city in dawn.." src="http://bashish.sourceforge.net/urbandawn.png" /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;        &lt;span style="font-weight: bold;"&gt;urbandawn &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;       &lt;br /&gt;       &lt;img style="width: 561px; height: 393px;" alt="a snake crawling up to the prompt" src="http://bashish.sourceforge.net/conda.png" /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;        &lt;span style="font-weight: bold;"&gt;conda&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;       &lt;br /&gt;      &lt;br /&gt;       &lt;img style="width: 806px; height: 363px;" alt="3D steel like finish" src="http://bashish.sourceforge.net/steel.png" /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;        &lt;span style="font-weight: bold;"&gt;bluesteel&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;       &lt;br /&gt;      &lt;br /&gt;       &lt;img style="width: 577px; height: 434px;" alt="A new poker hand each time the prompt is pressed." src="http://bashish.sourceforge.net/poker.png" /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;        &lt;span style="font-weight: bold;"&gt;poker &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;       &lt;br /&gt;      &lt;br /&gt;       &lt;img style="width: 621px; height: 400px;" alt="an ascii-art prompt similar to the lcars interface from startrek" src="http://bashish.sourceforge.net/lcars.png" /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;        &lt;span style="font-weight: bold;"&gt;lcars&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img style="width: 560px; height: 325px;" alt="A red square around the terminal" src="http://bashish.sourceforge.net/box.png" /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt; &lt;span style="font-weight: bold;"&gt;box &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;       &lt;br /&gt;      &lt;br /&gt;       &lt;img style="width: 672px; height: 425px;" alt="Commodore 64 screen with some error messages" src="http://bashish.sourceforge.net/C64.png" /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;        &lt;span style="font-weight: bold;"&gt;c64 - ?SYNTAX ERROR&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;   &lt;br /&gt;&lt;br /&gt;       &lt;div style="text-align: center;"&gt;&lt;img style="width: 577px; height: 328px;" alt="Fading prompt" src="http://bashish.sourceforge.net/bashprompt-fade.png" /&gt;&lt;br /&gt;  fade&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;   &lt;br /&gt;  &lt;br /&gt;       &lt;img style="width: 624px; height: 360px;" alt="A cow stretched over the whole terminal." src="http://bashish.sourceforge.net/moo.png" /&gt;&lt;br /&gt;       &lt;span style="font-weight: bold;"&gt;moo&lt;/span&gt;&lt;br /&gt;      &lt;br /&gt;      &lt;br /&gt;       &lt;img style="width: 840px; height: 456px;" alt="Simulation of a 3270 terminal connectiong to IBM MVS" src="http://bashish.sourceforge.net/mvs.png" /&gt;&lt;br /&gt;       &lt;span style="font-weight: bold;"&gt;mvs &lt;/span&gt;&lt;br /&gt;      &lt;br /&gt;      &lt;br /&gt;       &lt;img style="width: 745px; height: 504px;" alt="pink terminal with saturated flowers" src="http://bashish.sourceforge.net/flower.png" /&gt;&lt;br /&gt;       &lt;span style="font-weight: bold;"&gt;flowerpower &lt;/span&gt;&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/6301813106398565950-8101603172331198507?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/8101603172331198507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=8101603172331198507&amp;isPopup=true' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/8101603172331198507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/8101603172331198507'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/08/bashish-y-aljate-de-la-consolaoscura.html' title='Bashish y aléjate de la consola...oscura claro.'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-6777059175461624107</id><published>2008-08-16T09:13:00.000-07:00</published><updated>2008-08-16T09:21:05.089-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Videos'/><category scheme='http://www.blogger.com/atom/ns#' term='Películas'/><title type='text'>El secreto</title><content type='html'>&lt;p&gt;&lt;i&gt;The Secret&lt;/i&gt; es una película de &lt;a href="http://es.wikipedia.org/w/index.php?title=Boixnet&amp;amp;action=edit&amp;amp;redlink=1" class="new" title="Boixnet (aún no redactado)"&gt;Boixnet&lt;/a&gt; y utiliza un formato de película documental para presentar la "&lt;i&gt;&lt;a href="http://es.wikipedia.org/wiki/Ley_de_atracci%C3%B3n" title="Ley de atracción"&gt;Ley de Atracción&lt;/a&gt;&lt;/i&gt;" Esta ley es el "&lt;a href="http://es.wikipedia.org/wiki/Secreto" title="Secreto"&gt;secreto&lt;/a&gt;" que, de acuerdo con el argumento, "ha viajado a través de los siglos para alcanzarnos". La película muestra breves fragmentos de película basados en experiencias y entrevistas a un equipo de especialistas en la transformación personal, maestros espirituales, maestros de cosmologia, expertos en generar riqueza, matemáticos, físicos cuánticos, etc.&lt;/p&gt; &lt;p&gt;Tal y como muestra la película, los principios de la "&lt;i&gt;Ley de Atracción&lt;/i&gt;" plantean que los sentimientos y los pensamientos de las personas se plasman en sus vidas como hechos reales, desde interacciones con el cosmos hasta interacciones entre personas de tipo físico, emocional y profesional. La película también hace referencia a la tendencia de la gente con poder a esconder al público este principio básico. El trailer de la película muestra a algunas personas que "descubrieron el secreto...".&lt;/p&gt;&lt;p&gt;Via &lt;a href="http://es.wikipedia.org/wiki/El_Secreto"&gt;wikipedia.org&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;embed id="VideoPlayback" style="width: 400px; height: 326px;" allowfullscreen="true" src="http://video.google.com/googleplayer.swf?docid=-7391854483773129439&amp;amp;hl=es&amp;amp;fs=true" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://video.google.es/videoplay?docid=-7391854483773129439&amp;amp;ei=-sqmSOTyBYWI4QLN7ZQV&amp;amp;q=el+secreto"&gt;Ver mas grande&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-6777059175461624107?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/6777059175461624107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=6777059175461624107&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/6777059175461624107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/6777059175461624107'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/08/el-secreto.html' title='El secreto'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-1951036029210231191</id><published>2008-08-14T12:12:00.000-07:00</published><updated>2008-08-14T12:32:48.200-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Libros'/><category scheme='http://www.blogger.com/atom/ns#' term='Seguridad Informática'/><title type='text'>Manual de la Metodología Abierta de Testeo de Seguridad de ISECOM</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qoMj8Cxqh50/SKSHjpX0RfI/AAAAAAAAAWc/4cnyHz7nSc4/s1600-h/logotittle.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_qoMj8Cxqh50/SKSHjpX0RfI/AAAAAAAAAWc/4cnyHz7nSc4/s320/logotittle.jpg" alt="" id="BLOGGER_PHOTO_ID_5234457713382278642" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;La organización &lt;a href="http://www.isecom.org/"&gt;ISECOM&lt;/a&gt;, es el Instituto para la Seguridad y las Metodologías Abiertas.&lt;br /&gt;El "Manual de la Metodología Abierta de Testeo de Seguridad" es un      documento que reúne, de forma estandarizada y ordenada, las diversas      verificaciones y pruebas que debe realizar un profesional de la seguridad      informática durante el desarrollo de las auditorías y verificaciones de la      seguridad. Es un documento en constante evolución, fruto del trabajo      conjunto de más de 150 colaboradores de todo el mundo.&lt;br /&gt;&lt;br /&gt;La participación directa de estos profesionales, que desarrollan su      actividad profesional en el sector de la seguridad, en la confección de la      metodología le permite incorporar los más recientes cambios y nuevas      tendencias en el mundo de la seguridad informática.&lt;br /&gt;&lt;br /&gt;OSSTMM 3.0 lite - Open Source Security Testing Methodology Manual (English): &lt;a href="http://www.isecom.org/mirror/OSSTMM_3.0_LITE.pdf"&gt;Descargar&lt;/a&gt;&lt;br /&gt;OSSTMM 2.1 - Manual de la Metodología Abierta de Testeo de Seguridad (&lt;span&gt;Spanish&lt;/span&gt;): &lt;a href="http://www.isecom.info/mirror/OSSTMM.http://www.isecom.info/mirror/OSSTMM.es.2.1.pdf"&gt;Descargar&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Metodología para análisis de redes inalámbricas&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  En esta versión especial de la metodología se incluyen las diversas pruebas      y verificaciones que están especialmente diseñadas para la comprobación del      nivel de seguridad de las comunicaciones inalámbricas y los dispositivos que      utilizan este tipo de comunicaciones(802.11, Bluetooh, infrarrojos y similares). Estas verificaciones incluyen tanto la      identificación de estas comunicaciones como la comprobación del nivel de      seguridad de las redes ya identificadas.&lt;br /&gt;&lt;br /&gt;OSSTMM Wireless 2.9.1 - Wireless Security Testing Section Open-Source      Security Testing Methodology Manual (English): &lt;a href="http://www.isecom.info/mirror/osstmm.en.2.9.wireless.pdf"&gt;Descargar&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-1951036029210231191?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/1951036029210231191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=1951036029210231191&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/1951036029210231191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/1951036029210231191'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/08/manual-de-la-metodologa-abierta-de.html' title='Manual de la Metodología Abierta de Testeo de Seguridad de ISECOM'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_qoMj8Cxqh50/SKSHjpX0RfI/AAAAAAAAAWc/4cnyHz7nSc4/s72-c/logotittle.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-8672439975451343499</id><published>2008-08-12T16:23:00.000-07:00</published><updated>2008-08-12T16:25:50.270-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Comandos Linux'/><title type='text'>Apagar monitor desde la consola</title><content type='html'>Para apagar el monitor desde la consola, ejecutamos el siguiente comando:&lt;br /&gt;&lt;pre&gt;xset dpms force off&lt;/pre&gt;Saludos!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-8672439975451343499?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/8672439975451343499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=8672439975451343499&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/8672439975451343499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/8672439975451343499'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/08/apagar-monitor-desde-la-consola.html' title='Apagar monitor desde la consola'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-8753188272628292103</id><published>2008-08-03T08:25:00.000-07:00</published><updated>2008-08-03T08:52:13.890-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Noticias'/><title type='text'>Mark Shuttleworth, el padre de Ubuntu en Buenos Aires</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_qoMj8Cxqh50/SJXP5jKu8pI/AAAAAAAAAWU/FmJMpEDLAW4/s1600-h/splash-home-es.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_qoMj8Cxqh50/SJXP5jKu8pI/AAAAAAAAAWU/FmJMpEDLAW4/s320/splash-home-es.jpg" alt="" id="BLOGGER_PHOTO_ID_5230315129860453010" border="0" /&gt;&lt;/a&gt;Noticia desde &lt;a href="http://www.isos-linux.com.ar/content/view/3347/1/"&gt;isos-linux.com.ar&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;El empresario sudafricano fundador de Canonical, la organización detrás de la distribución GNU/Linux Ubuntu, llega a Buenos Aires para ofrecer una charla pública y gratuita en el marco de las &lt;a href="http://www.jornadasregionales.org/" target="_blank"&gt;8vas. Jornadas Regionales de Software Libre&lt;/a&gt; que se realizarán del 20 al 22 de Agosto en la Universidad de Belgrano, Zabala 1837, Capital Federal. Las Jornadas Regionales de Software Libre, coordinadas este año por el Grupo de Usuarios de Software Libre de Capital Federal (CaFeLUG), son un evento internacional e itinerante de difusión y promoción del uso, desarrollo y actualización de Software Libre desde aspectos técnicos, filosóficos y políticos.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Con la presencia de Mark Shuttleworth, el mentor de una de las distribuciones de Software Libre más populares del planeta, las Jornadas Regionales prometen ser un evento de alto nivel tanto en lo técnico como en lo filosófico. Shuttleworth se suma a un número importante de panelistas internacionales, entre los que podemos citar a John 'Maddog' Hall (Presidente de Linux International), Chris Hoffman (Director de ingeniería y proyectos especiales de la Fundación Mozilla), Raymond Hettinger (Python Software Foundation), Rik van Riel (Ingeniero senior de Red Hat Linux), Dag Wieers, el kernel hacker Christoph Hellwig y Mario Bonilla (Ingeniero responsable&lt;br /&gt;de clusters en Google Irlanda).&lt;br /&gt;Las Jornadas son gratuitas pero la acreditación es imprescindible, ya que se espera un promedio de 2 mil asistentes para los tres días de evento. El programa previsto de conferencias incluye unas siete sesiones en paralelo, con segmentación según perfiles y temáticas. Habrá charlas eminentemente técnicas y muy avanzadas, así como también ponencias para principiantes, talleres introductorios, y charlas de alto contenido filosófico y político sobre temas relacionados a Software Libre, derechos de autor, libertad de acceso al conocimiento y privacidad en Internet.&lt;br /&gt;Como cada año, estas jornadas contarán también con mesas para los sponsors y los diferentes grupos de las comunidades de software y cultura libre que, según se espera, llegarán a Buenos Aires procedentes de diferentes partes del país y la región.&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;span style="font-family:arial,helvetica,sans-serif;"&gt;&lt;strong class="moz-txt-star"&gt;Sobre el software libre&lt;span class="moz-txt-tag"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;Los programas de computadora libres son aquellos cuya licencia otorga a usuarios y desarrolladores cuatro libertades definidas a mediados de los años 80 por la Fundación del Software Libre, a saber:&lt;br /&gt;&lt;br /&gt;0. la libertad de usar el programa con cualquier propósito&lt;br /&gt;1. la libertad de estudiar cómo funcionan y adaptarlo a las propias necesidades&lt;br /&gt;2. la libertad de hacer y distribuir copias (aún cobrando por ellas)&lt;br /&gt;3. la libertad de realizar mejoras y distribuir las versiones mejoradas.&lt;br /&gt;&lt;br /&gt;El movimiento de Software Libre se ha convertido en los últimos años en un movimiento que trasciende el campo técnico para ser un actor importante en la defensa de la libertad de expresión, del libre intercambio de cultura y de la defensa del derecho a la intimidad en internet. De su filosofía han surgido movimientos vinculados al campo de la cultura y el conocimiento libre. Los grupos sociales vinculados al Software Libre se articulan a través de grupos de usuarios, asociaciones, organizaciones, universidades, y empresas que tendrán, todas ellas, un espacio importante en las Jornadas Regionales de Software Libre.&lt;br /&gt;&lt;br /&gt;&lt;strong class="moz-txt-star"&gt;Sobre las Jornadas Regionales de Software Libre&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;Este evento itinerante se viene realizando en la región desde el año 2000 y ya ha pasado por las ciudades de Montevideo, Rosario, Córdoba y Mendoza. Este año, el Grupo de Usuarios de Software Libre de Capital Federal tiene como meta la organización de este evento que con el correr de los años se ha convertido en una de las citas imprescindibles de los usuarios y comunidades de Software Libre del Cono Sur.&lt;br /&gt;Más información, inscripción y cronograma de charlas están disponibles en:&lt;br /&gt;&lt;a href="http://www.jornadasregionales.org/" class="moz-txt-link-freetext"&gt;http://www.jornadasregionales.org&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Nota de braianet&lt;/span&gt;: Problamente (yo) asista al evento =). Si a alguien le  gustaria contactarse conmigo (aunque no creo XD) para charlas sobre software libre, musica, politica, moda ja o lo que venga puede hacerlo con gusto =) y arreglamos un punto de encuentro. Saludos!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-8753188272628292103?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/8753188272628292103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=8753188272628292103&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/8753188272628292103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/8753188272628292103'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/08/mark-shuttleworth-el-padre-de-ubuntu-en.html' title='Mark Shuttleworth, el padre de Ubuntu en Buenos Aires'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_qoMj8Cxqh50/SJXP5jKu8pI/AAAAAAAAAWU/FmJMpEDLAW4/s72-c/splash-home-es.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-4248529227945964431</id><published>2008-07-31T15:24:00.000-07:00</published><updated>2008-07-31T16:34:25.943-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Varios'/><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Operadores de busqueda para Google</title><content type='html'>&lt;div class="documentacion"&gt;     &lt;div&gt;&lt;span title="Google"&gt;&lt;b style="color: rgb(51, 102, 255);" class="azul"&gt;G&lt;/b&gt;&lt;b style="color: rgb(255, 0, 0);" class="rojo"&gt;o&lt;/b&gt;&lt;b style="color: rgb(255, 255, 0);" class="nara"&gt;o&lt;/b&gt;&lt;b style="color: rgb(51, 102, 255);" class="azul"&gt;g&lt;/b&gt;&lt;b style="color: rgb(0, 153, 0);" class="verd"&gt;l&lt;/b&gt;&lt;b style="color: rgb(255, 0, 0);" class="rojo"&gt;e&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;/span&gt;tiene algunas formas de buscar páginas utilizando sus "palabras clave".&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;allinanchor&lt;/span&gt;:&lt;/b&gt; Seguido de varias palabras, te da resultados de páginas en la que están todas las palabras en el enlace.&lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;allintext&lt;/span&gt;:&lt;/b&gt; Seguido de varias palabras, te da resultados de páginas en la que están todas las palabras en la página.&lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;allintitle&lt;/span&gt;:&lt;/b&gt; Seguido de varias palabras, te da resultados de páginas en la que están todas las palabras en el título.&lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;allinurl&lt;/span&gt;:&lt;/b&gt; Seguido de varias palabras, te da resultados de la búsqueda de todas esas palabras en la URL.&lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;author&lt;/span&gt;:&lt;/b&gt; &lt;i&gt;(Sólo funciona en &lt;span title="Google"&gt;&lt;b class="azul"&gt;G&lt;/b&gt;&lt;b class="rojo"&gt;o&lt;/b&gt;&lt;b class="nara"&gt;o&lt;/b&gt;&lt;b class="azul"&gt;g&lt;/b&gt;&lt;b class="verd"&gt;l&lt;/b&gt;&lt;b class="rojo"&gt;e&lt;/b&gt;&lt;/span&gt; Groups)&lt;/i&gt; Busca en los grupos artículos escritos por el nombre o la dirección de correo que le pasemos.&lt;/div&gt;     &lt;div&gt;&lt;b style="color: rgb(255, 102, 0);"&gt;bphonebook&lt;/b&gt; Si le pasas un lugar o dirección, te da el número de teléfono.&lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;cache&lt;/span&gt;:&lt;/b&gt; Seguido de una URL, te mostrará la página en caché.&lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;datarange&lt;/span&gt;:&lt;/b&gt; &lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;define&lt;/span&gt;:&lt;/b&gt; Seguido de una palabra, te da la definición.&lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;ext&lt;/span&gt;:&lt;/b&gt; &lt;i&gt;ver&lt;/i&gt; &lt;b&gt;filetype&lt;/b&gt;.&lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;filetype&lt;/span&gt;:&lt;/b&gt; Seguido de una extenisó determinada, busca documentos en ese tipo de fichero.&lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;group&lt;/span&gt;:&lt;/b&gt; &lt;i&gt;(Sólo funciona en &lt;span title="Google"&gt;&lt;b class="azul"&gt;G&lt;/b&gt;&lt;b class="rojo"&gt;o&lt;/b&gt;&lt;b class="nara"&gt;o&lt;/b&gt;&lt;b class="azul"&gt;g&lt;/b&gt;&lt;b class="verd"&gt;l&lt;/b&gt;&lt;b class="rojo"&gt;e&lt;/b&gt;&lt;/span&gt; Groups)&lt;/i&gt; Te restringe la búsqueda con el grupo que le pases.&lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;groups&lt;/span&gt;:&lt;/b&gt; &lt;i&gt;ver&lt;/i&gt; &lt;b&gt;group&lt;/b&gt;.&lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;id&lt;/span&gt;:&lt;/b&gt;  &lt;i&gt;ver&lt;/i&gt; &lt;b&gt;info&lt;/b&gt;.&lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;inanchor&lt;/span&gt;:&lt;/b&gt; Sólo la primera palabra de las que le siguen, ha de estar en el enlace.&lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;info&lt;/span&gt;:&lt;/b&gt; Seguido de una URL, mostrará una página con enlaces relacionados, páginas que contiene esa URL...&lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;insubject&lt;/span&gt;:&lt;/b&gt; &lt;i&gt;(Sólo funciona en &lt;span title="Google"&gt;&lt;b class="azul"&gt;G&lt;/b&gt;&lt;b class="rojo"&gt;o&lt;/b&gt;&lt;b class="nara"&gt;o&lt;/b&gt;&lt;b class="azul"&gt;g&lt;/b&gt;&lt;b class="verd"&gt;l&lt;/b&gt;&lt;b class="rojo"&gt;e&lt;/b&gt;&lt;/span&gt; Groups)&lt;/i&gt; Busca en el asunto del mensaje.&lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;intext&lt;/span&gt;:&lt;/b&gt; Sólo la primera palabra de las que le siguen, te da resultados de páginas en la que esté la palabra en la página.&lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;intitle&lt;/span&gt;:&lt;/b&gt; Sólo la primera palabra de las que le siguen, ha de estar en el título.&lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;inurl&lt;/span&gt;:&lt;/b&gt; Sólo la primera de las palabras que le siguen, ha de estar en la URL.&lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;link&lt;/span&gt;:&lt;/b&gt; Seguido de una URL, te encuentra todas aquellas páginas que enlazan con la URL dada.&lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;location&lt;/span&gt;:&lt;/b&gt; &lt;i&gt;(Sólo funciona en &lt;span title="Google"&gt;&lt;b class="azul"&gt;G&lt;/b&gt;&lt;b class="rojo"&gt;o&lt;/b&gt;&lt;b class="nara"&gt;o&lt;/b&gt;&lt;b class="azul"&gt;g&lt;/b&gt;&lt;b class="verd"&gt;l&lt;/b&gt;&lt;b class="rojo"&gt;e&lt;/b&gt;&lt;/span&gt; News)&lt;/i&gt; Si le pasas un país a la búsqueda, te restringe los resultados a ese país.&lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;msgid&lt;/span&gt;:&lt;/b&gt; &lt;i&gt;(Sólo funciona en &lt;span title="Google"&gt;&lt;b class="azul"&gt;G&lt;/b&gt;&lt;b class="rojo"&gt;o&lt;/b&gt;&lt;b class="nara"&gt;o&lt;/b&gt;&lt;b class="azul"&gt;g&lt;/b&gt;&lt;b class="verd"&gt;l&lt;/b&gt;&lt;b class="rojo"&gt;e&lt;/b&gt;&lt;/span&gt; Groups)&lt;/i&gt; Busca el mensaje con ese ID.&lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;phonebook&lt;/span&gt;:&lt;/b&gt; Te dará resultados de teléfonos con las palabras que le siguen.&lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;related&lt;/span&gt;:&lt;/b&gt; Seguido de una URL, tiene el mismo efecto qe cuando se pulsa sobre el enlace de "Enlaces Relacionados".&lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;rphonebook&lt;/span&gt;:&lt;/b&gt; Te dará resultados de teléfonos residenciales con las palabras que le siguen.&lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;site&lt;/span&gt;:&lt;/b&gt; Seguido de un dominio, te da los resultados de la búsqueda sólo en ese dominio. &lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;source&lt;/span&gt;:&lt;/b&gt; &lt;i&gt;(Sólo funciona en &lt;span title="Google"&gt;&lt;b class="azul"&gt;G&lt;/b&gt;&lt;b class="rojo"&gt;o&lt;/b&gt;&lt;b class="nara"&gt;o&lt;/b&gt;&lt;b class="azul"&gt;g&lt;/b&gt;&lt;b class="verd"&gt;l&lt;/b&gt;&lt;b class="rojo"&gt;e&lt;/b&gt;&lt;/span&gt; News)&lt;/i&gt; Te limita las búsquedas al &lt;i&gt;medio de comunicación&lt;/i&gt; que le indiques.&lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;spell&lt;/span&gt;:&lt;/b&gt; &lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;stocks&lt;/span&gt;:&lt;/b&gt; Seguido de un código de Bolsa, te dará los datos concretos.&lt;/div&gt;     &lt;div&gt;&lt;b&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;store&lt;/span&gt;:&lt;/b&gt; &lt;i&gt;(Sólo funciona en &lt;span title="Froogle"&gt;&lt;b class="azul"&gt;F&lt;/b&gt;&lt;b class="verd"&gt;r&lt;/b&gt;&lt;b class="rojo"&gt;o&lt;/b&gt;&lt;b class="nara"&gt;o&lt;/b&gt;&lt;b class="azul"&gt;g&lt;/b&gt;&lt;b class="verd"&gt;l&lt;/b&gt;&lt;b class="rojo"&gt;e&lt;/b&gt;&lt;/span&gt;)&lt;/i&gt; Te limita las búsquedas a un determinado comercio.&lt;br /&gt;&lt;br /&gt;Fuente: &lt;a href="http://www.googlemania.com/palabras.php"&gt;http://www.googlemania.com/palabras.php&lt;/a&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/6301813106398565950-4248529227945964431?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/4248529227945964431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=4248529227945964431&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/4248529227945964431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/4248529227945964431'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/07/operadores-de-busqueda-para-google.html' title='Operadores de busqueda para Google'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-1319597305836393015</id><published>2008-07-31T15:15:00.000-07:00</published><updated>2008-07-31T15:22:03.566-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Como funciona el DNS</title><content type='html'>&lt;p&gt;El DNS se utiliza principalmente para la resolución de nombres, esto es, decidir qué dirección IP pertenece a determinado nombre completo de host.&lt;/p&gt; &lt;h2&gt;Usos del DNS &lt;/h2&gt; &lt;p&gt;El DNS se utiliza para distintos propósitos. Los más comunes son: &lt;/p&gt; &lt;ul&gt;&lt;li&gt; Resolución de nombres: Dado el nombre completo de un host (por ejemplo blog.smaldone.com.ar), obtener su dirección IP (en este caso, 208.97.175.41). &lt;/li&gt;&lt;li&gt; Resolución inversa de direcciones: Es el mecanismo inverso al anterior. Consiste en, dada una dirección IP, obtener el nombre asociado a la misma. &lt;/li&gt;&lt;li&gt; Resolución de servidores de correo: Dado un nombre de dominio (por ejemplo gmail.com) obtener el servidor a través del cual debe realizarse la entrega del correo electrónico (en este caso, gmail-smtp-in.l.google.com). &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Por tratarse de un sistema muy flexible, es utilizado también para muchas otras funciones, tales como la obtención de claves públicas de cifrado asimétrico y la validación de envío de e-mails (a través de mecanismos como SPF). Terminología básica &lt;/p&gt;&lt;p&gt;Antes de proseguir, es necesario introducir algunos términos básicos para evitar confusiones y ambigüedades. Otros términos más complejos serán tratados más adelante. &lt;/p&gt; &lt;dl&gt;&lt;dt&gt;Host Name&lt;/dt&gt;&lt;dd&gt; El nombre de un host es una sola "palabra" (formada por letras, números y guiones). Ejemplos de nombres de host son "www", "blog" y "obelix". &lt;/dd&gt;&lt;dt&gt;Fully Qualified Host Name (FQHN)&lt;/dt&gt;&lt;dd&gt; Es el "nombre completo" de un host. Está formado por el hostname, seguido de un punto y su correspondiente nombre de dominio. Por ejemplo, "blog.smaldone.com.ar" &lt;/dd&gt;&lt;dt&gt;Domain Name&lt;/dt&gt;&lt;dd&gt; El nombre de dominio es una sucesión de nombres concatenados por puntos. Algunos ejemplos son "smaldone.com.ar", "com.ar" y "ar". &lt;/dd&gt;&lt;dt&gt;Top Level Domains (TLD)&lt;/dt&gt;&lt;dd&gt; Los dominios de nivel superior son aquellos que no pertenecen a otro dominio. Ejemplos de este tipo son "com", "org", "ar" y "es". &lt;/dd&gt;&lt;/dl&gt;&lt;h2&gt;Arquitectura del DNS &lt;/h2&gt; &lt;p&gt;El sistema DNS funciona principalmente en base al protocolo UDP. Los requerimientos se realizan a través del puerto 53. &lt;/p&gt;&lt;p&gt;El sistema está estructurado en forma de "árbol". Cada nodo del árbol está compuesto por un grupo de servidores que se encargan de resolver un conjunto de dominios (zona de autoridad). Un servidor puede delegar en otro (u otros) la autoridad sobre alguna de sus sub-zonas (esto es, algún subdominio de la zona sobre la que él tiene autoridad). Un subdominio puede verse como una especialización de un dominio de nivel anterior. Por ejemplo, "smaldone.com.ar" es un subdominio de "com.ar", que a su vez lo es del TLD "ar". &lt;/p&gt;&lt;p&gt;El siguiente diagrama ilustra esto a través de un ejemplo: &lt;/p&gt; &lt;div class="center"&gt;&lt;div class="thumb tnone"&gt;&lt;div style="width: 402px;"&gt;&lt;a href="http://wiki.xtech.com.ar/index.php/Imagen:ZonasDNS.png" class="internal" title="Zonas y delegación"&gt;&lt;img src="http://wiki.xtech.com.ar/images/3/3f/ZonasDNS.png" alt="Zonas y delegación" longdesc="/index.php/Imagen:ZonasDNS.png" height="315" width="400" /&gt;&lt;/a&gt;  &lt;div class="thumbcaption"&gt;Zonas y delegación&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;Los servidores con autoridad sobre los TLD son los llamados "root servers" (o "servidores raíz") del sistema. Estos son fijos, ya que rara vez cambian, siendo actualmente 13. &lt;/p&gt;&lt;p&gt;Tomemos como ejemplo el dominio "com.ar". Este dominio pertenece al TLD "ar". &lt;/p&gt;&lt;p&gt;Los servidores con autoridad sobre el dominio "ar" son: &lt;/p&gt; &lt;pre&gt;ns-ar.ripe.net&lt;br /&gt;merapi.switch.ch&lt;br /&gt;uucp-gw-1.pa.dec.com&lt;br /&gt;uucp-gw-2.pa.dec.com&lt;br /&gt;ns.uu.net&lt;br /&gt;ns1.retina.ar&lt;br /&gt;athea.ar&lt;br /&gt;ctina.ar&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;En tanto que los servidores con autoridad sobre "com.ar" son: &lt;/p&gt; &lt;pre&gt;merapi.switch.ch&lt;br /&gt;relay1.mecon.gov.ar&lt;br /&gt;ns.uu.net&lt;br /&gt;ns1.retina.ar&lt;br /&gt;athea.ar&lt;br /&gt;ctina.ar&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Podemos ver que ns.uu.net, ns1.retina.ar, athea.ar y ctina.ar tienen autoridad tanto sobre "com.ar" como sobre "ar". &lt;/p&gt; &lt;div class="editsection" style="float: right; margin-left: 5px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a name="El_proceso_de_resoluci.C3.B3n_de_nombres"&gt;&lt;/a&gt;&lt;h2&gt; El proceso de resolución de nombres &lt;/h2&gt; &lt;p&gt;Cuando una aplicación (cliente) necesita resolver un FQHN envía un requerimiento al servidor de nombres configurado en el sistema (normalmente, el provisto por el ISP). A partir de entonces se desencadena el proceso de resolución del nombre: &lt;/p&gt; &lt;ol&gt;&lt;li&gt; El servidor de nombres inicial consulta a uno de los servidores raíz (cuya dirección IP debe conocer previamente). &lt;/li&gt;&lt;li&gt; Este devuelve el nombre del servidor a quien se le ha delegado la sub-zona. &lt;/li&gt;&lt;li&gt; El servidor inicial interroga al nuevo servidor. &lt;/li&gt;&lt;li&gt; El proceso se repite nuevamente a partir del punto 2 si es que se trata de una sub-zona delegada. &lt;/li&gt;&lt;li&gt; Al obtener el nombre del servidor con autoridad sobre la zona en cuestión, el servidor inicial lo interroga. &lt;/li&gt;&lt;li&gt; El servidor resuelve el nombre correspondiente, si este existe. &lt;/li&gt;&lt;li&gt; El servidor inicial informa al cliente el nombre resuelto. &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Ilustremos esto con un ejemplo concreto. Supongamos que el navegador necesita resolver el nombre "blog.smaldone.com.ar". &lt;/p&gt; &lt;ol&gt;&lt;li&gt; El sistema tiene configurado el servidor de nombres 200.49.156.3 (perteneciente al proveedor argentino Fibertel). Por lo tanto envía a éste el requerimiento de resolver "blog.smaldone.com.ar". &lt;/li&gt;&lt;li&gt; El servidor de 200.49.156.3 envía la consulta root server 198.41.0.4. &lt;/li&gt;&lt;li&gt; 198.41.0.4 le informa que el servidor con autoridad sobre "ar" es athea.ar, cuya dirección IP es 200.16.98.2. (En realidad, informa la lista de todos los servidores con tal autoridad, pero para simplificar el ejemplo tomaremos solamente uno.) &lt;/li&gt;&lt;li&gt; 200.49.156.3 envía nuevamente el requerimiento a athea.ar (el cual, recordemos, también tiene autoridad sobre "com.ar"). &lt;/li&gt;&lt;li&gt; athea.ar responde que la autoridad sobre smaldone.com.ar la tiene ns1.mydomain.com cuya dirección IP es 64.94.117.213. &lt;/li&gt;&lt;li&gt; 200.49.156.3 envía ahora la consulta a ns1.mydomain.com. &lt;/li&gt;&lt;li&gt; ns1.mydomain.com informa que la dirección IP de "blog.smaldone.com.ar" es 208.97.175.41. &lt;/li&gt;&lt;li&gt; Finalmente, 200.49.156.3 devuelve este resultado a la aplicación que originó la consulta. &lt;/li&gt;&lt;/ol&gt; &lt;div class="editsection" style="float: right; margin-left: 5px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a name="Mecanismos_de_cach.C3.A9"&gt;&lt;/a&gt;&lt;h2&gt; Mecanismos de caché &lt;/h2&gt; &lt;p&gt;Cada vez que un servidor de nombres envía una respuesta, lo hace adjuntando el tiempo de validez de la misma (TTL o "tiempo de vida"). Esto posibilita que el receptor, antes la necesidad de volver a resolver la misma consulta, pueda utilizar la información previamente obtenida en vez de realizar un nuevo requerimiento. &lt;/p&gt;&lt;p&gt;Esta es la razón por la cual los cambios realizados en el DNS no se propagan instantáneamente a través del sistema. Dependiendo de la naturaleza de los mismos (y de la configuración de cada servidor), la propagación puede tardar desde algunos minutos hasta varios días. Correo electrónico y resolución de nombres &lt;/p&gt;&lt;p&gt;Normalmente los usuarios de correo electrónico redactan su mensajes usando un cliente de correo y enviándolo a través de un servidor SMTP provisto por su ISP o a través de un sistema de correo vía web (webmail). En cualquier caso, una vez que el mensaje es recibido por el servidor, debe ser entregado al destinatario. Aquí interviene el sistema DNS: &lt;/p&gt; &lt;ol&gt;&lt;li&gt; El servidor del emisor solicita al DNS (de acuerdo al mecanismo analizado anteriormente), la entrada MX del dominio del receptor del mensaje. MX significa "mail exchanger", esto es, el nombre del servidor (o los servidores) encargado de recibir los mensajes destinados a determinado dominio. &lt;/li&gt;&lt;li&gt; El DNS devuelve el FQHN y la dirección IP del mail exchanger. &lt;/li&gt;&lt;li&gt; El servidor del emisor se conecta al puerto 25, mediante TCP, del servidor del destinatario y entrega el mensaje según el protocolo SMTP. &lt;/li&gt;&lt;li&gt; El proceso podrá continuar si el servidor receptor del mensaje no es el último de la cadena. Existen servidores que actúan como "puertas de enlace" o "gateways" de correo electrónico, y que se encargan de recibir los mensajes de determinados dominios para luego enviarlos a otros servidores. &lt;/li&gt;&lt;/ol&gt; &lt;div class="editsection" style="float: right; margin-left: 5px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a name="Tipos_de_registro_en_un_servidor_de_nombres"&gt;&lt;/a&gt;&lt;h2&gt; Tipos de registro en un servidor de nombres &lt;/h2&gt; &lt;p&gt;Un servidor de nombres puede almacenar distinta información. Para ello, en cada zona de autoridad dispondrá de entradas de distinto tipo. Entre los más importantes se encuentran: &lt;/p&gt; &lt;dl&gt;&lt;dt&gt;A (Address)&lt;/dt&gt;&lt;dd&gt; Este registro se utiliza para traducir nombres de hosts del dominio en cuestión a direcciones IP. &lt;/dd&gt;&lt;dt&gt;CNAME (Canonical Name)&lt;/dt&gt;&lt;dd&gt; El nombre canónico es un alias para un host determinado. (No define una dirección IP, sino un nuevo nombre.) &lt;/dd&gt;&lt;dt&gt;NS (Name Server)&lt;/dt&gt;&lt;dd&gt; Especifica el servidor (o servidores) de nombres para un dominio. &lt;/dd&gt;&lt;dt&gt;MX (Mail Exchange)&lt;/dt&gt;&lt;dd&gt; Define el servidor encargado de recibir el correo electrónico para el dominio. &lt;/dd&gt;&lt;dt&gt;PTR (Pointer)&lt;/dt&gt;&lt;dd&gt; Especifica un "registro inverso", a la inversa del registro A, permitiendo la traducción de direcciones IP a nombres. &lt;/dd&gt;&lt;dt&gt;TXT (Text)&lt;/dt&gt;&lt;dd&gt; Permite asociar información adicional a un dominio. Esto se utiliza para otros fines, como el almacenamiento de claves de cifrado, "DomainKeys" o "Sender Policy Framework". &lt;/dd&gt;&lt;/dl&gt; &lt;div class="editsection" style="float: right; margin-left: 5px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a name="Bind.2C_.22el.22_servidor_de_nombres"&gt;&lt;/a&gt;&lt;h2&gt; Bind, "el" servidor de nombres &lt;/h2&gt; &lt;p&gt;Prácticamente el único software utilizado en los servidores de nombres de Internet es bind ("Berkeley Internet Name Domain"), creado originalmente en la Universidad de California, y actualmente propiedad del Internet Systems Consortium. &lt;/p&gt;&lt;p&gt;Este programa, distribuido bajo una licencia libre, es utilizado en prácticamente todos los sistemas Unix del mundo. Esto ha sido considerado un problema de seguridad, al punto que se ha propuesto la migración de algunos root servers a otro sistema, ya que la aparición de algún problema de seguridad en bind podría implicar la caída de todo el DNS de Internet. Uso del DNS en una red local &lt;/p&gt;&lt;p&gt;Ya en redes de tamaño medio (quizás más de 5 equipos) es conveniente la utilización de DNS. Esto nada tiene que ver con el DNS de Internet (aunque el servidor local puede estar vinculado a este sistema). &lt;/p&gt;&lt;p&gt;Básicamente, es conveniente montar un servidor local de DNS por los siguientes motivos: &lt;/p&gt; &lt;dl&gt;&lt;dt&gt;Agilizar el acceso a Internet&lt;/dt&gt;&lt;dd&gt; Al tener un servidor de nombres en nuestra propia red local (que acceda al DNS de nuestro proveedor o directamente a los root servers) se agiliza el mecanismo de resolución de nombres, manteniendo en caché los nombres recientemente usados en la red y disminuyendo el tráfico hacia/desde Internet. &lt;/dd&gt;&lt;dt&gt;Simplificar la administración de la red local&lt;/dt&gt;&lt;dd&gt; Al contar con un DNS propio (ya sea uno o varios servidores de nombres) es posible definir zonas locales (no válidas ni accesibles desde Internet) para asignar nombres a cada uno de los hosts de la LAN. De esta forma es posible, por ejemplo, referirnos a la impresora de red como "hplaser.mired.local" en vez de "192.168.0.2" y a nuestro servidor de correo interno como "smtp.mired.local" en vez de "192.168.0.3". (Pensemos, por ejemplo, que ocurriría con las configuraciones de las aplicaciones si un día decidimos cambiar el esquema de direcciones IP de nuestra red.) &lt;/dd&gt;&lt;/dl&gt; &lt;div class="editsection" style="float: right; margin-left: 5px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a name="Problemas_del_DNS"&gt;&lt;/a&gt;&lt;h2&gt; Problemas del DNS &lt;/h2&gt; &lt;p&gt;El principal problema que presenta el DNS es que, al estar basado en UDP (protocolo de transporte que no garantiza la recepción de la información enviada), tanto las consultas como las respuestas pueden "perderse" (por ejemplo, a causa de congestionamiento en algún enlace de la red). Es común apreciar cómo, en el caso de servidores y redes no muy bien configuradas, la resolución de nombres se resiente sensiblemente ante cualquier anomalía (saturación de tráfico o del servidor de nombres local). &lt;/p&gt;&lt;p&gt;Otro inconveniente, que ya hemos hecho notar, es la lentitud de la propagación de las modificaciones en el sistema, producto de la propia arquitectura del mismo. &lt;/p&gt;&lt;p&gt;Pero quizás el mayor problema no sea inherente al sistema mismo, sino a la pésima configuración de los servidores de muchos ISP. Fibertel, el proveedor que utilizo, es un notable ejemplo de esta falencia. Una buena solución a esta situación es ejecutar un servidor de nombres en alguna PC de la red local, de forma tal que se comunique directamente con los root servers (evitando de esta forma pasar a través de los servidores de nombres de nuestro proveedor). Herramientas para aprender más &lt;/p&gt;&lt;p&gt;En sistemas Unix el comando dig (ver "man dig") permite realizar requerimientos "a mano" para poder investigar un poco más sobre el funcionamiento del DNS y, cómo no, también para detectar y solucionar problemas en la red. &lt;/p&gt;&lt;p&gt;Los usuarios de sistemas Windows disponen del comando nslookup (aunque no tan potente como dig), para el mismo propósito. Lectura adicional &lt;/p&gt; &lt;pre&gt;   * La página de Wikipedia sobre DNS contiene bastante información y buenos enlaces sobre este tema.&lt;br /&gt;* El "DNS Cómo" explica la configuración de bind en GNU/Linux.&lt;br /&gt;* El &lt;a href="http://www.ietf.org/rfc/rfc1591.txt" class="external" title="http://www.ietf.org/rfc/rfc1591.txt"&gt;RFC 1591&lt;/a&gt; explica detalladamente la estructura del DNS.&lt;br /&gt;* Los &lt;a href="http://www.ietf.org/rfc/rfc1034.txt" class="external" title="http://www.ietf.org/rfc/rfc1034.txt"&gt;RFC 1034&lt;/a&gt; y 1035 (ambos en inglés), describen completamente el DNS.&lt;br /&gt;&lt;/pre&gt; &lt;div class="editsection" style="float: right; margin-left: 5px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a name="Fuente"&gt;&lt;/a&gt;&lt;h2&gt; Fuente &lt;/h2&gt; &lt;p&gt;Este articulo ha sido tomado de la siguiente &lt;a href="http://blog.smaldone.com.ar/2006/12/05/como-funciona-el-dns/" class="external text" title="http://blog.smaldone.com.ar/2006/12/05/como-funciona-el-dns/" rel="nofollow"&gt;fuente&lt;/a&gt;. El mismo tiene la siguiente &lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/ar/deed.es_AR" class="external text" title="http://creativecommons.org/licenses/by-nc-sa/2.5/ar/deed.es_AR" rel="nofollow"&gt;licencia Creative Commons&lt;/a&gt;. Algunas correcciones menores se han realizado para ajustarla a los fines de este sitio. &lt;/p&gt;&lt;p&gt;Muchas Gracias a Javier Smaldone por escribirlo de una manera tan simple y amena.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Fuente: &lt;a href="http://wiki.xtech.com.ar/index.php/Como_funciona_el_DNS"&gt;wiki.xtech.com.ar&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-1319597305836393015?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/1319597305836393015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=1319597305836393015&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/1319597305836393015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/1319597305836393015'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/07/como-funciona-el-dns.html' title='Como funciona el DNS'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-7276241818193985185</id><published>2008-07-20T06:12:00.000-07:00</published><updated>2008-07-20T06:24:06.002-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programas'/><title type='text'>GNU Mensajes -  Envía SMS a todo el mundo!</title><content type='html'>&lt;span style="font-weight: bold;"&gt;GNU Mensajes&lt;/span&gt; es un software de código libre, con el cual se pueden enviar mensajes de texto(SMS) a diferentes compañías telefónicas.&lt;br /&gt;Funciona perfectamente en cualquier versión de Windows (98 / ME / NT / 2000 / XP / 2003 / Vista).&lt;br /&gt;También &lt;span style="font-weight: bold;"&gt;funciona en Linux y Solaris&lt;/span&gt; mediante &lt;span style="font-weight: bold;"&gt;WINE&lt;/span&gt; (actualmente 90% funcional)&lt;br /&gt;Existe una versión Portable para pendrive(Solo funcional en Windows).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Algunas de las funciones de GNU Mensajes:&lt;/b&gt;&lt;br /&gt;- Envío de Mensajes de Texto.&lt;br /&gt;- Detección de Proveedor Telefónico (solo para Argentina)&lt;br /&gt;- Historial de Mensajes enviados.&lt;br /&gt;- Agenda de Contactos.&lt;br /&gt;- Importar/Exportar agenda de contactos.&lt;br /&gt;- Lenguaje Mate.&lt;br /&gt;- Abreviaturas pre-configuradas.&lt;br /&gt;- Importar/Exportar abreviaturas pre-configuradas.&lt;br /&gt;- Saludos pre-configurados.&lt;br /&gt;- Firmas pre-configuradas.&lt;br /&gt;- Caras, caritas, dibujos ASCII.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Compañías telefónicas soportadas:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Argentina - Claro&lt;br /&gt;Argentina - Conectel&lt;br /&gt;Argentina - Movistar&lt;br /&gt;Argentina - Nextel&lt;br /&gt;Argentina - Personal&lt;br /&gt;Argentina - Skytel&lt;br /&gt;Canada - Fido&lt;br /&gt;Canada - Rogers&lt;br /&gt;Chile - Bellsouth&lt;br /&gt;Chile - Entel PCs&lt;br /&gt;Chile - Smartcom&lt;br /&gt;Colombia - Bellsouth&lt;br /&gt;Ecuador - Bellsouth&lt;br /&gt;España - Vodafone&lt;br /&gt;Estados Unidos - AT&amp;amp;T&lt;br /&gt;Estados Unidos - Bellsouth&lt;br /&gt;Estados Unidos - Cingular&lt;br /&gt;Estados Unidos - Sprint&lt;br /&gt;Estados Unidos - T-Mobile&lt;br /&gt;Estados Unidos - U Text&lt;br /&gt;Estados Unidos - Verizon Wireless&lt;br /&gt;Honduras - Celtel&lt;br /&gt;Italia - Vodafone&lt;br /&gt;Inglaterra - Orange&lt;br /&gt;Mexico - Iusacell&lt;br /&gt;Mexico - Nextel&lt;br /&gt;Paraguay - Tigo&lt;br /&gt;Paraguay - Vox&lt;br /&gt;Portugal - Telcel&lt;br /&gt;Venezuela - Telcel Bellsouth&lt;br /&gt;Venezuela - Movilnet&lt;br /&gt;Venezuela – Movistar&lt;br /&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;b&gt;&lt;div style="text-align: center;"&gt;IMÁGENES&lt;/div&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;GNU Mensajes en Windows XP&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img id="imagen" src="http://www.gnumensajes.org/images/gnu/WindowsXP.gif" width="500" border="0" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;GNU Mensajes en Ubuntu 8.04 (utilizando Wine)&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img id="imagen" src="http://www.gnumensajes.org/images/gnu/Ubuntu.gif" width="500" border="0" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;GNU Geo integrado!!! (Detecta a que empresa corresponde un número telefónico)&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img id="imagen" src="http://www.gnumensajes.org/images/gnu/Geo.gif" border="0" /&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: left;"&gt;&lt;b&gt;&lt;div style="text-align: center;"&gt;&lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/b&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://downloads.sourceforge.net/gnumensajes/gnumensajes100.exe?use_mirror=osdn"&gt;Descargar GNU Mensajes 1.0.0&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Links:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.gnumensajes.org"&gt;Página Oficial de GNU Mensajes&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gnumensajes.org/" target="_blank"&gt;&lt;/a&gt;&lt;a href="http://www.gnumensajes.org/foro/"&gt;Foro Oficial del Proyecto GNU Mensaje&lt;/a&gt;&lt;a href="http://www.gnumensajes.org/foro/"&gt;s&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.gnumensajes.org/foro/" target="_blank"&gt;&lt;/a&gt;&lt;a href="http://www.gnumensajes.org/index.php?view=article&amp;amp;catid=36%3Ainstalacion&amp;amp;id=48%3Ainstalacion-en-linux-wine&amp;amp;option=com_content&amp;amp;Itemid=58"&gt;Tutorial para Instalar GNU Mensajes en Linux (mediante Wine)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gnumensajes.org/index.php?view=article&amp;amp;catid=36%3Ainstalacion&amp;amp;id=48%3Ainstalacion-en-linux-wine&amp;amp;option=com_content&amp;amp;Itemid=58" target="_blank"&gt;&lt;/a&gt;&lt;br /&gt;Fuente: &lt;a href="http://linuxzarpele.blogspot.com/2008/07/gnu-mensajes-software-para-enviar-sms.html"&gt;Linuxzarpele&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-7276241818193985185?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/7276241818193985185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=7276241818193985185&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/7276241818193985185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/7276241818193985185'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/07/gnu-mensajes-enva-sms-todo-el-mundo.html' title='GNU Mensajes -  Envía SMS a todo el mundo!'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-7867772113134762670</id><published>2008-07-17T15:56:00.000-07:00</published><updated>2008-07-17T15:58:31.226-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sistema'/><category scheme='http://www.blogger.com/atom/ns#' term='Howto'/><title type='text'>Uso de Gawk o awk</title><content type='html'>&lt;h4&gt;Copyright  2005-2008 Sergio González Durán&lt;br /&gt;Se concede permiso para copiar, distribuir y/o modificar este documento siempre y cuando se cite al autor y la fuente de linuxtotal.com.mx y según los términos de la &lt;a href="http://www.gnu.org/licenses/translations.html"&gt;GNU Free Documentation License&lt;/a&gt;, Versión 1.2 o cualquiera posterior publicada por la Free Software Foundation.&lt;/h4&gt;  &lt;h3&gt;autor: sergio.gonzalez.duran@gmail.com&lt;/h3&gt;&lt;br /&gt;&lt;hr /&gt; &lt;!-- INICIO DEL ARTICULO --&gt; &lt;p&gt;&lt;code&gt;awk&lt;/code&gt; o la versión GNU &lt;code&gt;gawk&lt;/code&gt; es más que un simple comando de procesamiento de patrones, es todo un lenguaje de análisis semántico. Su dominio es como aprender todo un lenguaje de programación, pero en esta ocasión veremos unos ejemplos de su potencia en unos casos sencillos de análisis de patrones de cadenas, espero te sirvan de base para que puedas aprender aun más sobre esta interesante herramienta.&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;Ejemplo 1: Una lista personalizada de usuarios para HTML&lt;/h2&gt; &lt;p&gt;Una línea típica de &lt;em&gt;/etc/passwd&lt;/em&gt; es como la siguiente:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;luis:x:504:504:Luis Hernandez:/home/luis:/bin/bash&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Bien, supongamos que deseamos un listado de todos los usuarios normales (personas) del sistema, pero solo necesitamos su nombre de usuario, su nombre o real y su shell por defecto, es decir, si vemos la línea anterior, la separación entre campos es ":" asi que para nuestro reporte queremos el campo 1,5 y 7. Pero además, este reporte será parte de una tabla HTML, asi que sería bueno si puderian incluirse de una vez las etquietas " y " necesarias de una vez. Es decir, el resultado deseado es el siguiente:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;luisLuis Hernandez/bin/bash&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;El primer paso es determinar los usuarios normales del sistema, podríamos usar un &lt;code&gt;grep "home" /etc/passw | gawk ...&lt;/code&gt;, pero podría haber usuarios que tengan su HOME en otra ubicación, además se trata de usar solo &lt;code&gt;awk&lt;/code&gt;, asi que lo primero que entenderemos es que los campos obtenidos del resultado de un comando awk, se numeran por $1, $2, etc. y el delimitador de campos se indica mediante la variable "FS".&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; gawk '{print $3}' FS=":" /etc/passwd&lt;br /&gt;0&lt;br /&gt;1&lt;br /&gt;2&lt;br /&gt;...&lt;br /&gt;81&lt;br /&gt;86&lt;br /&gt;500&lt;br /&gt;501&lt;br /&gt;502&lt;br /&gt;503&lt;br /&gt;504&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Aunque no muy útil todavía, podemos ver como seleccionamos el caracter separador &lt;em&gt;FS=":"&lt;/em&gt;, que viene de 'Field Separator', y tenemos indicada una acción '{print $3}', que significa imprime el campo 3. Aunque realmente no lo queremos imprimir, lo queremos evaluar, y si deseamos imprimir el $1, $5 y $7 que se mencionarion previamente, asi que agregamos una expresión de evaluación antes de la acción:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; awk '$3 &gt;= 500 {print $1 $5 $7 }' FS=":" /etc/passwd&lt;br /&gt;sergonSergio Gonzalez/bin/bash&lt;br /&gt;valeriaValeria Perez/bin/bash&lt;br /&gt;fernandaFernanda Lozano/bin/sh&lt;br /&gt;alejandraAlejandra Lopez/bin/nologin&lt;br /&gt;luisLuis Hernandez/bin/bash&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Mucho mejor, agregamos '$3 &gt;= 500' previo a la acción (que es imprimir lo que deseamos), ya que como se sabe en la mayoría de distros modernas, los usuarios normales del sistema se numeran del 500 en adelante (&lt;a href="http://www.linuxtotal.com.mx/index.php?cont=info_admon_008"&gt;más&lt;/a&gt; sobre administración de usuarios). Nótese que los campos en el resultado salen pegados, es necesario agregar entre comillas " ", ya sea un espacio o lo que se desee, en este caso etiquetas de tablas de HTML y además ordenaremos "sort" los registros obtenidos:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; awk  '$3 &gt;= 500 {print ""$1""$5""$7"" | "sort" }' FS=":" /etc/passwd&lt;br /&gt;alejandraAlejandra Lopez/bin/nologin&lt;br /&gt;fernandaFernanda Lozano/bin/sh&lt;br /&gt;luisLuis Hernandez/bin/bash&lt;br /&gt;sergonSergio Gonzalez/bin/bash&lt;br /&gt;valeriaValeria Perez/bin/bash&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;h2&gt;Ejemplo 2: Una lista personalizado de usuarios para reporte&lt;/h2&gt; &lt;p&gt;Ahora veamos como crear una lista similar a la anterior pero especificando un par de líneas de títulos al inicio:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; awk 'BEGIN { print "Usuario UID Shell\n------- --- -----" } $3 &gt;= 500 { print $1, $3, $7 | "sort -r"}' FS=":" /etc/passwd&lt;br /&gt;Usuario UID Shell&lt;br /&gt;------- --- -----&lt;br /&gt;valeria 501 /bin/bash&lt;br /&gt;sergon 500 /bin/bash&lt;br /&gt;luis 504 /bin/bash&lt;br /&gt;fernanda 502 /bin/sh&lt;br /&gt;alejandra 503 /bin/nologin&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Iniciamos con la sentencia BEGIN (que tiene varios usos, checa el manual) que en este caso nos permite indicar lo que se imprimirá una sola vez, en este caso los títulos, un retorno '\n' y guiones para separar los títulos, después viene de nuevo la evaluación ya conocida y ahora al indicar la impresión de los campos 'print $1, $3, $7', los separé por comas, que automáticamente añade un espacio, y solo para aumentar el ejemplo, el ordenamiento es ahora al revés 'sort -r'.&lt;/p&gt; &lt;p&gt;Pero podemos ver en la salida, que los registros no se acomodan bien con respecto a los títulos, con dos o tres campos tal vez resulte fácil añadir espacios o tabuladores '\t' para hacer el acomodo, pero en varios campos será realmente frustrante lograrlo. Mejor usamos 'printf':&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; awk 'BEGIN { print "Usuario      UID Shell\n------------ ---- ----------" } $3 &gt;= 500 \&lt;br /&gt;{ printf "%12s %4d %10s\n", $1, $3, $7 | "sort -r"}' FS=":" /etc/passwd&lt;br /&gt;Usuario      UID Shell&lt;br /&gt;------------ ---- ----------&lt;br /&gt;   valeria  501  /bin/bash&lt;br /&gt;    sergon  500  /bin/bash&lt;br /&gt;      luis  504  /bin/bash&lt;br /&gt;  fernanda  502    /bin/sh&lt;br /&gt; alejandra  503 /bin/nologin&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Sigo usando 'print' para los títulos, pero ahora uso 'printf' que me permite formatear la salida, la sintaxis es 'printf "formato", $1, $2'. Cada formato comienza con '%' después el número de posiciones seguido del tipo de campo 's' para string, 'd' para enteros, etc. '%12s' 12 posiciones de tipo cadena. (checar el manual para el resto de formatos de printf), termino el formato con un salto de línea '\n'. Pero como se puede apreciar por defecto las cadenas se justifican a la derecha y en este caso las deseamos a la izquierda, esto se arregla agregando un '-' guión en el indicador de formato de la siguiente manera '%-12s', el resultado correcto sería el siguiente:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;# awk 'BEGIN { print "Usuario      UID Shell\n------------ ---- ----------" } $3 &gt;= 500 \&lt;br /&gt;{ printf "%-12s %4d %-10s\n", $1, $3, $7 | "sort -r"}' FS=":" /etc/passwd&lt;br /&gt;Usuario      UID  Shell&lt;br /&gt;------------ ---- ----------&lt;br /&gt;valeria       501 /bin/bash&lt;br /&gt;sergon        500 /bin/bash&lt;br /&gt;luis          504 /bin/bash&lt;br /&gt;fernanda      502 /bin/sh &lt;br /&gt;alejandra     503 /bin/nologin&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;h2&gt;Ejemplo 3: Extrayendo campos sin posición fija&lt;/h2&gt; &lt;p&gt;Hay ocasiones en que no se tiene exactamente la posición de los campos a extraer, asi que usaremos otra técnica basada en el número total de campos encontrados. En este caso, necesitamos la variable "NF" (Number of Fields) que representa el total de campos encontrados. Y usaremos como caracter separador FS el espacio, es decir &lt;em&gt;FS=" "&lt;/em&gt;, pero dado que el espacio es el separador por defecto no es necesario indicarlo.&lt;/p&gt; &lt;p&gt;Como ejemplo, veamos la salida del comando &lt;code&gt;uptime&lt;/code&gt;:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;$&gt; uptime&lt;br /&gt;19:32:15 up  2:28,  1 user,  load average: 1.75, 1.54, 1.54&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Y deseamos crear un pequeño script que de como resultado el siguiente:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;$&gt; ./carga&lt;br /&gt;carga actual del sistema: 1min=1.75, 5min=1.54, 15min=1.54&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Como se puede observar, se necesitan los tres últimos campos, aparentemente los campos $8, $9 y $10. Pero el problema esta en que conforme pasa el tiempo, el comando &lt;code&gt;uptime&lt;/code&gt; mostrará de hecho más campos, ya que el que en este momento es el $3 '2:28' después de unos días puede quedar asi '3 days 3:50', asi que al usar NF nos dará el total de campos, veamos:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;$&gt; uptime | gawk '{print NF}'&lt;br /&gt;gt; uptime | gawk '{print NF}'&lt;br /&gt;10&lt;br /&gt;&lt;br /&gt;&lt;span class="t2"&gt;(Podemos usar NF no como varibale del total de campos sino como variable de contenido con $NF)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;$&gt; uptime | gawk '{print $NF}'&lt;br /&gt;1.33&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Entendiendo lo anterior, es fácil de deducir entonces que los campos requeridos son entonces NF-2, NF-1, NF es decir, los tres últimos, y no importará cuantos campos haya en el resultado.&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;$&gt; uptime | gawk '{print $(NF - 2), $(NF - 1), $NF}'&lt;br /&gt;0.72, 0.54, 0.47&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;  &lt;p&gt;El script quedaría entonces así:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#!/bin/bash&lt;br /&gt;echo "Carga actual del sistema: "&lt;br /&gt;uptime | gawk '{print "1min:"$(NF - 2), "5min:"$(NF - 1), "15min:"$NF}'&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Fuente: &lt;a href="http://www.linuxtotal.com.mx/index.php?cont=info__tips_021"&gt;Linuxtotal.com.mx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-7867772113134762670?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/7867772113134762670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=7867772113134762670&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/7867772113134762670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/7867772113134762670'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/07/uso-de-gawk-o-awk.html' title='Uso de Gawk o awk'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-7904834603705719145</id><published>2008-07-17T07:14:00.000-07:00</published><updated>2008-07-17T07:51:02.868-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Personal'/><title type='text'>Un pirulo más…</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_qoMj8Cxqh50/SH9bixbFKsI/AAAAAAAAAWM/p8pmxxz1q7U/s1600-h/feliz_cumple_gx.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_qoMj8Cxqh50/SH9bixbFKsI/AAAAAAAAAWM/p8pmxxz1q7U/s320/feliz_cumple_gx.png" alt="" id="BLOGGER_PHOTO_ID_5223994745713666754" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Hoy es mi cumpleaños, cumplo 18...huy ahora puedo tener problemas legales jaja XD. Mmm que dificil es esta edad, en realidad nose si será de esta manera la vida siempre, pero pienso que es el momento que uno decide que va a ser con la misma y la verdad tengo mas dudas que certezas...es decir nose si el resto de mi vida seguiré con esto, que se yo. Solo sé que no va con mis valores seguir enfrente de una pc mientras el mundo sigue así...&lt;br /&gt;Desde los 11 tengo una pc en casa, y desde ese momento empecé a aprender todo lo que podía sobre informática, primero con windows 98, Xp, reparación de pcs,redes y luego con lo que me cambió la manera de observar todo: Gnu/Linux. La filosofía de libertad y compartir información me llenó profundamente...&lt;br /&gt;Pero me siento vacío, como decir: "Haaa esto era el mundo de las redes, esto era el hacking??, va al final la culpa el 90% es del usuario, y mediante ingeniería social se obtiene todo, es decir, nisiquiera es necesario una computadora para hacerse rico, todo esta en torno a la mentira, si uno desea ser rico sin importarle los demás, con Ing. Social puede hacerlo en un par de días..."&lt;br /&gt;Y eso me dió asco, si una persona se propone puede verderle un animal a otra persona diciendole que es un gato y en realidad es un perro, solo es necesario inundarlo de imagenes televisivas, recargarlo de llamadas y llenarlo de volantes, inundar su casilla de mail, darle un perfume de regalo, etc...&lt;br /&gt;Pufff así es el mundo...&lt;br /&gt;Todo tiene un valor, la voluntad de las personas, el pensamiento, todo se compra y encima es muy común, tanto que ya nos parece normal.&lt;br /&gt;&lt;br /&gt;Por eso, les dejo mis humildes consejos: conserven su valor, su voluntad, su pensamientos, que nadie les robe nada, escuchen y sepan escuchar, sean felices y dejen ser feliz a los demás y principalmente traten de devolver una sonrisa y hacer sonreir. Jueguense por lo que buscan, arriesguense y no se queden atrás. Pidan disculpas cuando lástiman a alguien, se sentirán mejor y harán sentir mejor.&lt;br /&gt;El camino de la felicidad está en cada uno de nosotros...&lt;br /&gt;Bueno espero que cada uno encuentre su camino y llegue a ser lo que deseó sin destruir el entorno en el que vivimos.&lt;br /&gt;&lt;br /&gt;Sean felices. Saludos!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-7904834603705719145?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/7904834603705719145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=7904834603705719145&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/7904834603705719145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/7904834603705719145'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/07/un-pirulo-ms.html' title='Un pirulo más…'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_qoMj8Cxqh50/SH9bixbFKsI/AAAAAAAAAWM/p8pmxxz1q7U/s72-c/feliz_cumple_gx.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-815320757425137677</id><published>2008-07-13T13:30:00.000-07:00</published><updated>2008-07-13T14:43:30.512-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Consola'/><category scheme='http://www.blogger.com/atom/ns#' term='Sistema'/><category scheme='http://www.blogger.com/atom/ns#' term='Howto'/><category scheme='http://www.blogger.com/atom/ns#' term='Arch Linux'/><title type='text'>Montar pendrive o disco extraible manualmente en Gnu/Linux</title><content type='html'>Bueno seguimos con el montado de discos, recomiendo que lean el anterior &lt;a href="http://braianet.blogspot.com/2008/07/uuid-labels-particiones-y-fstab.html"&gt;articulo sobre UUID&lt;/a&gt; entre otras cosas y claro para comprender que estamos haciendo tener conocimientos sobre el &lt;a href="http://braianet.blogspot.com/2008/06/sobre-el-fstab.html"&gt;fstab&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Muchas veces tenemos la necesidad de montar un disco extraible o un pendrive, en mi caso tengo un reproductor de MP3 y prácticamente es lo mismo en el funcionamiento de almacenamiento.&lt;br /&gt;Prosigamos...&lt;br /&gt;&lt;br /&gt;Se acuerdan que no tengo instalado &lt;a href="http://braianet.blogspot.com/2008/01/configurando-grabadora-de-cdsdvds-yo.html"&gt;HAL&lt;/a&gt;, por lo tanto, cuando yo conecte un disco extraible voy a tener que montarlo manualmente, o en el mejor de los casos, agregarlo al fichero /etc/fstab para que al iniciar el equipo lo monte automáticamente o que se mantenga en estado de espera, es decir esperando ser montado al ser detectado.&lt;br /&gt;&lt;br /&gt;Primero conectemos el dispositivo y luego verificamos(como root) que aparezca en el listado de discos del comando &lt;span style="font-weight: bold;"&gt;fdisk&lt;/span&gt;.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[root@ArchLinux braianet]# fdisk -l&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Disco /dev/sda: 40.0 GB, 40020664320 bytes&lt;/span&gt;&lt;br /&gt;255 heads, 63 sectors/track, 4865 cylinders&lt;br /&gt;Units = cilindros of 16065 * 512 = 8225280 bytes&lt;br /&gt;Disk identifier: 0x4c2ba12c&lt;br /&gt;&lt;br /&gt;Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema&lt;br /&gt;/dev/sda1   *           2        2365    18988830    7  HPFS/NTFS&lt;br /&gt;/dev/sda2            2366        4675    18555075   83  Linux&lt;br /&gt;/dev/sda3            4761        4865      843412+  82  Linux swap / Solaris&lt;br /&gt;/dev/sda4            4676        4760      682762+  83  Linux&lt;br /&gt;&lt;br /&gt;Las entradas de la tabla de particiones no están en el orden del disco&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Disco /dev/sdb: 15.0 GB, 15020457984 bytes&lt;/span&gt;&lt;br /&gt;16 heads, 63 sectors/track, 29104 cylinders&lt;br /&gt;Units = cilindros of 1008 * 512 = 516096 bytes&lt;br /&gt;Disk identifier: 0x90909090&lt;br /&gt;&lt;br /&gt;Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema&lt;br /&gt;/dev/sdb1               1        1008      508000+  82  Linux swap / Solaris&lt;br /&gt;/dev/sdb2   *        1009       15540     7324128   83  Linux&lt;br /&gt;/dev/sdb3           15541       29104     6836256   83  Linux&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Disco /dev/sdc: 522 MB, 522043904 bytes&lt;/span&gt;&lt;br /&gt;17 heads, 59 sectors/track, 1016 cylinders&lt;br /&gt;Units = cilindros of 1003 * 512 = 513536 bytes&lt;br /&gt;Disk identifier: 0x20736f63&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Esto no parece una tabla de particiones&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Probablemente ha seleccionado el dispositivo que no era.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;/dev/sdc1   ?     1911394     2454136   272185273   6f  Desconocido&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;La partición 1 tiene distintos principios físicos/lógicos (¿no Linux?):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; físicos=(361, 101, 36) lógicos=(1911393, 0, 3)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;La partición 1 tiene distintos finales físicos/lógicos:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; físicos=(255, 115, 46) lógicos=(2454135, 5, 27)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;La partición 1 no termina en un límite de cilindro.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;/dev/sdc2   ?     1338820     2115804   389657273   69  Desconocido&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;La partición 2 tiene distintos principios físicos/lógicos (¿no Linux?):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; físicos=(100, 101, 32) lógicos=(1338819, 12, 59)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;La partición 2 tiene distintos finales físicos/lógicos:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; físicos=(367, 115, 35) lógicos=(2115803, 6, 6)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;La partición 2 no termina en un límite de cilindro.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;/dev/sdc3   ?      168145      168145           0   20  Desconocido&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;La partición 3 tiene distintos principios físicos/lógicos (¿no Linux?):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; físicos=(353, 117, 46) lógicos=(168144, 10, 47)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;La partición 3 tiene distintos finales físicos/lógicos:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; físicos=(355, 116, 37) lógicos=(168144, 10, 46)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;La partición 3 no termina en un límite de cilindro.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;/dev/sdc4         2877051     2877106       27619    0  Vacía&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;La partición 4 tiene distintos principios físicos/lógicos (¿no Linux?):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; físicos=(0, 0, 0) lógicos=(2877050, 0, 3)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;La partición 4 tiene distintos finales físicos/lógicos:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; físicos=(0, 0, 0) lógicos=(2877105, 1, 16)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;La partición 4 no termina en un límite de cilindro.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Las entradas de la tabla de particiones no están en el orden del disco&lt;/span&gt;&lt;br /&gt;[root@ArchLinux braianet]#&lt;br /&gt;&lt;/pre&gt;Las líneas azules, nos indican los diferentes discos y lo que marque de rojo es una falencia en el sistema de archivos del reproductor de mp3, porque como sabrán, tiene una partición para su propio sistema(fabricante, firmware, etc), no se preocupen por esto.&lt;br /&gt;&lt;br /&gt;Bueno el disco extraible se encuentra en:&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Disco /dev/sdc: 522 MB, 522043904 bytes&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Ahora lo &lt;span style="font-weight: bold;"&gt;montaremos manualmente&lt;/span&gt; si necesitan utilizarlo solo una vez, al ser montado como root, solo él puede modificar su contenido:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Método común&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;# mkdir /media/MP3&lt;br /&gt;# mount -t vfat /dev/sdc /media/MP3&lt;br /&gt;&lt;br /&gt;Lo que hicimos fué crear un directorio en /media llamado MP3 y luego montarlo. El parámetro&lt;span style="font-weight: bold;"&gt; -t&lt;/span&gt; es para el &lt;span style="font-weight: bold;"&gt;tipo&lt;/span&gt;, en este caso es un&lt;span style="font-weight: bold;"&gt; sistema fat32&lt;/span&gt;(vfat lo llama linux).&lt;br /&gt;/dev/sdc es la ruta para el dispositivo, y /media/MP3 el directorio donde se montará.&lt;br /&gt;&lt;br /&gt;Esta opcion nos quitará mas de un apuro pero no lo recomiendo si van a utilizar el disco extraíble continuamente.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Método modificando el Fstab&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Llegamos a lo que necesitaba, este artículo en sí, lo hice para explicar esto, pero no podía empezar asi de la nada. Es la mejor opción si no cuenta con hal.&lt;br /&gt;&lt;br /&gt;Obtenemos el UUID del disco extraíble:&lt;br /&gt;&lt;pre&gt;[root@ArchLinux braianet]# blkid&lt;br /&gt;/dev/sda1: UUID="100CA78D0CA76D02" TYPE="ntfs"&lt;br /&gt;/dev/sda2: UUID="5e716466-9f33-44c3-8455-383c8d1e9a10" SEC_TYPE="ext2" TYPE="ext3"&lt;br /&gt;/dev/sda3: TYPE="swap" UUID="fe97b59c-3776-452c-9232-65966a5cc230"&lt;br /&gt;/dev/sda4: UUID="11f5a43a-5904-47bf-845d-8d95ac8730d4" SEC_TYPE="ext2" TYPE="ext3"&lt;br /&gt;/dev/sdb1: TYPE="swap" UUID="70c4f0be-c6a0-449e-b2f2-b9689d1f93b6"&lt;br /&gt;/dev/sdb2: UUID="dfa49bd0-dd2c-4c76-a318-a044fc691a6a" SEC_TYPE="ext2" TYPE="ext3"&lt;br /&gt;/dev/sdb3: UUID="7824e60c-2dfd-4919-88df-b672eea43400" SEC_TYPE="ext2" TYPE="ext3"&lt;br /&gt;/dev/sdc: LABEL="BR414N" &lt;span style="color: rgb(51, 51, 255);"&gt;UUID="7453-103F"&lt;/span&gt; TYPE="vfat"&lt;br /&gt;[root@ArchLinux braianet]#&lt;br /&gt;&lt;/pre&gt;Modificamos el fstab y agregamos:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;UUID&lt;/span&gt;=&lt;span style="color: rgb(255, 0, 0);"&gt;7453-103F &lt;/span&gt;/media/MP3 &lt;span style="color: rgb(51, 51, 255);"&gt;vfat&lt;/span&gt; &lt;span style="color: rgb(51, 204, 0);"&gt;rw,noauto,user,async,gid=100&lt;/span&gt;     &lt;span style="color: rgb(255, 0, 0);"&gt;0       0  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Explicación:&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;rw&lt;/span&gt;: significa lectura y escritura.&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;noauto&lt;/span&gt;: significa que no se monte cuando inicie el sistema, ya que puede no estar conectado.&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;user&lt;/span&gt;:Permite a cualquier usuario del sistema montar o desmontar un dispositivo físico sin necesidad de ser root.&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;async: &lt;/span&gt;Con esto hacemos que las operaciones que realicemos no se hagan de forma asíncrona. Elegi esta opcion porque me funcionó mas rápido,aunque sync es mejor para no tener un solo error.&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;gid&lt;/span&gt;: el grupo especificado tiene el control sobre los archivos del dispositivo. En mi caso el el numero 100 que es el grupo &lt;span style="font-weight: bold;"&gt;users&lt;/span&gt;, ustedes pueden tener otro número, consulten con el comando &lt;span style="font-weight: bold;"&gt;id&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Ahora solo nos queda teclear &lt;span style="font-weight: bold;"&gt;mount /dev/sdc&lt;/span&gt; como usuario normal y listo o si tienen &lt;span style="font-weight: bold;"&gt;Gnome&lt;/span&gt; cuando lo conecten ya les mostrá el ícono, solo será necesario hacer click&lt;br /&gt;Si quieren demontarlo y no saben porque le tira el error:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[root@ArchLinux Pascal]# umount /dev/sdc&lt;br /&gt;umount: /media/MP3: dispositivo ocupado&lt;br /&gt;umount: /media/MP3: dispositivo ocupado&lt;br /&gt;&lt;/pre&gt;Utilicen el comando &lt;a href="http://braianet.blogspot.com/2008/02/usos-de-lsof.html"&gt;lsof&lt;/a&gt; para saber que es lo que esta impidiendo al mismo, ahí nos muestra el PID y si desean matar el proceso utilicen el comando &lt;span style="font-weight: bold;"&gt;kill&lt;/span&gt;.&lt;br /&gt;&lt;pre&gt;[root@ArchLinux Pascal]# lsof /dev/sdc&lt;br /&gt;COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME&lt;br /&gt;bash    3042 root  cwd    DIR   8,32     4096 3884 /media/MP3/Pascal&lt;br /&gt;lsof    3312 root  cwd    DIR   8,32     4096 3884 /media/MP3/Pascal&lt;br /&gt;lsof    3313 root  cwd    DIR   8,32     4096 3884 /media/MP3/Pascal&lt;br /&gt;[root@ArchLinux Pascal]#&lt;br /&gt;&lt;/pre&gt;Espero que le haya servido. Saludos!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-815320757425137677?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/815320757425137677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=815320757425137677&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/815320757425137677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/815320757425137677'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/07/montar-pendrive-o-disco-extraible.html' title='Montar pendrive o disco extraible manualmente en Gnu/Linux'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-4527903618438986804</id><published>2008-07-11T16:29:00.000-07:00</published><updated>2008-07-11T16:32:21.949-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Otros S.O'/><category scheme='http://www.blogger.com/atom/ns#' term='Consola'/><title type='text'>Comandos equivalentes del MS-DOS a Gnu/Linux</title><content type='html'>&lt;p&gt;Para los que han usado MS-DOS por muchos años y pretenden pasar a sistemas Linux, es muy útil tener una tabla con comandos equivalentes de ambos sistemas operativos.&lt;span id="more-182"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;A continuación, un listado con los comando más comunes:&lt;/p&gt;&lt;table border="1" cellpadding="1" cellspacing="1" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td bgcolor="#dddddd"&gt;Comando DOS&lt;/td&gt; &lt;td bgcolor="#dddddd"&gt;Comando Linux&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;cd directorio&lt;/td&gt; &lt;td&gt;cd directorio&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;dir, dir/w&lt;/td&gt; &lt;td&gt;ls, ls -l&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;chdir (directorio actual)&lt;/td&gt; &lt;td&gt;pwd&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;del (borra un archivo)&lt;/td&gt; &lt;td&gt;rm&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;deltree (borra un directorio y todo su contenido)&lt;/td&gt; &lt;td&gt;rm -r&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;copy&lt;/td&gt; &lt;td&gt;cp&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;xcopy (copia todo el contenido de un directorio)&lt;/td&gt; &lt;td&gt;cp -R&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;rename, move&lt;/td&gt; &lt;td&gt;mv&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;type (imprime el contenido de un archivo a la pantalla)&lt;/td&gt; &lt;td&gt;cat&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;help, [comando] /?&lt;/td&gt; &lt;td&gt;man&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;cls (limpia la pantalla)&lt;/td&gt; &lt;td&gt;clear&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;find (busca por una palabra(s) en un determinado archivo)&lt;/td&gt; &lt;td&gt;grep&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;fc (compara 2 archivos y encuentra diferencias entre ellos)&lt;/td&gt; &lt;td&gt;diff&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;set (muestra variable de entorno)&lt;/td&gt; &lt;td&gt;env&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;set variable (fija una variable de entorno)&lt;/td&gt; &lt;td&gt;export&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;edit nombre-de-archivo&lt;/td&gt; &lt;td&gt;vi archivo, pico archivo, nano -w archivo (varios basados en el editor de tu preferencia)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;attrib +h archivo (fija un archivo como oculto)&lt;/td&gt; &lt;td&gt;mv file .file&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;mem (muestra la memoria disponible)&lt;/td&gt; &lt;td&gt;free, top&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;scandisk&lt;/td&gt; &lt;td&gt;fsck&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;defrag c:\&lt;/td&gt; &lt;td&gt;debugfs&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;format&lt;/td&gt; &lt;td&gt;mke2fs, mk32fs -j, mkreiserfs, mkswap, etc. (varios basados en el sistema de archivos de tu preferencia)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;pkzip (crea un paquete de archivos)&lt;/td&gt; &lt;td&gt;tar, utilizado en conjunto con gzip para compresión)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;tracert&lt;/td&gt; &lt;td&gt;traceroute&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ipconfig (visualiza dirección IP y configuración de red)&lt;/td&gt; &lt;td&gt;ifconfig&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;nbtstat -a nombrehost (toma la información DNS de un determinado host)&lt;/td&gt; &lt;td&gt;nslookup nombrehost&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;route print (muestra tablas de ruteo)&lt;/td&gt; &lt;td&gt;route -n&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;net send host/ip message (envia un mensaje a otro computador)&lt;/td&gt; &lt;td&gt;smbclient -M Windows Host, talk (Linux hosts)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;Fuente: &lt;a href="http://www.archivogeek.com/linux/general/lista-de-comandos-equivalentes-de-ms-dos-en-linux/"&gt;archivogeek.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-4527903618438986804?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/4527903618438986804/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=4527903618438986804&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/4527903618438986804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/4527903618438986804'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/07/comandos-equivalentes-del-ms-dos.html' title='Comandos equivalentes del MS-DOS a Gnu/Linux'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-1577018295612558436</id><published>2008-07-11T08:54:00.000-07:00</published><updated>2008-07-11T16:29:23.459-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Geeki comic'/><title type='text'>Ganadores</title><content type='html'>&lt;embed src="http://revosoft.com.ar/win.swf" quality="high" bgcolor="#ffffff" name="marco2" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" align="middle" height="350" width="425"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;Fuente: &lt;a href="http://www.revosoft.com.ar/geeki/2007/12/10/ganadores/"&gt;Geeki&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-1577018295612558436?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/1577018295612558436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=1577018295612558436&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/1577018295612558436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/1577018295612558436'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/07/ganadores.html' title='Ganadores'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-3071322540008298439</id><published>2008-07-10T11:20:00.000-07:00</published><updated>2008-07-10T16:18:53.062-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Consola'/><category scheme='http://www.blogger.com/atom/ns#' term='Sistema'/><category scheme='http://www.blogger.com/atom/ns#' term='Howto'/><category scheme='http://www.blogger.com/atom/ns#' term='Arch Linux'/><title type='text'>UUID, Labels, Particiones y Fstab</title><content type='html'>Antes de comenzar a hablar sobre UUID y Labels es necesario conocer el funcionamiento del fichero /etc/fstab, pueden ingresar en la siguiente &lt;a href="http://braianet.blogspot.com/2008/06/sobre-el-fstab.html"&gt;entrada&lt;/a&gt; donde se habla del mismo.&lt;br /&gt;En la última versión de &lt;a href="http://braianet.blogspot.com/2008/06/estreno-archlinux-200806-overlord.html"&gt;Archlinux(Core Dump)&lt;/a&gt;, podemos observar que una de las características sobresaliente es la siguiente:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"- Se utilizan los UUID para una nomenclatura persistente de discos".&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A decir verdad, no tenía ni la menor idea de lo que significaba, claro hasta hoy que necesité montar un disco. Hacía mucho no montaba nada, luego de instalar &lt;a href="http://braianet.blogspot.com/2008/01/configurando-grabadora-de-cdsdvds-yo.html"&gt;hal&lt;/a&gt; ni me preocupaba por las conexiones usb o discos posteriores que pudiera conectar en mi máquina, ya que lo detectaba automáticamente...&lt;br /&gt;Pero no todo es color de rosa, en Gnome, hal me molestaba, noté una baja de velocidad al iniciar ya que detecta los discos u particiones que tuviese en el equipo, y bueno lo terminé desactivando.&lt;br /&gt;Ahora era necesario editar el fstab para poder montar de nuevo aquellas particiones desde el inicio y me encontré con algunas sorpresas, veamos que nos muestra /etc/fstab:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;# /etc/fstab: static file system information&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;# &amp;lt;filesystem&amp;gt;          &amp;lt;dir&amp;gt;      &amp;lt;type&amp;gt;     &amp;lt;options&amp;gt;   &amp;lt;dump&amp;gt;   &amp;lt;pass&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;none &lt;/span&gt;                  /dev/pts      devpts    defaults            0      0&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;none&lt;/span&gt; &lt;/span&gt;                  /dev/shm      tmpfs     defaults            0      0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/dev/cdrom /media/cdrom   auto    ro,user,noauto,unhide   0      0&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;UUID&lt;/span&gt;=&lt;span style="color: rgb(255, 0, 0);"&gt;70c4f0be-c6a0-449e-b2f2-b9689d1f93b6&lt;/span&gt; swap swap defaults 0 0&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;UUID&lt;/span&gt;=&lt;span style="color: rgb(255, 0, 0);"&gt;7824e60c-2dfd-4919-88df-b672eea43400&lt;/span&gt; /home ext3 defaults 0 1&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;UUID&lt;/span&gt;=&lt;span style="color: rgb(255, 0, 0);"&gt;dfa49bd0-dd2c-4c76-a318-a044fc691a6a&lt;/span&gt; / ext3 defaults 0 1&lt;br /&gt;&lt;/pre&gt;Como podrán observar ha aparecido un nuevo campo(columna) en la parte donde se declaran los discos, llamada &lt;span style="font-weight: bold;"&gt;UUID&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;u&gt;Algo de teoría&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Utilizando nombres persistentes en dispositivos de bloques:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Mientras que las distribuciones Gnu/Linux están evolucionando y la detección de hardware es más confiable, hay un número de nuevos problemas y también de nuevos cambios:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Si usted tiene más de un controlador de discos sata/scsi o ide, el orden en que es agregado al sistema es al azar. Esto da como resultados nombres de dispositivos como hd&lt;span style="font-weight: bold;"&gt;X&lt;/span&gt; y hd&lt;span style="font-weight: bold;"&gt;Y&lt;/span&gt; variando al azar con cada arranque. Lo mismo para los sd&lt;span style="font-weight: bold;"&gt;X&lt;/span&gt; y sd&lt;span style="font-weight: bold;"&gt;Y&lt;/span&gt;. El uso de nombres persistentes permite que el usuario no se tenga que preocupar de ninguna manera por esto.&lt;/li&gt;&lt;li&gt;Con la introducción del nuevo soporte para libata pata, todos los dispositivos &lt;span style="font-weight: bold;"&gt;hdX&lt;/span&gt; serán dispositivos &lt;span style="font-weight: bold;"&gt;sdX&lt;/span&gt; en el futuro. Nuevamente, con nombramientos persistente, puede ser que ni se note este cambio.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Máquinas con controladores &lt;span style="font-weight: bold;"&gt;sata&lt;/span&gt; e &lt;span style="font-weight: bold;"&gt;ide&lt;/span&gt; son bastante común hoy en día. Con los cambios libata mencionados anteriormente, el primer problema no se presentará, así que ambos discos, sata e ide tendrán nombres &lt;span style="font-weight: bold;"&gt;sdX&lt;/span&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;¿Qué nombre debo usar?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Hay cuatro métodos diferentes para utilizar nombres persistentes.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Por UUID (&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;by-uuid&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;)&lt;/span&gt;: UUID significa Identificador Único Universal(Universally Unique Identifier) y es un mecanismo para dar a cada sistema de archivos un identificador único. Esta diseñado para que las colisiones sean poco probables. Todos las sistemas de archivos de Gnu/Linux (incluyendo el swap) soportan UUID. Los sistemas de archivos FAT y NTFS no soportan UUID, pero se encuentran listados en "by-uuid" con una identificador único. Método Recomendado:&lt;br /&gt;&lt;pre&gt;[root@ArchLinux braianet]# ls -lF /dev/disk/by-uuid/&lt;br /&gt;total 0&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 &lt;span style="color: rgb(51, 51, 255);"&gt;100CA78D0CA76D02 -&gt; ../../sda1&lt;/span&gt;&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 11f5a43a-5904-47bf-845d-8d95ac8730d4 -&gt; ../../sda4&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 5e716466-9f33-44c3-8455-383c8d1e9a10 -&gt; ../../sda2&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 70c4f0be-c6a0-449e-b2f2-b9689d1f93b6 -&gt; ../../sdb1&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 7824e60c-2dfd-4919-88df-b672eea43400 -&gt; ../../sdb3&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 dfa49bd0-dd2c-4c76-a318-a044fc691a6a -&gt; ../../sdb2&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 fe97b59c-3776-452c-9232-65966a5cc230 -&gt; ../../sda3&lt;br /&gt;[root@ArchLinux braianet]#&lt;br /&gt;&lt;/pre&gt;Como puede ver, los particiones fat y ntfs (&lt;span style="color: rgb(51, 51, 255);"&gt;100CA78D0CA76D02 --&gt; NTFS&lt;/span&gt;) tienen nombres cortos, pero todavía están listado. La ventaja de usar el método "uuid" es que es mucho menos probable que puede tener una colisión que con labels (etiquetas); la desventaja es que son mucho más difícil de memorizar.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Por etiqueta(by-label)&lt;/span&gt;: &lt;span style="font-style: italic;"&gt;En Archlinux no contamos con este método.&lt;/span&gt;&lt;br /&gt;Casi todos los tipos de sistemas de archivos pueden usar un "label". Todos los particiones que tiene una están listada en el directorio /dev/disk/by-label:&lt;br /&gt;&lt;pre&gt;$ ls -lF /dev/disk/by-label&lt;br /&gt;total 0&lt;br /&gt;lrwxrwxrwx 1 root root 10 Oct 16 10:27 data -&gt; ../../sdb2&lt;br /&gt;lrwxrwxrwx 1 root root 10 Oct 16 10:27 data2 -&gt; ../../sda2&lt;br /&gt;lrwxrwxrwx 1 root root 10 Oct 16 10:27 fat -&gt; ../../sda6&lt;br /&gt;lrwxrwxrwx 1 root root 10 Oct 16 10:27 home -&gt; ../../sda7&lt;br /&gt;lrwxrwxrwx 1 root root 10 Oct 16 10:27 root -&gt; ../../sda1&lt;br /&gt;lrwxrwxrwx 1 root root 10 Oct 16 10:27 swap -&gt; ../../sda5&lt;br /&gt;lrwxrwxrwx 1 root root 10 Oct 16 10:27 windows -&gt; ../../sdb1&lt;br /&gt;&lt;/pre&gt;Puede cambiar estas etiquetas de la sistema de archivos utilizando estos comandos:&lt;br /&gt;&lt;pre&gt;* swap: Crear un nuevo área de intercambio, así: mkswap -L &lt;label&gt; /dev/XXX&lt;br /&gt;* ext2/ext3: e2label /dev/XXX &lt;/label&gt;&lt;label&gt;&lt;br /&gt;* reiserfs: reiserfstune -l &lt;/label&gt;&lt;label&gt; /dev/XXX&lt;br /&gt;* jfs: jfs_tune -L &lt;/label&gt;&lt;label&gt; /dev/XXX&lt;br /&gt;* xfs: xfs_admin -L &lt;/label&gt;&lt;label&gt; /dev/XXX&lt;br /&gt;* fat/vfat: No hay una herramienta en Linux para cambiar el etiqueta (label), pero al crear la sistema de archivos, utilizar mkdosfs -n &lt;/label&gt;&lt;label&gt; &lt;otras opciones=""&gt;.&lt;br /&gt;También puede cambiar la etiqueta de una sistema de archivos utilizando Windows.&lt;br /&gt;* ntfs: ntfslabel /dev/XXX &lt;/otras&gt;&lt;/label&gt;&lt;label&gt; o cambiarlo en Windows.&lt;br /&gt;&lt;/label&gt;&lt;/pre&gt;&lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;Tenga cuidado: Las etiquetas tienen que ser únicas para hacer este trabajo, a fin de asegurar su correcto funcionamiento. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Por Id (by-id):&lt;/span&gt;&lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt; Crea un nombre único en función del número de serie de hardware&lt;/span&gt;. Ej:&lt;br /&gt;&lt;pre&gt;[root@ArchLinux braianet]# ls -lF /dev/disk/by-id/&lt;br /&gt;total 0&lt;br /&gt;lrwxrwxrwx 1 root root  9 jul 10 12:24 ata-ST340823A_6EF0VBZA -&gt; ../../sda&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 ata-ST340823A_6EF0VBZA-part1 -&gt; ../../sda1&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 ata-ST340823A_6EF0VBZA-part2 -&gt; ../../sda2&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 ata-ST340823A_6EF0VBZA-part3 -&gt; ../../sda3&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 ata-ST340823A_6EF0VBZA-part4 -&gt; ../../sda4&lt;br /&gt;lrwxrwxrwx 1 root root  9 jul 10 12:24 ata-WDC_WD150AA-34BAA0_WD-WMA2N1336879 -&gt; ../../sdb&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 ata-WDC_WD150AA-34BAA0_WD-WMA2N1336879-part1 -&gt; ../../sdb1&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 ata-WDC_WD150AA-34BAA0_WD-WMA2N1336879-part2 -&gt; ../../sdb2&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 ata-WDC_WD150AA-34BAA0_WD-WMA2N1336879-part3 -&gt; ../../sdb3&lt;br /&gt;lrwxrwxrwx 1 root root  9 jul 10 12:24 scsi-SATA_ST340823A_6EF0VBZA -&gt; ../../sda&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 scsi-SATA_ST340823A_6EF0VBZA-part1 -&gt; ../../sda1&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 scsi-SATA_ST340823A_6EF0VBZA-part2 -&gt; ../../sda2&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 scsi-SATA_ST340823A_6EF0VBZA-part3 -&gt; ../../sda3&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 scsi-SATA_ST340823A_6EF0VBZA-part4 -&gt; ../../sda4&lt;br /&gt;lrwxrwxrwx 1 root root  9 jul 10 12:24 scsi-SATA_WDC_WD150AA-34BWD-WMA2N1336879 -&gt; ../../sdb&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 scsi-SATA_WDC_WD150AA-34BWD-WMA2N1336879-part1 -&gt; ../../sdb1&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 scsi-SATA_WDC_WD150AA-34BWD-WMA2N1336879-part2 -&gt; ../../sdb2&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 scsi-SATA_WDC_WD150AA-34BWD-WMA2N1336879-part3 -&gt; ../../sdb3&lt;br /&gt;[root@ArchLinux braianet]#&lt;br /&gt;&lt;/pre&gt;&lt;span style="font-weight: bold;"&gt;Por ruta (by-path)&lt;/span&gt;: &lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;Crea un nombre único, dependiendo de la ruta más corta física (de acuerdo a sysfs).&lt;/span&gt; &lt;span style="" onmouseover="_tipon(this)" onmouseout="_tipoff()"&gt;Ambos contienen cadenas para indicar al subsistema al que pertenecen &lt;i&gt;(es decir, "-ide-", por "by-path", y "ata-" por "by-id ')&lt;/i&gt; y, por lo tanto, no son adecuadas para la solución de los problemas mencionados en el principio de este artículo&lt;/span&gt;. No recomendado utilizar este método.&lt;br /&gt;&lt;pre&gt;[root@ArchLinux braianet]# ls -lF /dev/disk/by-path/&lt;br /&gt;total 0&lt;br /&gt;lrwxrwxrwx 1 root root  9 jul 10 12:24 pci-0000:00:00.1-scsi-0:0:0:0 -&gt; ../../sda&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 pci-0000:00:00.1-scsi-0:0:0:0-part1 -&gt; ../../sda1&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 pci-0000:00:00.1-scsi-0:0:0:0-part2 -&gt; ../../sda2&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 pci-0000:00:00.1-scsi-0:0:0:0-part3 -&gt; ../../sda3&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 pci-0000:00:00.1-scsi-0:0:0:0-part4 -&gt; ../../sda4&lt;br /&gt;lrwxrwxrwx 1 root root  9 jul 10 12:24 pci-0000:00:00.1-scsi-0:0:1:0 -&gt; ../../sdb&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 pci-0000:00:00.1-scsi-0:0:1:0-part1 -&gt; ../../sdb1&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 pci-0000:00:00.1-scsi-0:0:1:0-part2 -&gt; ../../sdb2&lt;br /&gt;lrwxrwxrwx 1 root root 10 jul 10 12:24 pci-0000:00:00.1-scsi-0:0:1:0-part3 -&gt; ../../sdb3&lt;br /&gt;lrwxrwxrwx 1 root root  9 jul 10 12:24 pci-0000:00:00.1-scsi-1:0:1:0 -&gt; ../../sr0&lt;br /&gt;[root@ArchLinux braianet]#&lt;br /&gt;&lt;/pre&gt;Basta de Teoría je. Ahora continuemos con mi objetivo, poder montar una partición, vemos las particiones en mi sistema con el comando fdisk -l:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[root@ArchLinux braianet]# fdisk -l&lt;br /&gt;&lt;br /&gt;Disco /dev/sda: 40.0 GB, 40020664320 bytes&lt;br /&gt;255 heads, 63 sectors/track, 4865 cylinders&lt;br /&gt;Units = cilindros of 16065 * 512 = 8225280 bytes&lt;br /&gt;Disk identifier: 0x4c2ba12c&lt;br /&gt;&lt;br /&gt;Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema&lt;br /&gt;/dev/sda1   *           2        2365    18988830    7  HPFS/NTFS&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;/dev/sda2            2366        4675    18555075   83  Linux&lt;/span&gt;&lt;br /&gt;/dev/sda3            4761        4865      843412+  82  Linux swap / Solaris&lt;br /&gt;/dev/sda4            4676        4760      682762+  83  Linux&lt;br /&gt;&lt;br /&gt;Las entradas de la tabla de particiones no están en el orden del disco&lt;br /&gt;&lt;br /&gt;Disco /dev/sdb: 15.0 GB, 15020457984 bytes&lt;br /&gt;16 heads, 63 sectors/track, 29104 cylinders&lt;br /&gt;Units = cilindros of 1008 * 512 = 516096 bytes&lt;br /&gt;Disk identifier: 0x90909090&lt;br /&gt;&lt;br /&gt;Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema&lt;br /&gt;/dev/sdb1               1        1008      508000+  82  Linux swap / Solaris&lt;br /&gt;/dev/sdb2   *        1009       15540     7324128   83  Linux&lt;br /&gt;/dev/sdb3           15541       29104     6836256   83  Linux&lt;br /&gt;[root@ArchLinux braianet]#&lt;br /&gt;&lt;/pre&gt;Quiero agregar &lt;span style="color: rgb(51, 51, 255);"&gt;/dev/sda2&lt;/span&gt; al fstab pero no conozco su UUID, ahora lo averiguaremos, tenemos dos opciones, una es haciendo un &lt;span style="font-weight: bold;"&gt;ls -l /dev/disk/by-uuid&lt;/span&gt; y la otra es utilizando el comando &lt;span style="font-weight: bold;"&gt;blkid&lt;/span&gt;, la segunda opción es la que recomiendo:&lt;br /&gt;&lt;pre&gt;[root@ArchLinux braianet]# &lt;span style="font-weight: bold;"&gt;blkid &lt;/span&gt;&lt;br /&gt;/dev/sda1: UUID="100CA78D0CA76D02" TYPE="ntfs"&lt;br /&gt;/dev/sda2: UUID="&lt;span style="color: rgb(51, 51, 255);"&gt;5e716466-9f33-44c3-8455-383c8d1e9a10&lt;/span&gt;" SEC_TYPE="ext2" TYPE="ext3"&lt;br /&gt;/dev/sda3: TYPE="swap" UUID="fe97b59c-3776-452c-9232-65966a5cc230"&lt;br /&gt;/dev/sda4: UUID="11f5a43a-5904-47bf-845d-8d95ac8730d4" SEC_TYPE="ext2" TYPE="ext3"&lt;br /&gt;/dev/sdb1: TYPE="swap" UUID="70c4f0be-c6a0-449e-b2f2-b9689d1f93b6"&lt;br /&gt;/dev/sdb2: UUID="dfa49bd0-dd2c-4c76-a318-a044fc691a6a" SEC_TYPE="ext2" TYPE="ext3"&lt;br /&gt;/dev/sdb3: UUID="7824e60c-2dfd-4919-88df-b672eea43400" SEC_TYPE="ext2" TYPE="ext3"&lt;br /&gt;[root@ArchLinux braianet]#&lt;br /&gt;&lt;/pre&gt;Ya obtuvimos su UUID, el tipo de sistema es ext2/3. Creamos un directorio en /media llamado Datos_Linux y lo agregamos al fstab:&lt;br /&gt;&lt;pre&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;# /etc/fstab: static file system information&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;# &amp;lt;filesystem&amp;gt;          &amp;lt;dir&amp;gt;      &amp;lt;type&amp;gt;     &amp;lt;options&amp;gt;   &amp;lt;dump&amp;gt;   &amp;lt;pass&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;none &lt;/span&gt;                  /dev/pts      devpts    defaults            0      0&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;none&lt;/span&gt; &lt;/span&gt;                  /dev/shm      tmpfs     defaults            0      0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/dev/cdrom /media/cdrom   auto    ro,user,noauto,unhide   0      0&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;UUID&lt;/span&gt;=&lt;span style="color: rgb(255, 0, 0);"&gt;70c4f0be-c6a0-449e-b2f2-b9689d1f93b6&lt;/span&gt; swap swap defaults 0 0&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;UUID&lt;/span&gt;=&lt;span style="color: rgb(255, 0, 0);"&gt;7824e60c-2dfd-4919-88df-b672eea43400&lt;/span&gt; /home ext3 defaults 0 1&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;UUID&lt;/span&gt;=&lt;span style="color: rgb(255, 0, 0);"&gt;dfa49bd0-dd2c-4c76-a318-a044fc691a6a&lt;/span&gt; / ext3 defaults 0 1&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;UUID=&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;5e716466-9f33-44c3-8455-383c8d1e9a10&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt; /media/Datos_Linux defaults 0 2&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/pre&gt;Bueno ya logré lo que buscaba, espero que les haya resultado útil el artículo, lo recomendable es utilizar el UUID en el Grub, así independientemente del lugar donde conecten sus discos se podrá bootear igual.&lt;br /&gt;&lt;br /&gt;Ejemplo de mi /boot/grub/menu.lst:&lt;br /&gt;&lt;pre&gt;# (0) Arch Linux&lt;br /&gt;title  Arch Linux (Core Dump)&lt;br /&gt;root   (hd1,1)&lt;br /&gt;kernel /boot/vmlinuz26 &lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;root=&lt;/span&gt;/dev/disk/by-uuid/dfa49bd0-dd2c-4c76-a318-a044fc691a6a&lt;/span&gt; ro&lt;br /&gt;initrd /boot/kernel26.img&lt;br /&gt;&lt;br /&gt;# (1) Arch Linux&lt;br /&gt;title  Arch Linux Fallback&lt;br /&gt;root   (hd1,1)&lt;br /&gt;kernel /boot/vmlinuz26 &lt;span style="color: rgb(255, 0, 0);"&gt;root=/dev/disk/by-uuid/dfa49bd0-dd2c-4c76-a318-a044fc691a6a&lt;/span&gt; ro&lt;br /&gt;initrd /boot/kernel26-fallback.img&lt;br /&gt;#&lt;br /&gt;# (1) Windows&lt;br /&gt;title Windows&lt;br /&gt;rootnoverify (hd0,0)&lt;br /&gt;makeactive&lt;br /&gt;chainloader +1&lt;br /&gt;[braianet@ArchLinux ~]$&lt;br /&gt;&lt;/pre&gt;Con Gnu/Linux siempre algo nuevo se aprende todos los días. Saludos!&lt;br /&gt;&lt;br /&gt;Referencias: &lt;a href="http://wiki.archlinux.org/index.php/Persistent_block_device_naming"&gt;wiki.archlinux.org&lt;/a&gt;, &lt;a href="http://dalealteclado.com/2007/11/uso-de-uuid-en-etcfstab-y-en-grub.html"&gt; dalealteclado.com&lt;/a&gt;, &lt;a href="http://manual.sidux.com/es/part-uuid-es.htm"&gt;manual.sidux.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-3071322540008298439?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/3071322540008298439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=3071322540008298439&amp;isPopup=true' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/3071322540008298439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/3071322540008298439'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/07/uuid-labels-particiones-y-fstab.html' title='UUID, Labels, Particiones y Fstab'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-7772595287892557585</id><published>2008-07-10T01:00:00.001-07:00</published><updated>2008-07-10T01:24:26.447-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Geeki comic'/><title type='text'>Poca memoria</title><content type='html'>&lt;embed src="http://revosoft.com.ar/coo.swf" quality="high" bgcolor="#ffffff" name="marco2" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" width="425" align="middle" height="350"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;Fuente: &lt;a href="http://www.revosoft.com.ar/geeki/2007/07/06/poca-memoria/"&gt;Geeki&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-7772595287892557585?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/7772595287892557585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=7772595287892557585&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/7772595287892557585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/7772595287892557585'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/07/poca-memoria.html' title='Poca memoria'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-3566264487359148002</id><published>2008-07-10T01:00:00.000-07:00</published><updated>2008-07-10T01:22:58.652-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sistema'/><category scheme='http://www.blogger.com/atom/ns#' term='Howto'/><category scheme='http://www.blogger.com/atom/ns#' term='Seguridad en Gnu/Linux'/><title type='text'>Howto de sudo, visudo, sudoers</title><content type='html'>&lt;h4&gt;Copyright  2005-2008 Sergio González Durán&lt;br /&gt;Se concede permiso para copiar, distribuir y/o modificar este documento siempre y cuando se cite al autor y la fuente de linuxtotal.com.mx y según los términos de la &lt;a href="http://www.gnu.org/licenses/translations.html"&gt;GNU Free Documentation License&lt;/a&gt;, Versión 1.2 o cualquiera posterior publicada por la Free Software Foundation.&lt;/h4&gt;  &lt;h3&gt;autor: sergio.gonzalez.duran@gmail.com&lt;/h3&gt; &lt;hr /&gt; &lt;span style="color:blue;"&gt;&lt;span class="mas" onclick="ejecutar_ajax_indice('indices.php?ind=5')"&gt;[ÍNDICE...]&lt;/span&gt;&lt;/span&gt;  &lt;!-- INICIO DEL ARTICULO --&gt; &lt;p&gt;En ambientes donde varios usuarios usan uno o más sistemas GNU/Linux, es necesario otorgar distintos permisos o privilegios para que estos puedan hacer uso de comandos propios del usuario administrador 'root'. Totalmente fuera de lugar e impensable es 'entregar' la contraseña de root para que los usuarios puedan hacer uso de los programas propios de sus funciones pero que son propiedad de 'root'. Por otro lado, hacer uso del comando &lt;span class="t1"&gt;su&lt;/span&gt; tampoco es práctico porque es lo mismo, necesitan la contraseña de root, asi que la mejor alternativa es hacer uso de &lt;span class="t1"&gt;sudo&lt;/span&gt;.&lt;/p&gt; &lt;p&gt;¿Exáctamente que es y que hace &lt;span class="t1"&gt;sudo&lt;/span&gt;?. sudo permite implementar un control de acceso altamente granulado de que usuarios ejecutan que comandos. Si un usuario normal desea ejecutar un comando de root (o de cualquier otro usuario), &lt;span class="t1"&gt;sudo&lt;/span&gt; verifica en su lista de permisos y si está permitido la ejecución de ese comando para ese usuario, entonces &lt;span class="t1"&gt;sudo&lt;/span&gt; se encarga de ejecutarlo. Es decir, &lt;span class="t1"&gt;sudo&lt;/span&gt; es un programa que basado en una lista de control (/etc/sudoers) permite (o no) la ejecución al usuario que lo invocó sobre un determinado programa propiedad de otro usuario, generalmente del administrador del sistema 'root'.&lt;/p&gt; &lt;p&gt;&lt;span class="t1"&gt;sudo&lt;/span&gt;, para fines prácticos se puede dividir en tres partes:&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;sudo, el comando con permisos de SUID, que los usuarios usan para ejecutar otros comandos a los que se les permite usar.&lt;/li&gt;&lt;li&gt;visudo, el comando que permite al administrador modificar /etc/sudoers.&lt;/li&gt;&lt;li&gt;/etc/sudoers, el archivo de permisos que le indica a &lt;span class="t1"&gt;sudo&lt;/span&gt; que usuarios ejecutan cuáles comandos.&lt;/li&gt;&lt;/ul&gt;   &lt;h2&gt;&lt;a name="sudo"&gt;sudo&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;&lt;span class="t1"&gt;sudo&lt;/span&gt; (SUperuser DO) lo ejecuta un usuario normal, al que se supone tiene permisos para ejecutar cierto comando. Entonces, &lt;span class="t1"&gt;sudo&lt;/span&gt; requiere que los usuarios se autentifiquen a si mismos a través de su contraseña para permitirles la ejecución del comando. Veamos un ejemplo:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;$ sudo /sbin/ifconfig&lt;br /&gt;Password:&lt;br /&gt;eth0      Link encap:Ethernet  HWaddr 4C:00:10:60:5F:21&lt;br /&gt;    inet addr:200.13.110.62  Bcast:200.13.110.255  Mask:255.255.255.0&lt;br /&gt;    inet6 addr: fe80::4e00:10ff:fe60:5f21/64 Scope:Link&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Como se podrá observar se usa el comando &lt;span class="t1"&gt;sudo&lt;/span&gt; seguido del comando (con toda su ruta si es que este no esta en el PATH del usuario) al que se tiene permiso. &lt;span class="t1"&gt;sudo&lt;/span&gt; pregunta por la contraseña del usuario que ejecuta el comando y listo.&lt;/p&gt; &lt;p&gt;Por defecto, después de hacer lo anterior tendrás 5 minutos para volver a usar el mismo comando u otros a los que tuvieras derecho, sin necesidad de ingresar la contraseña de nuevo. Si se quiere extender el tiempo por otros 5 minutos usa la opción &lt;em&gt;sudo -v&lt;/em&gt; (validate). Por el contario, si ya terminaste lo que tenías que hacer, puedes usar &lt;em&gt;sudo -k&lt;/em&gt; (kill) para terminar con el tiempo de gracia de validación.&lt;/p&gt; &lt;p&gt;Ahora bien, ¿Qué comandos son los que puedo utilizar?, pues la opción &lt;em&gt;-l&lt;/em&gt; es la indicada para eso:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;$ sudo -l&lt;br /&gt;User sergio may run the following commands on this host:&lt;br /&gt;(root) /sbin/ifconfig&lt;br /&gt;(root) /sbin/lspci&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;En el caso anterior se ejecutó un comando de root, pero no tiene que ser asi, también es posible ejecutar comandos de otros usuarios del sistema indicando la opción &lt;em&gt;-u&lt;/em&gt;:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;$ sudo -u ana /comando/de/ana&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Una de las opciones más interesantes es la que permite editar archivos de texto de root (claro, con el permiso otorgado en 'sudoers' como se verá más adelante), y esto se logra con la opción &lt;em&gt;-e&lt;/em&gt;, esta opción esta ligada a otro comando de &lt;span class="t1"&gt;sudo&lt;/span&gt; llamado &lt;span class="t1"&gt;sudoedit&lt;/span&gt; que invoca al editor por defecto del usuario, que generalmente es 'vi'.&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;$ sudo -e /etc/inittab&lt;br /&gt;&lt;span class="t2"&gt;(Permitira modificar el archivo indicado como si se fuera root)&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;  &lt;p&gt;Cuando se configura &lt;span class="t1"&gt;sudo&lt;/span&gt; se tienen múltiples opciones que se pueden establecer, estás se consultan a través de la opción &lt;em&gt;-L&lt;/em&gt;&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;$&gt; sudo -L&lt;br /&gt;Available options in a sudoers ``Defaults'' line:&lt;br /&gt;&lt;br /&gt;syslog: Syslog facility if syslog is being used for logging&lt;br /&gt;syslog_goodpri: Syslog priority to use when user authenticates successfully&lt;br /&gt;syslog_badpri: Syslog priority to use when user authenticates unsuccessfully&lt;br /&gt;long_otp_prompt: Put OTP prompt on its own line&lt;br /&gt;ignore_dot: Ignore '.' in $PATH&lt;br /&gt;mail_always: Always send mail when sudo is run&lt;br /&gt;mail_badpass: Send mail if user authentication fails&lt;br /&gt;mail_no_user: Send mail if the user is not in sudoers&lt;br /&gt;mail_no_host: Send mail if the user is not in sudoers for this host&lt;br /&gt;mail_no_perms: Send mail if the user is not allowed to run a command&lt;br /&gt;tty_tickets: Use a separate timestamp for each user/tty combo&lt;br /&gt;lecture: Lecture user the first time they run sudo&lt;br /&gt;lecture_file: File containing the sudo lecture&lt;br /&gt;authenticate: Require users to authenticate by default&lt;br /&gt;root_sudo: Root may run sudo&lt;br /&gt;...&lt;br /&gt;varias opciones más&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Bastante útil, ya que nos muestra las opciones y una pequeña descripción, estás opciones se establecen en el archivo de configuración 'sudoers'.&lt;/p&gt; &lt;p&gt;Una de las opciones más importantes de consulta es  &lt;em&gt;-V&lt;/em&gt;, que permite listar las opciones (defaults) establecidas por defecto para &lt;span class="t1"&gt;sudo&lt;/span&gt; todos los usuarios, comandos, equipos, etc. Más adelante en este tutorial, aprenderemos como establecer opciones específicas para ciertos usuarios, comandos o equipos. NOTA: tienes que ser 'root' para usar esta opción.&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;# sudo -V&lt;br /&gt;Sudo version 1.6.9p5&lt;br /&gt;&lt;br /&gt;Sudoers path: /etc/sudoers&lt;br /&gt;Authentication methods: 'pam'&lt;br /&gt;Syslog facility if syslog is being used for logging: local2&lt;br /&gt;Syslog priority to use when user authenticates successfully: notice&lt;br /&gt;Syslog priority to use when user authenticates unsuccessfully: alert&lt;br /&gt;Send mail if the user is not in sudoers&lt;br /&gt;Lecture user the first time they run sudo&lt;br /&gt;Require users to authenticate by default&lt;br /&gt;Root may run sudo&lt;br /&gt;Log the hostname in the (non-syslog) log file&lt;br /&gt;Allow some information gathering to give useful error messages&lt;br /&gt;Visudo will honor the EDITOR environment variable&lt;br /&gt;Set the LOGNAME and USER environment variables&lt;br /&gt;Reset the environment to a default set of variables&lt;br /&gt;Length at which to wrap log file lines (0 for no wrap): 80&lt;br /&gt;Authentication timestamp timeout: 5 minutes&lt;br /&gt;Password prompt timeout: 5 minutes&lt;br /&gt;Number of tries to enter a password: 3&lt;br /&gt;Umask to use or 0777 to use user's: 022&lt;br /&gt;Path to log file: /var/log/sudo.log&lt;br /&gt;...&lt;br /&gt;varias opciones más listadas&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Con intención, trunque el listado anterior en la línea "Path to log file: /var/log/sudo.log", donde se indica cual es el archivo 'log' o de bitacora por defecto de &lt;span class="t1"&gt;sudo&lt;/span&gt;, en este archivo se loguea absolutamente todo lo que se haga con &lt;span class="t1"&gt;sudo&lt;/span&gt;, que usuarios ejecutaron que, intentos de uso, etc.&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="visudo"&gt;visudo&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Permite la edición del archivo de configuración de &lt;span class="t1"&gt;sudo&lt;/span&gt; sudoers. Invoca al editor que se tenga por defecto que generalemente es 'vi'. &lt;span class="t1"&gt;visudo&lt;/span&gt; cuando es usado, bloquea el archivo /etc/sudoers de tal manera que nadie más lo puede utilizar, esto por razones obvias de seguridad que evitarán que dos o más usuarios administradores modifiquen accidentalmente los cambios que el otro realizó.&lt;/p&gt; &lt;p&gt;Otra característica importande de &lt;span class="t1"&gt;visudo&lt;/span&gt; es que al cerrar el archivo, verifica que el archivo este bien configurado, es decir, detectará si hay errores de sintaxis principalmente en sus múltiples opciones o reglas de acceso que se tengan. Por esta razón no debe editarse /etc/sudoers directamente (perfectamente posible ya que es un archivo de texto como cualquier otro) sino siempre usar &lt;span class="t1"&gt;visudo&lt;/span&gt;.&lt;/p&gt; &lt;p&gt;Si al cerrar &lt;span class="t1"&gt;visudo&lt;/span&gt; detecta un error nos mostrará la línea donde se encuentra, y la pregunta "What now?":&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;&gt;&gt;&gt; sudoers file: syntax error, line 15 &lt;&lt;&lt;&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Se tienen tres opciones para esta pregunta:&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;e - edita de nuevo el archivo, colocando el cursor en la línea del error (si el editor soporta esta función.)&lt;/li&gt;&lt;li&gt;x - salir sin guardar los cambios.&lt;/li&gt;&lt;li&gt;Q - salir y guarda los cambios.&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;Por defecto el archivo de configuración es /etc/sudoers pero se pueden editar otros archivos que no sean ese y que se aplique la sintaxis de &lt;span class="t1"&gt;sudo&lt;/span&gt;, y esto se logra con la opción &lt;em&gt;-f&lt;/em&gt; (&lt;span class="t1"&gt;visudo -f /otro/archivo&lt;/span&gt;).&lt;/p&gt; &lt;p&gt;Si tan solo se desea comprobar que /etc/sudoers esta bien configurado se usa la opción &lt;em&gt;-c&lt;/em&gt;, toma por el archivo de configuración por defecto o si no se indica algún otro.&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; visudo -c&lt;br /&gt;/etc/sudoers file parsed OK&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;La opción &lt;em&gt;-s&lt;/em&gt; activa el modo 'estricto' del uso de &lt;span class="t1"&gt;visudo&lt;/span&gt;, es decir no solo se comprobará lo sintáctico sino también el orden correcto de las reglas, por ejemplo si se define el alias para un grupo de comandos y este se usa antes de su definición, con esta opción se detectará este tipo de errores.&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="sudoers"&gt;Sudoers&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Archivo de configuración de &lt;span class="t1"&gt;sudo&lt;/span&gt;, generalmente ubicado bajo /etc y se modifica a través del uso de &lt;span class="t1"&gt;visudo&lt;/span&gt;. En este archivo se establece quien (usuarios) puede ejecutar que (comandos) y de que modo (opciones), generando efectivamente una lista de control de acceso que puede ser tan detallada como se desee.&lt;/p&gt; &lt;p&gt;Es más fácil entender &lt;span class="t1"&gt;sudo&lt;/span&gt; si dividimos en tres partes su posible configuración, estás son:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;Alias&lt;/li&gt;&lt;li&gt;Opciones (Defaults)&lt;/li&gt;&lt;li&gt;Reglas de acceso&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;Por extraño que parezca ninguna de las secciones es obligatoria, o tienen que estar en algún orden específico, pero la que al menos debe de existir es la tercera, que es la definción de los controles o reglas de acceso. Se detallará cada uno de estos en un momento. Para los que les gusta saber más la cuestión técnica es interesante saber que la construcción de un archivo &lt;span class="t1"&gt;sudoers&lt;/span&gt; esta basado en la forma BNF (Backus-Naur Form), concretamente en versión extendida (EBNF), si estudiaste algún curso de informática universitario seguramente sabes de lo que hablo. EBNF describe de una forma precisa y exacta la gramática de un lenguaje, esta se va creando a través de reglas de producción que a la vez son la base para ser referenciadas por otras reglas. Afortunadamente no necesitas saber nada de esto, solo entender como se aplican estas reglas.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color:Blue;"&gt;&lt;a name="alias"&gt;Alias&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Un alias se refiere a un usuario, un comando o a un equipo. El alias engloba bajo un solo nombre (nombre del alias) una serie de elementos que después en la parte de definición de reglas serán refiridos aplicados bajos cierto criterio. Es decir, regresando a EBNF estamos creando las reglas de producción inicial. La forma para crear un alias es la siguiente:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;tipo_alias NOMBRE_DEL_ALIAS = elemento1, elemento2, elemento3, ... elementoN&lt;/p&gt; &lt;p&gt;tipo_alias NOMBRE1 = elemento1, elemento2 : NOMBRE2 = elemento1, elemento2 &lt;/p&gt; &lt;p&gt;En el segundo caso, separado por ":" es posible indicar más de un alias en una misma definción.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;El tipo_alias define los elementos, es decir, dependiendo del tipo de alias serán sus elementos. Los tipo de alias son cuatro y son los siguientes:&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Cmnd_Alias - define alias de comandos.&lt;/li&gt;&lt;li&gt;User_Alias - define alias de usuarios normales.&lt;/li&gt;&lt;li&gt;Runas_Alias - define alias de usuarios administradores o con privilegios.&lt;/li&gt;&lt;li&gt;Host_Alias - define alias de hosts o equipos.&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;El NOMBRE_DEL_ALIAS puede llevar letras, números o guión bajo ( _ ) y DEBE de comenzar con una letra mayúscula, se acostumbra a usarlos siempre en mayúsculas.&lt;/p&gt; &lt;p&gt;Los elementos del alias varian dependiendo del tipo de alias, asi que veámoslos por partes asi como varios ejemplos para que comience a quedar claro todo esto.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="cmnd_alias"&gt;Cmnd_Alias&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;Definen uno o más comandos y otros alias de comandos que podrán ser utilizados después en alias de usuarios. Ejemplos:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;Cmnd_Alias WEB = /usr/sbin/apachectl, /usr/sbin/httpd, sudoedit /etc/httpd/&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Indica que a quien se le aplique el alias WEB podrá ejecutar los comandos apachectl, httpd y editar todo lo que este debajo del directorio /etc/httpd/, nótese que debe de terminar con '/' cuando se indican directorios. También, la ruta completa a los comandos debe ser indicada.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;Cmnd_Alias APAGAR = /usr/bin/shutdown -h 23\:00&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Al usuario que se le asigne el alias APAGAR podrá hacer uso del comando 'shutdown' exactamente con los parámetros como están indicados, es decir apagar &lt;em&gt;-h&lt;/em&gt; (halt) el equipo a las 23:00 horas. Nótese que es necesario escapar el signo ':', asi como los símbolos ' : , = \&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;Cmnd_Alias NET_ADMIN = /sbin/ifconfig, /sbin/iptables, WEB&lt;/b&gt;&lt;/p&gt; &lt;p&gt;NET_ADMIN es un alias con los comandos de configuración de interfaces de red ifconfig y de firewall iptables, pero además le agregamos un alias &lt;i&gt;previamente&lt;/i&gt; definido que es WEB, asi que a quien se le asigne este alias podrá hacer uso de los comandos del alias WEB.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;Cmnd_Alias  TODO_BIN = /usr/bin/, !/usr/bin/rpm &lt;/b&gt;&lt;/p&gt; &lt;p&gt;A quien se le asigne este alias podrá ejecutar todos los comandos que estén dentro del directorio /usr/bin/ menos el comando 'rpm' ubicado en el mismo directorio. &lt;i&gt;NOTA IMPORTANTE: este tipo de alias con un permiso muy amplios menos '!' algo, generalmente no son una buena idea, ya que comandos nuevos que se añadan después a ese directorio también podrán ser ejecutados, es mejor siempre definir específicamente lo que se requiera.&lt;/i&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="user_alias"&gt;User_Alias&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;Definen a uno o más usuarios, grupos del sistema (indicados con %), grupos de red (netgroups indicados con +) u otros alias de usuarios. Ejemplos:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;User_Alias MYSQL_USERS = andy, marce, juan, %mysql&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Indica que al alias MYSQL_USERS pertenecen los usuarios indicados individualmente más los usuarios que formen parte del grupo 'mysql'.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;User_Alias ADMIN = sergio, ana &lt;/b&gt;&lt;/p&gt; &lt;p&gt;'sergio' y 'ana' pertenecen al alias ADMIN.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;User_Alias TODOS = ALL, !samuel, !david&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Aqui encontramos algo nuevo, definimos el alias de usuario TODOS que al poner como elemento la palabra reservada 'ALL' abarcaría a todos los usuarios del sistema, pero no deseamos a dos de ellos, asi que negamos con '!', que serían los usuarios 'samuel' y 'david'. Es decir, todos los usuarios menos esos dos. &lt;i&gt;NOTA IMPORTANTE: este tipo de alias con un permiso muy amplios menos '!' algo, generalmente no son una buena idea, ya que usuarios nuevos que se añadan después al sistema también serán considerados como ALL, es mejor siempre definir específicamente a los usuarios que se requieran. ALL es válido en todos los tipos de alias.&lt;/i&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;User_Alias OPERADORES =  ADMIN, alejandra&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Los del alias ADMIN más el usuario 'alejandra'.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="runas_alias"&gt;Runas_Alias&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;Funciona exactamente igual que User_Alias, la única diferencia es que es posible usar el ID del usario UID con el caracter '#'.&lt;/p&gt; &lt;p&gt;&lt;b&gt;Runas_Alias OPERADORES = #501, fabian &lt;/b&gt;&lt;/p&gt; &lt;p&gt;Al alias OPERADORES pertenecen el usuario con UID 501 y el usuario 'fabian'&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="host_alias"&gt;Host_Alias&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;Definen uno o más equipos u otros alias de host. Los equipos pueden indicarse por su nombre (si se encuentra en /etc/hosts) por nombre de dominio, si existe un resolvedor de dominios, por dirección IP, por dirección IP con máscara de red. Ejemplos:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;Host_Alias LANS = 192.168.0.0/24, 192.168.0.1/255.255.255.0&lt;/b&gt;&lt;/p&gt; &lt;p&gt;El alias LANS define todos los equipos de las redes locales.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;Host_Alias WEBSERVERS = 172.16.0.21, web1 : DBSERVERS = 192.168.100.10, dataserver&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Se define dos alias en el mismo renglón: WEBSERVERS y DBSERVERS con sus respectivas listas de elementos, el separador ':' es válido en cualquier definición de tipo de alias.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color:Blue;"&gt;&lt;a name="opciones"&gt;Opciones (defaults)&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Las opciones o defaults permiten definir ciertas características de comportamiento para los alias previamente creados, para usuarios, usuarios privilegiados, para equipos o de manera global para todos. No es necesario definir opciones o defaults, &lt;span class="t1"&gt;sudo&lt;/span&gt; ya tiene establecidas el valor de cada uno, y es posible conocerlas a través de &lt;em&gt;sudo -V&lt;/em&gt; (ver en la sección sudo de este tutorial).&lt;/p&gt; &lt;p&gt;Sin embargo, la potencia de &lt;span class="t1"&gt;sudo&lt;/span&gt; está en su alta granularidad de configuración, asi que es importante conocer como establecer opciones espécificas.&lt;/p&gt; &lt;p&gt;Las opciones o defaults es posible establecerlos en cuatro niveles de uso:&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;De manera global, afecta a todos&lt;/li&gt;&lt;li&gt;Por usuario&lt;/li&gt;&lt;li&gt;Por usuario privilegiado&lt;/li&gt;&lt;li&gt;Por equipo (host)&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;Se usa la palabra reservada 'Defaults' para establecer las opciones y dependiendo del nivel que deseamos afectar su sintaxis es la siguiente:&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Global: Defaults opcion1, opcion2 ...&lt;/li&gt;&lt;li&gt;Usuario: Defaults:usuario opcion1, opcion2 ...&lt;/li&gt;&lt;li&gt;Usuario Privilegiado: Defaults&gt;usuario opcion1, opcion2 ...&lt;/li&gt;&lt;li&gt;Equipo: Defaults@equipo opcion1, opcion2 ...&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;La lista de opciones es algo extensa, pueden consultarse en las páginas del manual (&lt;em&gt;man sudoers&lt;/em&gt;) o en el excelente manual sobre &lt;span class="t1"&gt;sudo&lt;/span&gt; del sitio web de www.rpublica.net &lt;a href="http://www.rpublica.net/sudo/indice.html#defaults"&gt;http://www.rpublica.net/sudo/indice.html#defaults&lt;/a&gt;, está en español y define muy claramente lo que significa cada opción. En este tutorial de LinuxTotal.com.mx me concretaré a ejemplificar varios ejemplos del uso de establecer opciones.&lt;/p&gt; &lt;p&gt;Los defaults los divide el manual (man sudoers) en cuatro: flags o booleanos, enteros, cadenas y listas. Veamos entonces algunos ejemplos de uso para cada uno de ellos:&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="flags"&gt;flags o booleanos&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;Generalemente se usan de manera global, simplemente se indica la opción y se establece a 'on' para desactivarla 'off' se antepone el símbolo '!' a la opción. Es necesario consultar el manual para saber el valor por defecto 'on' o 'off' para saber si realmente necesitamos invocarla o no.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;Defaults mail_always&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Establece a 'on' la opción 'mail_always' que enviara un correo avisando cada vez que un usuario utiliza &lt;span class="t1"&gt;sudo&lt;/span&gt;, a la vez, este opción requiere que 'mailto_user' este establecida.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;Defaults !authenticate, log_host&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Desactiva 'off' el default 'authenticate' que por defecto esta activado 'on' e indica que todos los usuarios que usen &lt;span class="t1"&gt;sudo&lt;/span&gt; deben identificarse con su contraseña, obviamente esto es un ejemplo y sería una pésima idea usarlo realmente, ya que ningún usuario necesitaria autenticarse, esto es porque estamos usando Defaults de manera global. La segunda opción 'log_host' que por defecto está en 'off' la activamos y bitacoriza el nombre del host cuando se usa un archivo (en vez de syslog) como bitácora de &lt;span class="t1"&gt;sudo&lt;/span&gt;.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;Defaults:ana !authenticate&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Aqui se aprecia algo más lógico, usamos opciones por usuario en vez de global, indicando que el usuario 'ana' no requerira auténticarse. Pero todos los demás si.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;Defaults&gt;ADMIN rootpw&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Opciones para usuarios privilegiados, en vez de usar una lista de usuarios, usamos un alias 'ADMIN' que se supone fue previamente definido, y establecemos en 'on' la opción 'rootpw' que indica a &lt;span class="t1"&gt;sudo&lt;/span&gt; que los usuarios en el alias 'ADMIN' deberán usar la contraseña de 'root' en vez de la propia.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="enteros"&gt;Enteros&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;Tal como su nombre lo indica, manejan valores de números enteros en sus opciones, que deben entonces usarse como &lt;em&gt;opción = valor&lt;/em&gt;.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;Defaults:fernanda, regina passwd_tries = 1, passwd_timeout = 1&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Ejemplo donde se aprecia el uso de opciones con valores enteros. En este caso se establecen opciones para los usuarios 'fernanda' y 'regina' solamente, que solo tendrán una oportunidad de ingresar la contraseña correcta 'passwd_tries' el valor por defecto es de 3 y tendrán un minuto para ingresarla 'passwd_timeout' el valor por defecto son 5 minutos.&lt;/p&gt; &lt;p&gt;La mayoría de las opciones de tiempo o de intentos, al establecerlas con un valor igual a cero entonces queda ilimitado la opción.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;Defaults@webserver umask = 011&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Se establecen opciones solo para los usuarios que se conectan al servidor 'webserver' y el valor 'umask' indica que si mediante la ejecución del comando que se invoque por &lt;span class="t1"&gt;sudo&lt;/span&gt; es necesario crear archivos o diectorios, a estos se les aplicará la máscara de permisos indicada en el valor de la opción.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="cadenas"&gt;Cadenas&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;Son valores de opciones que indican mensajes, rutas de archivos, etc. Si hubiera espacios en el valor es necesario encerrar el valor entre comillas dobles (" ").&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;Defaults badpass_message = "Intenta de nuevo: "&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Para todos los usuarios, cuando se equivoquen al ingresar la contraseña, es el mensaje que saldría. En este caso la opción por defecto es "Sorry: try again".&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="listas"&gt;Listas&lt;/a&gt;&lt;/h3&gt; &lt;p&gt;Permite establecer/eliminar variables de entorno propias de &lt;span class="t1"&gt;sudo&lt;/span&gt;. Los 'Defaults' para variables es de los menos usados en las configuraciones de &lt;span class="t1"&gt;sudo&lt;/span&gt; y ciertamente de los más confusos. Para entender como se aplican es más fácil si primero ejecutas como 'root' el comando &lt;em&gt;sudo -V&lt;/em&gt;, y al final del listado encontrarás en mayúsculas las posibles variables de entorno que se pueden establecer o quitar y que vienen del shell.&lt;/p&gt; &lt;p&gt;Solo existen tres opciones de listas: &lt;em&gt;env_check, env_delete y env_keep&lt;/em&gt;, las listas pueden ser remplazadas con '=', añadidas con '+=', eliminadas con '-=' o deshabilitadas con '!'. Con un par de ejemplos quedará más claro.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;Defaults env_delete -= HOSTNAME&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Elimina la variable de entorno 'HOSTNAME', (pero preserva todas las demás que hubiera) y comandos que se ejecuten bajo &lt;span class="t1"&gt;sudo&lt;/span&gt; y que requieran de esta variable no la tendrían disponible.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;Defaults env_reset&lt;/b&gt;&lt;/p&gt; &lt;p&gt;&lt;b&gt;Defaults env_check += DISPLAY, PS1&lt;/b&gt;&lt;/p&gt; &lt;p&gt;La primera opción 'env_reset' reinicializa las variables de entorno que &lt;span class="t1"&gt;sudo&lt;/span&gt; utilizará o tendrá disponibles, y solo quedan disponibles LOGNAME, SHELL, USER y USERNAME. La siguiente línea indica que agregue (+=) a lo anterior, también la variable de entorno DISPLAY a su valor establecido antes del reset.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;&lt;span style="color:Blue;"&gt;&lt;a name="reglas"&gt;Reglas de acceso&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Aunque no es obligatorio declarar alias, ni opciones (defaults), y de hecho tampoco reglas de acceso, pues el archivo /etc/sudoers no tendría ninguna razón de ser si no se crean reglas de acceso. De hecho podríamos concretarnos a crear solamente reglas de acceso, sin opciones ni alias y podría funcionar todo muy bien.&lt;/p&gt; &lt;p&gt;Las reglas de acceso definen que usuarios ejecutan que comandos bajo que usuario y en que equipos. La mejor y (según yo, única manera) de entender y aprender a configurar sudoers es con ejemplos, asi que directo al grano:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;usuario host = comando1, comando2, ... comandoN&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Sintaxis básica, 'usuario' puede ser un usuario, un alias de usuario o un grupo (indicado por %), 'host' puede ser ALL cualquier equipo, un solo equipo, un alias de equipo, una dirección IP o una definición de red IP/máscara, 'comandox' es cualquier comando indicado con su ruta completa. Si se termina en '/' como en /etc/http/ entonces indica todos los archivos dentro de ese directorio.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;daniela ALL = /sbin/iptables &lt;/b&gt;&lt;/p&gt; &lt;p&gt;Usuario 'daniela' en cualquier host o equipo puede utiliar iptables.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;ADMIN ALL = ALL &lt;/b&gt;&lt;/p&gt; &lt;p&gt;Los usuarios definifos en el alias 'ADMIN' desde cualquier host pueden ejecutar cualquier comando.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;%gerentes dbserver = (director) /usr/facturacion, (root) /var/log/* &lt;/b&gt;&lt;/p&gt; &lt;p&gt;Un ejemplo más detallado. Los usuarios que pertenezcan al grupo del sistema llamado 'gerentes' pueden en el equipo llamado 'dbserver' ejecutar como si fueran el usuario 'director' la aplicación llamada 'facturacion', además como usuarios 'root' pueden ver el contendido de los archivos que contenga el directorio /var/log.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Lo anterior intoduce algo nuevo, que en la lista de comandos es posible indicar bajo que usuario se debe ejecutar el permiso. Por defecto es el usuario 'root', pero no siempre tener que asi. Además la lista 'hereda' la primera definición de usuario que se indica entre paréntesis ( ), por eso si se tiene más de alguno hay que cambiar de usuario en el comando conveniente, el ejemplo anterior también sería válido de la siguiente manera:&lt;/p&gt; &lt;p&gt;%gerentes dbserver = /var/log/*, (director) /usr/facturacion &lt;/p&gt; &lt;p&gt;No es necesario indicar (root) ya que es el usuario bajo el cual se ejecutan los comandos por defecto. También es válido usar (ALL) para indicar bajo cualquier usuario. El ejemplo siguiente da permisos absolutos.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;sergio ALL = (ALL) ALL &lt;/b&gt;&lt;/p&gt; &lt;p&gt;Se establece permiso para el usuario 'sergio' en cualquier host, ejecutar cualquier comando de cualquier usuario, por supuesto incluyendo los de root.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;SUPERVISORES PRODUCCION = OPERACION &lt;/b&gt;&lt;/p&gt; &lt;p&gt;Una regala formada solo por alias. En el alias de usuario 'SUPERVISORES' los usuarios que esten indicados en ese alias, tendrán permiso en los equipos definidos en el alias de host 'PRODUCCION', de ejecutar los comandos definidos o listados en el alias de comandos 'OPERACION'.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;En este último ejemplo se aprecia lo últil que pueden ser los alias, ya que una vez definida la regla, solo debemos agregar o eliminar elementos de las listas de alias definidos previamente. Es decir, se agrega un equipo más a la red, se añade al alias 'PRODUCCION', un usuario renuncia a la empresa, alteramos el alias 'SUPERVISORES' eliminándolo de la lista, etc.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;checo ALL = /usr/bin/passwd *, !/usr/bin/passwd root&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Este es un ejemplo muy interesante de la potencia y flexibilidad . Al usuario 'checo', desde cualquier equipo, tiene permiso de cambiar la contraseña de cualquier usuario (usando el comando 'passwd'), excepto '!' la contraseña del usuario 'root'. Lo anterior se logra mediante el uso de argumentos en los comandos. En el primer ejemplo '/usr/bin/passwd *' el asterisco indica una expansión de comodin (wildcard) que indica cualquier argumento, es decir, cualquier usuario. En el segundo caso '!/usr/bin/passwd root', si indica un argumento específico 'root', y la '!' como ya se sabe indica negación, negando entonces el permiso a cambiar la contraseña de root.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Cuando se indica el comando sin argumentos: /sbin/iptables &lt;span class="t1"&gt;sudo&lt;/span&gt; lo interpreta como 'puede usar iptables con cualquiera de sus argumentos'.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;mariajose ALL = "/sbin/lsmod"&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Al estar entre comillas dobles un comando, entonces &lt;span class="t1"&gt;sudo&lt;/span&gt; lo interpreta como 'puede hacer uso del comando lsmod pero sin argumentos'. En este caso el usuario 'mariajose' podrá ver la lista de módulos del kernel, pero solo eso.&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;&lt;a name="tags"&gt;&lt;/a&gt;Tags (etiquetas de comandos)&lt;/h3&gt; &lt;p&gt;Cuando se definen reglas, en la lista de comandos, estos pueden tener cero (como en los ejemplos anteriores) o más tags. Existen 6 de estas etiquetas o tags, &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;&lt;i&gt;NOPASSWD Y PASSWD&lt;/i&gt;&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Por defecto &lt;span class="t1"&gt;sudo&lt;/span&gt; requiere que cualquier usuario se identifique o auténtifique con su contraseña. Aprendimos en la sección de 'Opciones' o 'Defaults' que es posible indicar que un usuario o alias de usuario no requiera de autentificación. Pero el control granular propio de &lt;span class="t1"&gt;sudo&lt;/span&gt;, permite ir aun más lejos al indicar a nivel de comandos, cuáles requieren contraseña para su uso y cuáles no.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;gerardo webserver = NOPASSWD: /bin/kill, /usr/bin/lprm, /etc/httpd/conf/ &lt;/b&gt;&lt;/p&gt; &lt;p&gt;Usuario 'gerardo' en el equipo 'webserver' no requerira contraseña para los comandos listados. El tag se hereda, es decir no solo el primer elemento de la lista de comandos, sino los subsiguientes. Suponiendo que el último '/etc/httpd/conf/' elemento, que permite modificar cualquier archivo contenido en el directorio, si deseamos que use contraseña, lo siguiente lo conseguirá:&lt;/p&gt; &lt;p&gt;&lt;b&gt;gerardo webserver = NOPASSWD: /bin/kill, /usr/bin/lprm, PASSWD: /etc/httpd/conf/ &lt;/b&gt;&lt;/p&gt; &lt;p&gt;Aunque ya que solicitar contraseña es el default o defecto preestablecido, lo anterior también funcionará de la siguiente manera:&lt;/p&gt; &lt;p&gt;&lt;b&gt;gerardo webserver = /etc/httpd/conf/, NOPASSWD: /bin/kill, /usr/bin/lprm,  &lt;/b&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;&lt;i&gt;NOEXEC Y EXEC&lt;/i&gt;&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Este es un tag muy importante a considerar cuando sobre se otorgan permisos sobre programas que permiten escapes a shell (shell escape), como en el editor 'vi' que mediante el uso de '!' es posible ejecutar un comando en el shell sin salir de 'vi'. Con el tag NOEXEC se logra que esto no suceda, aunque no hay que tomarlo como un hecho, ya que siempre existe la posibilidad de vulnerabilidades no conocidas en los múltiples programas que utilizan escapes a shell. Al igual que los tags anteriores, el tag se hereda y se deshabilita con su tag contrario (EXEC), en caso de que en la lista de comandos hubiera varios comandos.&lt;/p&gt; &lt;p&gt;&lt;b&gt;valeria ALL = NOEXEC: /usr/bin/vi &lt;/b&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;&lt;i&gt;SETENV Y NOSETENV&lt;/i&gt;&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Una de las múltiples opciones que pueden establecerse en la sección 'Defaults' u 'opciones' es la opción booleana o de flag 'setenv' que por defecto y para todos los usuarios esta establecida en 'off'. Esta opción si se activa por usuario (Defaults:sergio setenv) permitirá al usuario indicado cambiar el entorno de variables del usuario del cual tiene permisos de ejecutar comandos, y como generalmente este es 'root' pues es obvio que resulta bastante peligrosa esta opción. A nivel de lista de comandos, es posible entonces especificar el tag 'SETENV' a un solo comando o a una pequeña lista de estos y solo cuando se ejecuten estos se podrán alterar su entorno de variables. Es decir, en vez de establecerlo por usuario, sería mas conveniente establecerlo por comando a ejcutarse solamente.&lt;/p&gt; &lt;p&gt;&lt;b&gt;ADMIN ALL = SETENV: /bin/date, NOSETENV ALL &lt;/b&gt;&lt;/p&gt; &lt;p&gt;A los usuarios definidos en el alias de usuario 'ADMIN' en cualquier host, pueden alterar las variables de entorno cuando ejecuten el comando 'date' (que puede ser útil por ejemplo para cambiar variables del tipo LOCALE), y cualquier otro comando, no tendrá esta opción al habilitar el tag contrario 'NOSETENV'. Y ya que este es el default, también sería válido de la siguiente manera y harían lo mismo:&lt;/p&gt; &lt;p&gt;&lt;b&gt;ADMIN ALL = ALL, SETENV: /bin/date &lt;/b&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;a name="ejemplo"&gt;ARCHIVO /ETC/SUDOERS DE EJEMPLO&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Para concluir este manual, veamos un pequeño ejemplo de un archivo /etc/sudoers:&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;div id="e"&gt;&lt;pre&gt;# ***********************&lt;br /&gt;# LinuxTotal.com.mx, ejemplo de un archivo sudoers&lt;br /&gt;# sergio.gonzalez.duran@gmail.com&lt;br /&gt;# ***********************&lt;br /&gt;&lt;br /&gt;# ***********************&lt;br /&gt;# DEFINCION DE ALIAS&lt;br /&gt;# ***********************&lt;br /&gt;&lt;br /&gt;# administradores con todos los privilegios&lt;br /&gt;User_Alias ADMINS = sergio, ana&lt;br /&gt;&lt;br /&gt;# administradores de red - network operators&lt;br /&gt;User_Alias NETOPS = marcela, andrea&lt;br /&gt;&lt;br /&gt;# webmasters -&lt;br /&gt;User_Alias WEBMAS = cristina, juan&lt;br /&gt;&lt;br /&gt;# supervisores de producción (todos los del grupo de sistema supervisores)&lt;br /&gt;User_Alias SUPPRO = samuel, %supervisores&lt;br /&gt;&lt;br /&gt;# usuarios que pueden conectarse desde Internet&lt;br /&gt;User_Alias INETUS = NETOPS, ADMINS, samuel&lt;br /&gt;&lt;br /&gt;# servidores web&lt;br /&gt;Host_Alias WEBSERVERS = 10.0.1.100, 10.0.1.101&lt;br /&gt;&lt;br /&gt;# servidores de aplicaciones&lt;br /&gt;Host_Alias APLICACIONES = WEBSERVERS, 10.0.1.102, 10.0.1.103, mailserver&lt;br /&gt;&lt;br /&gt;# comandos de red permitidos&lt;br /&gt;Cmnd_Alias REDCMDS = /sbin/ifconfig, /sbin/iptables&lt;br /&gt;&lt;br /&gt;# comandos de apache&lt;br /&gt;Cmnd_Alias APACHECMDS = /usr/sbin/apachectl, /sbin/service httpd *&lt;br /&gt;&lt;br /&gt;# ***********************&lt;br /&gt;# DEFINCION DE OPCIONES&lt;br /&gt;# ***********************&lt;br /&gt;&lt;br /&gt;# Los usuarios administradores, requieren autentificarse con la contraseña de 'root'&lt;br /&gt;Defaults&gt;ADMINS rootpw&lt;br /&gt;&lt;br /&gt;# Para todos los usuarios, tienen hasta dos intentos para ingresar su contraseña y 3 minuto para que esta expire&lt;br /&gt;Defaults passwd_tries = 4, passwd_timeout = 1&lt;br /&gt;&lt;br /&gt;# Los usuarios que se conectan desde Internet, solo tienen una oportunidad y cero timeout lo que implica&lt;br /&gt;# que cada comando que usen a través de sudo requerira siempre de autentificación.&lt;br /&gt;Defaults:INETUS passwd_tries = 1, passwd_timeout = 0&lt;br /&gt;&lt;br /&gt;# Máscara de directorios y archivos por default, para los que ejecuten sudo en los servidores web&lt;br /&gt;Defaults@WEBSERVERS umask = 022&lt;br /&gt;&lt;br /&gt;# ***********************&lt;br /&gt;# DEFINCION DE REGLAS&lt;br /&gt;# ***********************&lt;br /&gt;&lt;br /&gt;# administradores todo se les permite en cualquier equipo (¡¡¡¡¡cuidado con esto en la vida real!!!!!&lt;br /&gt;ADMINS ALL = (ALL) ALL&lt;br /&gt;&lt;br /&gt;# administradores de red, en todos los equipos, los comandos de red&lt;br /&gt;NETOPS ALL = REDCMDS&lt;br /&gt;&lt;br /&gt;# webmasters, en los servidores web con los comandos indicados en apachecmds y además sin necesidad&lt;br /&gt;# de contraseña acceder a las bítacoras de apache y reiniciar los servidores.&lt;br /&gt;WEBMAS WEBSERVERS = APACHECMDS, NOPASSWD: /var/log/apache/, /sbin/reboot&lt;br /&gt;&lt;br /&gt;# supervisores, pueden ejecutar los comandos indicados en los equipos indicados en el alias&lt;br /&gt;# aplicaciones y además son ejecutados bajo el usuario apps.&lt;br /&gt;SUPPRO APLICACIONES = NOEXEC: (apps) /usr/local/facturacion.exe, /usr/local/ventas.exe, /usr/local/nomina.exe&lt;br /&gt;&lt;br /&gt;# no definidos por alias previos, sino directamente&lt;br /&gt;&lt;br /&gt;# regina es de recursos humanos y puede cambiar contraseñas de cualquier usuario menos de root&lt;br /&gt;regina ALL = /usr/bin/passwd *, !/usr/bin/passwd root&lt;br /&gt;&lt;br /&gt;# david, puede apagar los equipos de aplicaciones&lt;br /&gt;david APLICACIONES = /sbin/shutdown, /sbin/halt&lt;br /&gt;&lt;br /&gt;#  El equipo firewall de la red puede ser reiniciado (no apagado) por fernanda que es asistente de redes&lt;br /&gt;fernanda firewall = /sbin/shutdown -r now&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;   &lt;h2&gt;&lt;a name="referencias"&gt;Referencias&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Como siempre, la referencia más a la mano la tienes en las páginas de manual:&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;man sudo&lt;/li&gt;&lt;li&gt;man visudo&lt;/li&gt;&lt;li&gt;man sudoers&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;Y en los siguientes sitios encuentras información que complementa esta manual.&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.sudo.ws/"&gt;http://www.sudo.ws/&lt;/a&gt; - sitio oficial de sudo&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.linuxtotal.com.mx/index.php?cont=info_admon_014" net="" sudo="" html=""&gt;http://www.rpublica.net/sudo/sudo.html&lt;/a&gt; - Aqui puedes consultar en español, varias de las opciones de sudo, además de que es un buen manual de sudo en lo general.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.onlamp.com/pub/a/bsd/2002/08/29/Big_Scary_Daemons.html"&gt;http://www.onlamp.com/pub/a/bsd/2002/08/29/Big_Scary_Daemons.html&lt;/a&gt; - sitio en inglés con una explicación muy completa de como funciona sudo.&lt;/li&gt;&lt;/ul&gt;Fuente: &lt;a href="http://www.linuxtotal.com.mx/index.php?cont=info_admon_014"&gt;www.linuxtotal.com.mx&lt;/a&gt;&lt;br /&gt;&lt;!-- FIN DEL ARTICULO --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-3566264487359148002?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/3566264487359148002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=3566264487359148002&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/3566264487359148002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/3566264487359148002'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/07/howto-de-sudo-visudo-sudoers.html' title='Howto de sudo, visudo, sudoers'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-4846592655218644568</id><published>2008-07-07T11:09:00.000-07:00</published><updated>2008-07-07T11:18:10.297-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Criptografía'/><category scheme='http://www.blogger.com/atom/ns#' term='Noticias'/><title type='text'>El hombre que podría enloquecer al mundo</title><content type='html'>&lt;span style="font-weight: bold;font-size:100%;" &gt;Suele dictar conferencias en universidades e institutos de medio mundo y fue premio Konex en 2003. Desde 2005 se dedica a una investigación que podría poner los pelos de punta en los sistemas de seguridad: desde las operaciones bancarias hasta los gobiernos; desde el uso de la firma digital hasta el de la tarjeta de crédito. Lo que el matemático argentino está a punto de develar es el modo de quebrar ciertas claves hipercomplejas que protegen casi todo lo que circula en las redes de la información global.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_qoMj8Cxqh50/SHJdnAKPW0I/AAAAAAAAAVI/d7CYxg7jhmU/s1600-h/20050002528-0-large.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_qoMj8Cxqh50/SHJdnAKPW0I/AAAAAAAAAVI/d7CYxg7jhmU/s320/20050002528-0-large.jpg" alt="" id="BLOGGER_PHOTO_ID_5220337842715056962" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Detrás de ese cuerpo de 67 años, excedido de peso, hay un chico que arma un Lego inmenso como el universo. Un día de éstos, animado en su labor y en nombre de la ciencia, pondrá en riesgo la seguridad mundial. La tecnología es la motivación de Hugo Scolnik. Pero la matemática es su pasión. Y de ella habla entusiasmado.&lt;br /&gt;&lt;br /&gt;Para entender mejor a qué se dedica Scolnik es oportuno rememorar la película Juegos de guerra (War Games), de 1983, en la que un adolescente se introducía en la red de computadoras del ejército norteamericano y casi provocaba un conflicto nuclear con la Unión Soviética.&lt;br /&gt;&lt;br /&gt;Desde aquellas épocas el mundo teme a la inseguridad en los sistemas electrónicos de computadoras en red. Los hackers, los fraudes y las intrusiones siguen existiendo y para mitigar la pesadilla digital existe una ciencia cuya genealogía se remonta a las civilizaciones de la antigüedad: la criptografía, el arte de cifrar y descifrar mensajes ocultos. Esta disciplina está basada en la matemática de la más sofisticada complejidad.&lt;br /&gt;&lt;br /&gt;Históricamente utilizada en la guerra, actualmente se emplea para resguardar la privacidad de mensajes y códigos, cosa de que el mundo virtual, cada vez más entramado en la vida cotidiana de las sociedades, siga girando.&lt;br /&gt;&lt;br /&gt;El asunto es que ese girar manso del planeta puede desbarrancarse en cualquier momento. Es que en algún lugar de la facultad de Ciencias Exactas Hugo Scolnik está a punto de dar con el método que acabe con la seguridad de los sistemas.&lt;br /&gt;&lt;br /&gt;Reconocido mundialmente, el matemático argentino se dedica a investigar la factorización de números gigantes, tanto que superan las 300 cifras. Licenciado en Ciencias Matemáticas de la UBA (1964) y Doctor en Matemática por la Universidad de Zurich (1970), sus campos de investigación son Criptografía, Robótica, Optimización No Lineal, modelos matemáticos y métodos numéricos. Asesor en seguridad informática, desde 2005 Scolnik trabaja en la investigación de un método de factorización que, de dar resultado, permitiría descifrar cualquier clave RSA –considerado el sistema criptográfico más seguro del mundo– en un tiempo breve.&lt;br /&gt;&lt;br /&gt;Factorizar significa descomponer una expresión matemática en los factores que la componen. Factorizar el número 100, por ejemplo, da como resultado 2, 2, 5, 5. Esto es: 2.2.5.5= 100. Sin embargo, con números gigantes como los que se utilizan en RSA, la cantidad de cálculos que se requieren hace que sea impracticable.&lt;br /&gt;&lt;br /&gt;–Con los métodos tradicionales –ilustra Scolnik–, intentar factorizar una clave de las normales RSA llevaría unos 300 millones de años. Supongo que alguien se murió antes de ese lapso.&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;A SEGURO SE LO LLEVARON PRESO.&lt;/strong&gt; El sistema criptográfico de claves RSA es una de las últimas fronteras de la matemática. Creadas en 1977 en Estados Unidos por Ron Rivest, Adi Shamir y Len Adleman (RSA corresponde a la inicial de cada apellido), sus claves son un algoritmo asimétrico cifrador de bloques, que se compone de una clave pública –la cual se distribuye– y otra privada, que es guardada en secreto por su propietario. Este tipo de claves se utilizan en operaciones electrónicas habituales como transacciones bancarias y contratos digitales. La seguridad del algoritmo radica en que hasta hoy no existen maneras rápidas conocidas de factorizar un número gigante en sus factores primos utilizando computadoras y métodos tradicionales.&lt;br /&gt;&lt;br /&gt;Las claves RSA avanzan en complejidad con un número que indica la longitud en números decimales, por ejemplo RSA 160, RSA200, RSA 576, RSA 1024, RSA 2048. A través de distintos métodos, los matemáticos del mundo, en competencia contra los hackers más preparados, tratan de romper el sistema de cifrado. Lo cual implica crear otra nueva clave aún más compleja. La ciencia de la criptografía avanza en la medida en que los propios especialistas descifran, es decir, descubren.&lt;br /&gt;&lt;br /&gt;Fernando Acero es un teniente coronel de la aeronáutica española, director de A0 Soft Servicios Informáticos y Editoriales, y miembro del Comité Científico del Observatorio de Voto Electrónico (OVE) de la Universidad de León. Con el debido respeto que inspiran esas medallas, y en diálogo con Crítica de la Argentina, el hombre planta una advertencia:&lt;br /&gt;&lt;br /&gt;–Si Scolnik logra su objetivo, las empresas deberían cambiar sus sistemas de cifra, lo que puede suponer un cambio de software y hardware. El RSA es usado como sistema mayoritario para el cifrado asimétrico en todo el mundo, en las infraestructuras de clave pública, en los documentos de identidad electrónicos y en comunicaciones seguras a través de internet. Actualmente, todo el mundo usa sistemas de cifra en su vida cotidiana, por lo que el problema es global. Es evidente que tanto los bancos como organismos gubernamentales tendrían que adaptar sus sistemas.&lt;br /&gt;Desde el Departamento de Computación de la Facultad de Ciencias Exactas, Scolnik dice estar en una última etapa de su trabajo:&lt;br /&gt;&lt;br /&gt;–Sí, este tipo de investigación es una amenaza a la seguridad RSA. Pero bueno. Sea acá o en otras partes, si no es uno es otro –dice el matemático–. Yo entiendo que quebrar RSA tendría muchas implicaciones complicadas. Por ejemplo, España ya tiene una tarjeta chip equivalente al DNI argentino que tiene una RSA 1024. Malasia también.&lt;br /&gt;&lt;br /&gt;–En ámbitos especializados ya se está hablando de que las RSA 1024 podrían caer...&lt;br /&gt;&lt;br /&gt;–Sí. Pero las compañías financieras grandes usan RSA 2048.&lt;br /&gt;&lt;br /&gt;En general, por ejemplo, en la Argentina, en el caso de las Fuerzas Armadas, estamos hablando de 4096. Yo tengo software de hasta 8192. Lo que pasa es que el tipo de método que estoy investigando, si llega a dar resultado, va a funcionar para cualquier longitud. No va a tener una traba. Entonces, pasar de 1024 a la 2048 no va remediar la situación. El problema va a ser para el método de las RSA. Lo sabremos dentro de un tiempo.&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;AGARRATE, CATALINA.&lt;/strong&gt; –¿Bancos y financieras serían los afectados de su descubrimiento?&lt;br /&gt;&lt;br /&gt;–Principalmente. Y algunos gobiernos. También se usan certificados digitales en Canadá para votar. Creo que el problema más grande es en el ámbito de los contratos. Existe una ley de firma digital que dice que si yo te mando un documento firmado digitalmente y te digo que te voy a pagar 10.000 pesos, eso es como si lo hubiera firmado ante un escribano público. Te tengo que pagar 10.000 pesos. Si uno quiebra RSA, entonces uno hace un contrato trucho donde dice que en vez de 10.000 son 50.000. Y está firmado digitalmente por mí. Por tanto, yo me la tengo que bancar porque la ley lo dice.&lt;br /&gt;&lt;br /&gt;–Pero antes que suceda un desfalco habría un cambio tecnológico...&lt;br /&gt;&lt;br /&gt;–Habría un cambio tecnológico si se anuncia que eso va a pasar. Suponé que alguien sabe quebrar RSA y no dice nada. Agarra y quiebra un día una transferencia bancaria. Podrán investigar cómo fue, quién lo hizo, fue un problema, un error. No hace nada más. Un solo delito. Después comete otro, en otro país, en otro lugar, en otro escenario posible, distanciado en el tiempo.&lt;br /&gt;&lt;br /&gt;Sin provocar pánico. Simplemente algo que quedó como esas cosas que uno nunca sabe muy bien adónde fueron a parar. Entonces, si no se anuncia, no hay un cambio tecnológico, no hay un warning (advertencia), no hay nada. Hay escenarios muy complejos que se pueden dar. No nos adelantemos. Todavía no está quebrado.&lt;br /&gt;&lt;br /&gt;Consultado por este medio, el especialista español Fernando Acero aporta una lista de 12 claves RSA quebradas desde 1991 en laboratorios y universidades. La lista incluye una RSA 100 en abril de 1991; una RSA 640 en noviembre de 2005 y una RSA 200 en mayo de 2005.&lt;br /&gt;&lt;br /&gt;–¿Que se quiebre una RSA quiere decir que esa extensión ya no sirve más porque fue descubierta?&lt;br /&gt;&lt;br /&gt;–Sí y no –responde Scolnik–. Hay que ver cuánto esfuerzo demandó todo eso. Porque en el caso de la RSA 640 fue todo un equipo en Alemania de varias universidades y unos cientos de investigadores. O sea, que se haya quebrado una clave de 640 no quiere decir que otra de la misma extensión se pueda quebrar así nomás. No es que se llega a un método con el que se aprieta un botón y en cinco minutos tiene la clave. En todos los casos, requiere un esfuerzo gigantesco con métodos tradicionales. ¿Qué es lo que estoy tratando de hacer yo? Estoy tratando de encontrar un método que sea mucho más rápido para cualquier longitud.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;EL DÍA DESPUÉS DE MAÑANA. &lt;/strong&gt;–¿Cómo imagina la concreción de su método de factorización? ¿Que se publique y se terminen las claves RSA? ¿Sería algo equivalente a cuando en Duro de matar los ladrones abren la bóveda del banco?&lt;br /&gt;&lt;br /&gt;–No. Implicaría un cambio de tecnología. Me parece que pasa continuamente cuando se vende un medicamento y después descubren que tiene efectos contraproducentes. Hay casos dramáticos y hay otros que no son tan espantosos pero que se puede determinar que son malos para la salud.&lt;br /&gt;&lt;br /&gt;–Lo cual requiere para las empresas una fuerte inversión.&lt;br /&gt;&lt;br /&gt;–Sí, principalmente sería un cambio en el software y de certificados digitales que contengan otra tecnología. RSA es uno de los sistemas de clave pública. Hay otros conocidos en dispositivos móviles, del tipo teléfonos celulares, como el de curvas elípticas, donde las claves son mucho más pequeñas. De todas formas, me parece que hay dos temas. Por un lado está el resultado teórico. Y por el otro, si uno pone o no a disposición de la gente la metodología para quebrar.&lt;br /&gt;&lt;br /&gt;El software es muy difícil. Por más que uno publique un trabajo científico, no quiere decir que lo vayan a aplicar así nomás. Está lleno de detalles y de cosas que cuestan sangre, sudor y lágrimas. Una cosas es que uno lo ponga en la web y diga “Bajate este programa” y otra cosa es que uno demuestre cosas más teóricas sin demasiada explicitación, con lo cual la gente todavía no va a poder hacerlo. Me parece que hay que dar un tiempo también a un cambio tecnológico.&lt;br /&gt;&lt;br /&gt;–¿Ésta es la última etapa de la investigación?&lt;br /&gt;&lt;br /&gt;–¿Será?&lt;br /&gt;&lt;br /&gt;Acodado sobre el pequeño escritorio, Scolnik duda con la mirada de ojos pequeños, cansados, detrás de los anteojos de marco grueso. Y dispara:&lt;br /&gt;&lt;br /&gt;–Se van abriendo muchos caminos. Uno mismo tiene que ir descartando opciones. Hay muchas cosas que yo francamente las sigo con la esperanza de que den algo y después me doy cuenta de que la cosa por ahí no puede funcionar. Entonces tengo que volver para atrás y cambiar de idea. Pero eso es un proceso normal en una tarea de investigación. Uno se equivoca mucho. Es una de las cosas lindas de transmitir a los estudiantes. Porque un estudiante agarra un trabajo científico publicado y dice “¡Pero este tipo es un genio, está todo maravilloso del principio al fin!”. Y el tipo ese se equivocó, lloró, se peleó con la mujer, le pasó de todo.&lt;br /&gt;El hombre será matemático y podrá poner el mundo al revés. Pero se toma su tiempo para bromear:&lt;br /&gt;&lt;br /&gt;–Me preguntó Martín Hellman, uno de los padres de la criptografía de clave pública: “Si tenés éxito, ¿qué haces?”. Una posibilidad: me convierto en chorro internacional Empiezo a interceptar claves públicas de bancos y empiezo a hacer transferencias. Hago que un banco me firme contratos en los que me pagan 10.000 dólares por minuto. Qué sé yo. Se puede hacer cualquier zafarrancho. La otra opción es publicarlo científicamente. Los dos son caminos muy complicados.&lt;br /&gt;&lt;br /&gt;Fuente: &lt;a href="http://www.criticadigital.com.ar/impresa/index.php?secc=nota&amp;amp;nid=7572"&gt;www.criticadigital.com.ar&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-4846592655218644568?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/4846592655218644568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=4846592655218644568&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/4846592655218644568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/4846592655218644568'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/07/el-hombre-que-podra-enloquecer-al-mundo.html' title='El hombre que podría enloquecer al mundo'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_qoMj8Cxqh50/SHJdnAKPW0I/AAAAAAAAAVI/d7CYxg7jhmU/s72-c/20050002528-0-large.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-7968985423115548286</id><published>2008-07-06T14:42:00.000-07:00</published><updated>2008-07-06T14:44:15.488-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Videos'/><title type='text'>Publicidad de Mercado Libre</title><content type='html'>Muy buena publicidad de mercadolibre, aunque nunca mas me llamaron para la pasantia ja. A ver si se ponen las pilas en la empresa...XD.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/_VLehKrYHjg&amp;hl=en"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/_VLehKrYHjg&amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-7968985423115548286?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/7968985423115548286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=7968985423115548286&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/7968985423115548286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/7968985423115548286'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/07/publicidad-de-mercado-libre.html' title='Publicidad de Mercado Libre'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-2419392943188770169</id><published>2008-07-06T08:49:00.000-07:00</published><updated>2008-07-06T08:51:26.664-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Geeki comic'/><title type='text'>Indescifrable</title><content type='html'>&lt;embed src="http://revosoft.com.ar/rapid.swf" quality="high" bgcolor="#ffffff" name="marco2" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" width="425" align="middle" height="350"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;Fuente: &lt;a href="http://www.revosoft.com.ar/geeki/2008/06/16/indescifrable/"&gt;Geeki&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-2419392943188770169?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/2419392943188770169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=2419392943188770169&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/2419392943188770169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/2419392943188770169'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/07/indescifrable.html' title='Indescifrable'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-1862400702429811942</id><published>2008-07-06T07:15:00.000-07:00</published><updated>2008-07-06T07:17:58.511-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mundo'/><category scheme='http://www.blogger.com/atom/ns#' term='Videos'/><category scheme='http://www.blogger.com/atom/ns#' term='Películas'/><title type='text'>Domingo de Película: Zeitgeist</title><content type='html'>&lt;b&gt;Zeitgeist&lt;/b&gt; es un documental sin ánimo de lucro del año &lt;a href="http://es.wikipedia.org/wiki/2007" title="2007"&gt;2007&lt;/a&gt; producido por Peter Joseph con difusión por &lt;a href="http://es.wikipedia.org/wiki/Internet" title="Internet"&gt;Internet&lt;/a&gt; (mediante &lt;a href="http://es.wikipedia.org/wiki/Google_Video" title="Google Video"&gt;Google Video&lt;/a&gt;). Aunque fue grabado originalmente en inglés, es posible encontrarlo con subtítulos en español. Es un documental a manera de &lt;a href="http://es.wikipedia.org/wiki/Intrahistoria" title="Intrahistoria"&gt;intrahistoria&lt;/a&gt;: intenta partir de un análisis &lt;a href="http://es.wikipedia.org/wiki/Racionalista" class="mw-redirect" title="Racionalista"&gt;racionalista&lt;/a&gt; e &lt;a href="http://es.wikipedia.org/wiki/Historiograf%C3%ADa" title="Historiografía"&gt;histórico&lt;/a&gt; de la estrategia y cálculo político, de varias creencias religiosas e &lt;a href="http://es.wikipedia.org/wiki/Institucion" class="mw-redirect" title="Institucion"&gt;instituciones&lt;/a&gt; &lt;a href="http://es.wikipedia.org/wiki/Pol%C3%ADtica" title="Política"&gt;políticas&lt;/a&gt; y económicas, en especial el &lt;a href="http://es.wikipedia.org/wiki/Cristianismo" title="Cristianismo"&gt;cristianismo&lt;/a&gt;, los &lt;a href="http://es.wikipedia.org/wiki/Ataques_del_11_de_septiembre" class="mw-redirect" title="Ataques del 11 de septiembre"&gt;ataques del 11 de septiembre&lt;/a&gt;, la &lt;a href="http://es.wikipedia.org/wiki/Guerra_contra_el_terrorismo" title="Guerra contra el terrorismo"&gt;guerra contra el terrorismo&lt;/a&gt;, la &lt;a href="http://es.wikipedia.org/wiki/Reserva_Federal" class="mw-redirect" title="Reserva Federal"&gt;Reserva Federal&lt;/a&gt; y el &lt;a href="http://es.wikipedia.org/w/index.php?title=Sistema_financiero_internacional&amp;amp;action=edit&amp;amp;redlink=1" class="new" title="Sistema financiero internacional (aún no redactado)"&gt;sistema financiero internacional&lt;/a&gt;. El propio título, &lt;a href="http://es.wikipedia.org/wiki/Zeitgeist" title="Zeitgeist"&gt;Zeitgeist&lt;/a&gt;, quiere decir "espíritu guardián del siglo", es decir, la experiencia del clima cultural dominante.&lt;br /&gt;&lt;p&gt;El documental está estructurado en tres partes. La primera es una exposición del &lt;a href="http://es.wikipedia.org/wiki/Cristianismo" title="Cristianismo"&gt;cristianismo&lt;/a&gt; como un &lt;a href="http://es.wikipedia.org/wiki/Mitolog%C3%ADa" title="Mitología"&gt;mito&lt;/a&gt;, un híbrido astrológico-literario. Este mito constituye el terreno abonado sobre el que pueden funcionar nuevos mitos en los que las masas crean ciegamente y así ser manejados con mayor facilidad. La segunda parte expone el funcionamiento de la propaganda y adoctrinación mediática, logrando que los propios ciudadanos acepten ser más controlados por sus gobiernos. La tercera sección habla sobre la geopolítica y economía global enfocándose en el monopolio del dinero (junto a la especulación financiera) y el gasto militar.&lt;/p&gt; &lt;p&gt;&lt;a name="Primera_parte:_La_historia_m.C3.A1s_grande_jam.C3.A1s_contada" id="Primera_parte:_La_historia_m.C3.A1s_grande_jam.C3.A1s_contada"&gt;&lt;/a&gt;&lt;/p&gt; &lt;h3&gt;&lt;span class="mw-headline"&gt;Primera parte: La historia más grande jamás contada&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;En la primera parte del &lt;a href="http://es.wikipedia.org/wiki/Documental" title="Documental"&gt;documental&lt;/a&gt; se describen las similitudes que existen entre religiones antiguas y el cristianismo.&lt;/p&gt; &lt;p&gt;Por medio de una serie de acontecimientos y fechas se relacionan las narraciones religiosas más conocidas con la descripción astrológica que los egipcios relatan sobre el dios &lt;a href="http://es.wikipedia.org/wiki/Horus" title="Horus"&gt;Horus&lt;/a&gt; en forma de historia mitológica.&lt;/p&gt; &lt;p&gt;Se hace hincapié en que ciertos atributos de &lt;a href="http://es.wikipedia.org/wiki/Mito" title="Mito"&gt;mitos&lt;/a&gt; anteriores fueron copiados y atribuidos por los primeros cristianos al &lt;a href="http://es.wikipedia.org/wiki/Jes%C3%BAs" class="mw-redirect" title="Jesús"&gt;Jesús&lt;/a&gt; histórico.&lt;/p&gt; &lt;p&gt;&lt;a name="Segunda_parte:_Todo_el_mundo_es_un_escenario" id="Segunda_parte:_Todo_el_mundo_es_un_escenario"&gt;&lt;/a&gt;&lt;/p&gt; &lt;h3&gt;&lt;span class="mw-headline"&gt;Segunda parte: Todo el mundo es un escenario&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;En este capítulo se intenta demostrar que los ataques del &lt;a href="http://es.wikipedia.org/wiki/11S" class="mw-redirect" title="11S"&gt;11S&lt;/a&gt; en &lt;a href="http://es.wikipedia.org/wiki/Nueva_York" title="Nueva York"&gt;Nueva York&lt;/a&gt; y los &lt;a href="http://es.wikipedia.org/wiki/Atentados_del_7_de_julio_de_2005_en_Londres" title="Atentados del 7 de julio de 2005 en Londres"&gt;atentados del 7 de julio de 2005 en Londres&lt;/a&gt; fueron en realidad perpetrados por algún grupo de poder de &lt;a href="http://es.wikipedia.org/wiki/EE._UU." class="mw-redirect" title="EE. UU."&gt;EE. UU.&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Esta &lt;a href="http://es.wikipedia.org/wiki/Operaci%C3%B3n_de_bandera_falsa" title="Operación de bandera falsa"&gt;operación de bandera falsa&lt;/a&gt; estaría encaminada a conseguir el beneplácito de la sociedad estadounidense para iniciar las reformas necesarias que permitirían el comienzo de una serie de "invasiones" de puntos estratégicos como son &lt;a href="http://es.wikipedia.org/wiki/Afganist%C3%A1n" title="Afganistán"&gt;Afganistán&lt;/a&gt;, &lt;a href="http://es.wikipedia.org/wiki/Iraq" title="Iraq"&gt;Iraq&lt;/a&gt; e &lt;a href="http://es.wikipedia.org/wiki/Ir%C3%A1n" title="Irán"&gt;Irán&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;a name="Tercera_parte:_No_prestes_atenci.C3.B3n_a_los_hombres_detr.C3.A1s_de_la_cortina" id="Tercera_parte:_No_prestes_atenci.C3.B3n_a_los_hombres_detr.C3.A1s_de_la_cortina"&gt;&lt;/a&gt;&lt;/p&gt; &lt;h3&gt;&lt;span class="mw-headline"&gt;Tercera parte: No prestes atención a los hombres detrás de la cortina&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;En el último &lt;a href="http://es.wikipedia.org/wiki/Cap%C3%ADtulo" title="Capítulo"&gt;capítulo&lt;/a&gt; se detalla el nacimiento del &lt;a href="http://es.wikipedia.org/wiki/Banco_Central" class="mw-redirect" title="Banco Central"&gt;Banco Central&lt;/a&gt;, la evolución del &lt;a href="http://es.wikipedia.org/w/index.php?title=Sistema_monetario&amp;amp;action=edit&amp;amp;redlink=1" class="new" title="Sistema monetario (aún no redactado)"&gt;sistema monetario&lt;/a&gt; y por último los supuestos fines de los hombres detrás de la cortina, que irían desde la implantación de &lt;a href="http://es.wikipedia.org/wiki/Chip" class="mw-redirect" title="Chip"&gt;chips&lt;/a&gt; &lt;a href="http://es.wikipedia.org/wiki/RFID" title="RFID"&gt;RFID&lt;/a&gt; en todas las personas del planeta, hasta la declaración de un &lt;a href="http://es.wikipedia.org/w/index.php?title=Gobierno_global&amp;amp;action=edit&amp;amp;redlink=1" class="new" title="Gobierno global (aún no redactado)"&gt;gobierno global&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Es el capítulo donde a partir de la segunda mitad, específicamente en el tema sobre el futuro de la &lt;a href="http://es.wikipedia.org/wiki/Geopol%C3%ADtica" title="Geopolítica"&gt;geopolítica&lt;/a&gt;, más se mezclan proyecciones sobre sucesos futuros sin el análisis histórico. &lt;a href="http://es.wikipedia.org/wiki/Zeitgeist_%28pel%C3%ADcula%29"&gt;Mas en Wikipedia...&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;embed id="VideoPlayback" style="width:400px;height:326px" allowFullScreen="true" src="http://video.google.com/googleplayer.swf?docid=8883910961351786332&amp;hl=es&amp;fs=true" type="application/x-shockwave-flash"&gt; &lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-1862400702429811942?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/1862400702429811942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=1862400702429811942&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/1862400702429811942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/1862400702429811942'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/07/domingo-de-pelcula-zeitgeist.html' title='Domingo de Película: Zeitgeist'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-6470018394280792274</id><published>2008-07-06T04:34:00.000-07:00</published><updated>2008-07-06T04:54:29.362-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programas'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><category scheme='http://www.blogger.com/atom/ns#' term='Arch Linux'/><title type='text'>Cambiar o Modificar el idioma a Firefox 3</title><content type='html'>En Archlinux, Firefox 3 se llama &lt;a href="http://www.mozilla.org/projects/minefield/"&gt;Minefield&lt;/a&gt; ¿Por qué?. Porque es la version compilada para nuestra distribución, ya que Archlinux sólo es para arquitecturas i686 o x86_64. Mozilla la denomina version Testing.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_qoMj8Cxqh50/SHCwqNutShI/AAAAAAAAAU4/qv3GIWHIaS0/s1600-h/Pantallazo-1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_qoMj8Cxqh50/SHCwqNutShI/AAAAAAAAAU4/qv3GIWHIaS0/s320/Pantallazo-1.png" alt="" id="BLOGGER_PHOTO_ID_5219866207408966162" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Y como verán Minefield, se encuentra en Inglés, para solucionarlo, tenemos dos opciones:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Podemos navegar en el directorio xpi de &lt;a href="http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0/linux-i686/xpi/"&gt;idiomas&lt;/a&gt; de mozilla y bajarse el que le parezca. En mi caso me baje &lt;a href="http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0/linux-i686/xpi/es-AR.xpi"&gt;es-AR.xpi&lt;/a&gt;, que es el idioma español argentino o también latinoamericano.&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_qoMj8Cxqh50/SHCwyg2XYEI/AAAAAAAAAVA/oIOY21pScoo/s1600-h/Pantallazo.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_qoMj8Cxqh50/SHCwyg2XYEI/AAAAAAAAAVA/oIOY21pScoo/s320/Pantallazo.png" alt="" id="BLOGGER_PHOTO_ID_5219866349980311618" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Y la segunda opción es instalarse el paquete firefox-i18n con pacman, el cual cuenta con una gran variedad de idiomas.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;pre&gt;&lt;br /&gt;[braianet@ArchLinux ~]$ pacman -Si firefox-i18n&lt;br /&gt;Repositorio    : extra&lt;br /&gt;Nombre           : firefox-i18n&lt;br /&gt;Versión        : 3.0-1&lt;br /&gt;URL               : http://www.mozilla.com/&lt;br /&gt;Licencias      : MPL&lt;br /&gt;Grupos            : Nada&lt;br /&gt;Provee            : Nada&lt;br /&gt;Depende De        : firefox=3.0&lt;br /&gt;Dependencias Opcionales  : Nada&lt;br /&gt;Conflictos con    : mozilla-firefox-i18n  mozilla-firefox-af&lt;br /&gt;                  mozilla-firefox-ar  mozilla-firefox-be  mozilla-firefox-ca&lt;br /&gt;                  mozilla-firefox-cs  mozilla-firefox-da  mozilla-firefox-de&lt;br /&gt;                  mozilla-firefox-el  mozilla-firefox-en-GB&lt;br /&gt;                  mozilla-firefox-es-AR  mozilla-firefox-es-ES&lt;br /&gt;                  mozilla-firefox-eu  mozilla-firefox-fi  mozilla-firefox-fr&lt;br /&gt;                  mozilla-firefox-fy-NL  mozilla-firefox-ga-IE&lt;br /&gt;                  mozilla-firefox-gu-IN  mozilla-firefox-he&lt;br /&gt;                  mozilla-firefox-hu  mozilla-firefox-id  mozilla-firefox-it&lt;br /&gt;                  mozilla-firefox-ja  mozilla-firefox-ka  mozilla-firefox-ko&lt;br /&gt;                  mozilla-firefox-ku  mozilla-firefox-lt  mozilla-firefox-mk&lt;br /&gt;                  mozilla-firefox-mn  mozilla-firefox-nb-NO&lt;br /&gt;                  mozilla-firefox-nl  mozilla-firefox-nn-NO&lt;br /&gt;                  mozilla-firefox-pa-IN  mozilla-firefox-pl&lt;br /&gt;                  mozilla-firefox-pt-BR  mozilla-firefox-pt-PT&lt;br /&gt;                  mozilla-firefox-ro  mozilla-firefox-ru  mozilla-firefox-si&lt;br /&gt;                  mozilla-firefox-sk  mozilla-firefox-sl  mozilla-firefox-sq&lt;br /&gt;                  mozilla-firefox-sr  mozilla-firefox-sv-SE&lt;br /&gt;                  mozilla-firefox-tr  mozilla-firefox-uk&lt;br /&gt;                  mozilla-firefox-zh-CN  mozilla-firefox-zh-TW  firefox-af&lt;br /&gt;                  firefox-ar  firefox-be  firefox-ca  firefox-cs  firefox-da&lt;br /&gt;                  firefox-de  firefox-el  firefox-en-GB  firefox-es-AR&lt;br /&gt;                  firefox-es-ES  firefox-eu  firefox-fi  firefox-fr&lt;br /&gt;                  firefox-fy-NL  firefox-ga-IE  firefox-gu-IN  firefox-he&lt;br /&gt;                  firefox-hu  firefox-id  firefox-it  firefox-ja  firefox-ka&lt;br /&gt;                  firefox-ko  firefox-ku  firefox-lt  firefox-mk  firefox-mn&lt;br /&gt;                  firefox-nb-NO  firefox-nl  firefox-nn-NO  firefox-pa-IN&lt;br /&gt;                  firefox-pl  firefox-pt-BR  firefox-pt-PT  firefox-ro&lt;br /&gt;                  firefox-ru  firefox-si  firefox-sk  firefox-sl  firefox-sq&lt;br /&gt;                  firefox-sr  firefox-sv-SE  firefox-tr  firefox-uk&lt;br /&gt;                  firefox-zh-CN  firefox-zh-TW&lt;br /&gt;Reemplaza     : Nada&lt;br /&gt;Tamaño de la descarga  : 5742,04 K&lt;br /&gt;Tamaño instalado  : 23376,09 K&lt;br /&gt;Empaquetador      : Jan de Groot &lt;jgc@archlinux.org&gt;&lt;br /&gt;Arquitectura   : i686&lt;br /&gt;Fecha de compilación : dom 22 jun 2008 16:34:58 ART&lt;br /&gt;Hash MD5     : 5741c236f48666433fe9f3e241495907&lt;br /&gt;Descripción    : Language packs for Firefox&lt;br /&gt;&lt;br /&gt;&lt;/jgc@archlinux.org&gt;&lt;/pre&gt;Espero que les haya servido. Saludos!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-6470018394280792274?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/6470018394280792274/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=6470018394280792274&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/6470018394280792274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/6470018394280792274'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/07/cambiar-o-modificar-el-idioma-firefox-3.html' title='Cambiar o Modificar el idioma a Firefox 3'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_qoMj8Cxqh50/SHCwqNutShI/AAAAAAAAAU4/qv3GIWHIaS0/s72-c/Pantallazo-1.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-8687389672777331463</id><published>2008-07-05T10:32:00.000-07:00</published><updated>2008-07-05T10:34:15.123-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mundo'/><category scheme='http://www.blogger.com/atom/ns#' term='Videos'/><title type='text'>El dinero es deuda</title><content type='html'>&lt;span style="display: inline;" id="long-desc"&gt;El dinero es un documental didáctico donde se explica cómo se crea y funciona el dinero, una vez visionado, uno ya puede hacerse una idea de cómo funciona nuestro agradable mundo financiero y social. Es espeluznante entre otras frases que mencionan en el documental la del banquero Meyer Rothschild, fundador de la dinastía Rothschlid: "Denme el control del dinero y ya no importará quién haga las leyes."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;embed id="VideoPlayback" style="width:400px;height:326px" allowFullScreen="true" src="http://video.google.com/googleplayer.swf?docid=-2882126416932219790&amp;hl=es&amp;fs=true" type="application/x-shockwave-flash"&gt; &lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-8687389672777331463?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/8687389672777331463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=8687389672777331463&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/8687389672777331463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/8687389672777331463'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/07/el-dinero-es-deuda.html' title='El dinero es deuda'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-3014263508750385562</id><published>2008-07-05T09:42:00.000-07:00</published><updated>2008-07-05T09:43:31.431-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><category scheme='http://www.blogger.com/atom/ns#' term='Libros'/><title type='text'>Curso de programación en C para GNU/Linux</title><content type='html'>&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_9G0oQmg9lTM/SF45qprh6DI/AAAAAAAABag/DUqu-ZcVDYE/s1600-h/curso_c_gnu_linux1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_9G0oQmg9lTM/SF45qprh6DI/AAAAAAAABag/DUqu-ZcVDYE/s400/curso_c_gnu_linux1.png" alt="" id="BLOGGER_PHOTO_ID_5214668823447332914" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Curso de programación en C para GNU/Linux realizado por &lt;span style="font-weight: bold;"&gt;Pablo Garaizar Sagarminaga&lt;/span&gt;. &lt;/p&gt;&lt;p&gt;El curso comprende los siguientes apartados:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Llamadas al sitema&lt;/li&gt;&lt;li&gt;Programas, procesos, hilos&lt;/li&gt;&lt;li&gt;Estructuras de datos&lt;/li&gt;&lt;li&gt;Estados de los procesos en Linux&lt;/li&gt;&lt;li&gt;Identificativos de proceso&lt;/li&gt;&lt;li&gt;Planificación&lt;/li&gt;&lt;li&gt;El GCC&lt;/li&gt;&lt;li&gt;Compilación básica&lt;/li&gt;&lt;li&gt;Librerías&lt;/li&gt;&lt;li&gt;Optimizaciones&lt;/li&gt;&lt;li&gt;Debuggin&lt;/li&gt;&lt;li&gt;Make y makefile&lt;/li&gt;&lt;li&gt;Programando en C para GNU/Linux&lt;/li&gt;&lt;li&gt;Llamadas sencillas&lt;/li&gt;&lt;li&gt;Manejo de directorios&lt;/li&gt;&lt;li&gt;Permisos&lt;/li&gt;&lt;li&gt;Creación y duplicación de procesos&lt;/li&gt;&lt;li&gt;Comunicación entre procesos&lt;/li&gt;&lt;li&gt;Comunicación por red&lt;/li&gt;&lt;/ul&gt; &lt;p style="text-align: center;"&gt;&lt;a href="http://marko24.files.wordpress.com/2008/06/programaciongnulinux.pdf"&gt;Descargar&lt;/a&gt;&lt;/p&gt;Fuente: &lt;a href="http://www.lugsaju.com.ar/2008/07/curso-de-programacin-en-c-para-gnulinux.html"&gt;http://www.lugsaju.com.ar/2008/07/curso-de-programacin-en-c-para-gnulinux.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-3014263508750385562?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/3014263508750385562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=3014263508750385562&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/3014263508750385562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/3014263508750385562'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/07/curso-de-programacin-en-c-para-gnulinux.html' title='Curso de programación en C para GNU/Linux'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_9G0oQmg9lTM/SF45qprh6DI/AAAAAAAABag/DUqu-ZcVDYE/s72-c/curso_c_gnu_linux1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-1395847991683627886</id><published>2008-06-30T11:23:00.000-07:00</published><updated>2008-06-30T11:28:22.216-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Varios'/><title type='text'>Si fueramos como los futbolistas...</title><content type='html'>Casi siempre leo el blog &lt;a href="http://elladodelmal.blogspot.com/2008/06/championes.html"&gt;eladodelmal&lt;/a&gt;, que es de un flaco que trabaja en seguridad informatica, aunque no me gusta que le tire siempre con bombas a Linux, bue nadie es perfecto jaja. Trabaja para Micro$oft como podriamos imaginar...&lt;p&gt;La cuestión es que me pareció muy comico lo siguiente, ya que españa(su pais) salió campeon de la eurocopa, y como todos sabemos los futbolistas al terminar el partido relatan como fué el encuentro. Pero imaginense a un informático que descubrió un exploit XD:&lt;/p&gt;&lt;p&gt;"la verdad es que fue una compilación muy dificil, el código estaba muy desordenado, no había muchas llamadas a funciones, el equipo de programadores no había refactorizado correctamente el flujo y esto hacía que no hubiera llamadas exteriores en paralelo. Los desmarques de variables eran muy dificiles de fijar y esto hacía que se fueran de marca constantemente. Al final encontré el fallo, pero ha sido un trabajo colectivo, lo importante es el equipo. Yo, personalmente me sentí muy felíz, pleno de satisfacción"&lt;/p&gt;&lt;p&gt;Y la foto de portada del diario "El Bug" el informático levantando el portátil entre fuegos artificiales y la música de Queen.. "we are the champions, no time for loosers, 'cause we are the ch...." y él con la sonrisa de felicidad en alto. Las niñas monas a sus pies, pidiendo un hijo suyo, abrazos, besos, etc..."&lt;/p&gt;&lt;p&gt;Muy ingenioso este tipo Chema XD. Saludos!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-1395847991683627886?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/1395847991683627886/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=1395847991683627886&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/1395847991683627886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/1395847991683627886'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/06/si-fueramos-como-los-futbolistas.html' title='Si fueramos como los futbolistas...'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-7765031530032227523</id><published>2008-06-27T10:53:00.000-07:00</published><updated>2008-06-27T10:59:37.473-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wallpapers'/><title type='text'>Anime Wallpapers Gnu/Linux</title><content type='html'>Wallpapers de las distribuciones Gnu/Linux en Anime. Sitio de la creadora &lt;a href="http://www.jkhp.it/OS-tan/desktops.htm"&gt;Link&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;" class="ico"&gt;       &lt;h2&gt;Linux&lt;br /&gt;&lt;em&gt;(a.k.a The Penguin Girl)&lt;/em&gt;&lt;/h2&gt;       &lt;img src="http://www.jkhp.it/OS-tan/desktops/ico_linux.gif" alt="" /&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_linux1024.jpg" title="download image"&gt;1024x768&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_linux1280.jpg" title="download image"&gt;1280x1024&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_linux1440.jpg" title="download image"&gt;1440x900&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_linux1600.jpg" title="download image"&gt;1600x1200&lt;/a&gt;&lt;/p&gt;     &lt;/div&gt;&lt;div style="text-align: center;"&gt;          &lt;/div&gt;&lt;div style="text-align: center;" class="ico"&gt;       &lt;h2&gt;ArchLinux&lt;/h2&gt;       &lt;img src="http://www.jkhp.it/OS-tan/desktops/ico_arch.gif" alt="" /&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_archlinux1024.jpg" title="download image"&gt;1024x768&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_archlinux1280.jpg" title="download image"&gt;1280x1024&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_archlinux1440.jpg" title="download image"&gt;1440x900&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_archlinux1600.jpg" title="download image"&gt;1600x1200&lt;/a&gt;&lt;/p&gt;     &lt;/div&gt;&lt;div style="text-align: center;"&gt;          &lt;/div&gt;&lt;div style="text-align: center;" class="ico"&gt;       &lt;h2&gt;Debian&lt;/h2&gt;       &lt;img src="http://www.jkhp.it/OS-tan/desktops/ico_debian.gif" alt="" /&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_debian1024.jpg" title="download image"&gt;1024x768&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_debian1280.jpg" title="download image"&gt;1280x1024&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_debian1440.jpg" title="download image"&gt;1440x900&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_debian1600.jpg" title="download image"&gt;1600x1200&lt;/a&gt;&lt;/p&gt;     &lt;/div&gt;&lt;div style="text-align: center;"&gt;          &lt;/div&gt;&lt;div style="text-align: center;" class="ico"&gt;       &lt;h2&gt;Fedora&lt;/h2&gt;       &lt;img src="http://www.jkhp.it/OS-tan/desktops/ico_fedora.gif" alt="" /&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_fedora1024.jpg" title="download image"&gt;1024x768&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_fedora1280.jpg" title="download image"&gt;1280x1024&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_fedora1440.jpg" title="download image"&gt;1440x900&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_fedora1600.jpg" title="download image"&gt;1600x1200&lt;/a&gt;&lt;/p&gt;     &lt;/div&gt;&lt;div style="text-align: center;"&gt;          &lt;/div&gt;&lt;div style="text-align: center;" class="ico"&gt;       &lt;h2&gt;Gentoo&lt;/h2&gt;       &lt;img src="http://www.jkhp.it/OS-tan/desktops/ico_gentoo.gif" alt="" /&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_gentoo1024.jpg" title="download image"&gt;1024x768&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_gentoo1280.jpg" title="download image"&gt;1280x1024&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_gentoo1440.jpg" title="download image"&gt;1440x900&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_gentoo1600.jpg" title="download image"&gt;1600x1200&lt;/a&gt;&lt;/p&gt;     &lt;/div&gt;&lt;div style="text-align: center;"&gt;          &lt;/div&gt;&lt;div style="text-align: center;" class="ico"&gt;       &lt;h2&gt;Knoppix&lt;/h2&gt;       &lt;img src="http://www.jkhp.it/OS-tan/desktops/ico_knoppix.gif" alt="" /&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_knoppix1024.jpg" title="download image"&gt;1024x768&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_knoppix1280.jpg" title="download image"&gt;1280x1024&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_knoppix1440.jpg" title="download image"&gt;1440x900&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_knoppix1600.jpg" title="download image"&gt;1600x1200&lt;/a&gt;&lt;/p&gt;     &lt;/div&gt;&lt;div style="text-align: center;"&gt;          &lt;/div&gt;&lt;div style="text-align: center;" class="ico"&gt;       &lt;h2&gt;Mandriva&lt;/h2&gt;       &lt;img src="http://www.jkhp.it/OS-tan/desktops/ico_mandriva.gif" alt="" /&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_mandriva1024.jpg" title="download image"&gt;1024x768&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_mandriva1280.jpg" title="download image"&gt;1280x1024&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_mandriva1440.jpg" title="download image"&gt;1440x900&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_mandriva1600.jpg" title="download image"&gt;1600x1200&lt;/a&gt;&lt;/p&gt;     &lt;/div&gt;&lt;div style="text-align: center;"&gt;          &lt;/div&gt;&lt;div style="text-align: center;" class="ico"&gt;       &lt;h2&gt;Red Hat&lt;/h2&gt;       &lt;img src="http://www.jkhp.it/OS-tan/desktops/ico_redhat.gif" alt="" /&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_redhat1024.jpg" title="download image"&gt;1024x768&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_redhat1280.jpg" title="download image"&gt;1280x1024&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_redhat1440.jpg" title="download image"&gt;1440x900&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_redhat1600.jpg" title="download image"&gt;1600x1200&lt;/a&gt;&lt;/p&gt;     &lt;/div&gt;&lt;div style="text-align: center;"&gt;          &lt;/div&gt;&lt;div style="text-align: center;" class="ico"&gt;       &lt;h2&gt;Slackware&lt;/h2&gt;       &lt;img src="http://www.jkhp.it/OS-tan/desktops/ico_slackware.gif" alt="" /&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_slackware1024.jpg" title="download image"&gt;1024x768&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_slackware1280.jpg" title="download image"&gt;1280x1024&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_slackware1440.jpg" title="download image"&gt;1440x900&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_slackware1600.jpg" title="download image"&gt;1600x1200&lt;/a&gt;&lt;/p&gt;     &lt;/div&gt;&lt;div style="text-align: center;"&gt;      &lt;/div&gt;&lt;div style="text-align: center;" class="ico"&gt;       &lt;h2&gt;Suse&lt;/h2&gt;       &lt;img src="http://www.jkhp.it/OS-tan/desktops/ico_suse.gif" alt="" /&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_suse1024.jpg" title="download image"&gt;1024x768&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_suse1280.jpg" title="download image"&gt;1280x1024&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_suse1440.jpg" title="download image"&gt;1440x900&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_suse1600.jpg" title="download image"&gt;1600x1200&lt;/a&gt;&lt;/p&gt;     &lt;/div&gt;&lt;div style="text-align: center;"&gt;          &lt;/div&gt;&lt;div style="text-align: center;" class="ico"&gt;       &lt;h2&gt;Ubuntu&lt;/h2&gt;       &lt;img src="http://www.jkhp.it/OS-tan/desktops/ico_ubuntu.gif" alt="" /&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_ubuntu1024.jpg" title="download image"&gt;1024x768&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_ubuntu1280.jpg" title="download image"&gt;1280x1024&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_ubuntu1440.jpg" title="download image"&gt;1440x900&lt;/a&gt;&lt;/p&gt;       &lt;p&gt;&lt;a href="http://www.jkhp.it/OS-tan/desktops/JKHP_ubuntu1600.jpg" title="download image"&gt;1600x1200&lt;/a&gt;&lt;/p&gt;     &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-7765031530032227523?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/7765031530032227523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=7765031530032227523&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/7765031530032227523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/7765031530032227523'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/06/anime-wallaper-gnulinux.html' title='Anime Wallpapers Gnu/Linux'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-8629623322889150216</id><published>2008-06-26T18:21:00.001-07:00</published><updated>2008-06-26T18:30:18.770-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Consola'/><category scheme='http://www.blogger.com/atom/ns#' term='Sistema'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Ver los puertos abiertos en Gnu/Linux</title><content type='html'>Los siguientes comandos nos ayudaran a ver los sockets/puertos LISTEN o en escucha. Quiere decir los puertos abiertos, preparados para establecer una conexion.&lt;br /&gt;&lt;br /&gt;# netstat -an | grep LISTEN                             &lt;br /&gt;Muestra todos los sockets en estado LISTEN&lt;br /&gt;&lt;br /&gt;# lsof -i                                                    &lt;br /&gt;Muestra todas las conexiones a internet&lt;br /&gt;&lt;br /&gt;#socklist&lt;br /&gt;Nos muestra la lista de los sockets abiertos&lt;br /&gt;&lt;br /&gt;# netstat -anp --udp --tcp | grep LISTEN&lt;br /&gt;Nos muestra solo los puertos LISTEN&lt;br /&gt;&lt;br /&gt;# netstat -tup&lt;br /&gt;Lista las conexiones activas a/desde nuestro sistema&lt;br /&gt;&lt;br /&gt;# netstat -tupl&lt;br /&gt;Lista los puertos en escucha&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-8629623322889150216?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/8629623322889150216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=8629623322889150216&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/8629623322889150216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/8629623322889150216'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/06/ver-los-puertos-abiertos-en-gnulinux.html' title='Ver los puertos abiertos en Gnu/Linux'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-2407377062128431478</id><published>2008-06-26T17:50:00.000-07:00</published><updated>2008-06-26T18:01:20.463-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Arch Linux'/><title type='text'>Crear paquete para Archlinux</title><content type='html'>&lt;div class="storycontent"&gt;Exelente articulo leido en el blog de &lt;a href="http://www.flaper87.org/2008/04/13/crear-paquete-para-archlinux"&gt;FlaPer87&lt;/a&gt;, que nos explica como crear paquetes para Archlinux.   &lt;p&gt;Este es un pequeño y simple howto acerca de como crear un paquete para Archlinux…&lt;/p&gt; &lt;p&gt;Los paquetes de archlinux son simples .tar.gz, la mayoria con 3 archivos dentro (2 de ellos opcional) que gestionan la descarga e instalación de la aplicación, digo la mayoria porque también existen paquetes que ademas de traer estos 2 archivos traen las fuentes de la aplicación (vease el caso de eclipse, netbean, Firefox3, entre otros) y que por ende son más pesados.&lt;/p&gt; &lt;p&gt;Estos dos archivos que mencionon son el PKGBUILD (Obligatorio), un .install con algunas reglas extras como pre_instalacion, post_instalacion, pre_desisntalacion o post_desisntalacion y un archivo .filelist que contine la lista de archivos el cual es usado para la desisntalación del paquete o para buscar conflictos con archivos. El archivo .install se dice que es opcional ya que el paquete no depende directamente de el, pero si no se especifican estas reglas el paquete a la hora de ser desisntalado (por ejemplo) sera eliminado solamente de la base de datos dejando todos los archivos en las carpetas de instalación ya que no existe ninguna regla para desinstalarlo y lo mismo se aplica para el archivo .filelist&lt;/p&gt; &lt;p&gt;Para este ejemplo utilizare el paquete de Ulipad que en estos momentos mantengo. Comencemos con el PKGBUILD:&lt;/p&gt; &lt;p&gt;El PKGBUILD es un archivo que contiene tanto la información completa del paquete como la&lt;br /&gt;funcion de construcción (build) del paquete, por ejemplo:&lt;/p&gt; &lt;pre&gt;# Maintainer: Flavio Percoco &lt;flaper87&gt;&lt;br /&gt;# Contributor: Flavio Percoco &lt;flaper87&gt;&lt;br /&gt;pkgname=ulipad&lt;br /&gt;pkgver=3.8.1&lt;br /&gt;pkgrel=1&lt;br /&gt;pkgdesc="UliPad is en editor written in python and wxPython."&lt;br /&gt;arch=('i686' 'x86_64')&lt;br /&gt;license=('GPL')&lt;br /&gt;install=ulipad.install&lt;br /&gt;url="http://code.google.com/p/ulipad/"&lt;br /&gt;depends=(python wxpython unzip)&lt;br /&gt;source=("http://ulipad.googlecode.com/files/ulipad.$pkgver.zip")&lt;br /&gt;md5sums=('9bfb7c6000c3b1a61e65840385c2be03')&lt;br /&gt;&lt;br /&gt;build() {&lt;br /&gt;cp -Rf $startdir/src/ulipad /usr/share/&lt;br /&gt;echo "#!/bin/bash" &gt; /usr/bin/ulipad&lt;br /&gt;echo "python /usr/share/ulipad/UliPad.py" &gt;&gt; /usr/bin/ulipad&lt;br /&gt;chmod 777 /usr/share/ulipad/ -Rf&lt;br /&gt;chmod a+x /usr/bin/ulipad&lt;br /&gt;}&lt;/flaper87&gt;&lt;/flaper87&gt;&lt;/pre&gt; &lt;p&gt;Expliquemos el PKGBUILD:&lt;/p&gt; &lt;p&gt;Los parametros para proporcionar la informacón del paquete son faciles de entender, sin embargo acá les coloco la explicación de los que utilice, para verlos todos vean este &lt;a title="PKGBUILD" href="http://wiki.archlinux.org/index.php/ABS_PKGBUILD_Explained" target="_blank"&gt;link&lt;/a&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;pkgname: El nombre del paquete.&lt;/li&gt;&lt;li&gt;pkgver: La versión del paquete.&lt;/li&gt;&lt;li&gt;pkgrel: El numero de release del paquete, el cual debe ser modificado cada vez que se le hagan cambios al&lt;/li&gt;&lt;li&gt;PKGBUILD.&lt;/li&gt;&lt;li&gt;pkgdesc: La descripción del paquete.&lt;/li&gt;&lt;li&gt;arch: la architectura para la cual esta permitida el paquete.&lt;/li&gt;&lt;li&gt;license: La licencia del paquete.&lt;/li&gt;&lt;li&gt;install: El archivo .install a incluir el cual debe encontrarse en la misma carpeta del PKGBUILD.&lt;/li&gt;&lt;li&gt;url: La pagina principal del paquete.&lt;/li&gt;&lt;li&gt;depends: Las dependencias del paquete.&lt;/li&gt;&lt;li&gt;source: De donde se obtendran las fuentes, puede ser local como http o ftp.&lt;/li&gt;&lt;li&gt;md5sum: El md5sum de las fuentes del paquete.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;La función build también es bastante simple por el tipo de paquete que estamos creando, Ulipad es un IDE para python hecho en python y utilizando wxwidgets, y su instalación se hace simplemente copiando la carpeta a donde queramos, sin necesidad de compilar o algo por el estilo.&lt;/p&gt; &lt;pre&gt;cp -Rf $startdir/src/ulipad /usr/share/&lt;/pre&gt; &lt;p&gt;Con este comando copiamos la carpeta de ulipad a /usr/share/ que sera nuestro path de instalación.&lt;/p&gt; &lt;pre&gt;echo "#!/bin/bash" &gt; /usr/bin/ulipad&lt;br /&gt;echo "python /usr/share/ulipad/UliPad.py" &gt;&gt; /usr/bin/ulipad&lt;br /&gt;chmod 777 /usr/share/ulipad/ -R&lt;br /&gt;chmod a+x /usr/bin/ulipad&lt;/pre&gt; &lt;p&gt;Esto era realmente opcional y lo hice para ofrecer un lanzador para ulipad ya que este no lo trae, simplemente creo un archivo llamado ulipad bajo /usr/bin el cual ejecutara el comando &lt;em&gt;python /usr/share/UliPad.py&lt;/em&gt; al ser ejecutado y le otorgo permisos de ejecución.&lt;/p&gt; &lt;p&gt;Ahora pasemos a explicar el arhcivo ulipad.install del paquete el cual por la simplicidad del paquete es aun mas facil que el mismo PKGBUILD &lt;img src="http://www.flaper87.org/wp-includes/images/smilies/icon_biggrin.gif" alt=":-D" class="wp-smiley" /&gt; &lt;/p&gt; &lt;pre&gt;post_remove() {&lt;br /&gt;rm -Rf /usr/share/ulipad/&lt;br /&gt;rm /usr/bin/ulipad&lt;br /&gt;}&lt;/pre&gt; &lt;p&gt;La unica función que le agregue fue la de post_remove (post_desinstalacion) la cual eliminara todos los archivos que fueron agregados durante la instalación obviando los de configuracion del usuario por supuesto. En este caso esos archivos son /usr/share/ulipad y /usr/bin/ulipad.&lt;/p&gt; &lt;p&gt;Ok ahora empaquetemos todo lo que acabamos de hacer, creemos una carpeta con el nombre de la aplicación en la cual deberan ser guardados los archivos:&lt;/p&gt; &lt;p&gt;$ mkdir ulipad &amp;amp;&amp;amp; cd ulipad&lt;br /&gt;$ vim PKGBUILD                 // Para crear el PKGBUILD, pueden usar su editor favorito.&lt;br /&gt;$ vim ulipad.install              // Para crear el ulipad.install, pueden usar su editor favorito.&lt;/p&gt; &lt;p&gt;Ahora quedan dos cosas por hacer una es crear el paquete para subirlo a los repositorios de AUR ( &lt;a title="AUR" href="http://wiki.archlinux.org/index.php/AUR_User_Guidelines" target="_blank"&gt;Archlinux User-Community Repository&lt;/a&gt; ) y crear el paquete instalable. El primero nos servira simplemente para subirlo a AUR y que otros lo puedan instalar mediante yaourt (hasta que tenga suficientes votos para entrar en community y poder ser instalado mediante el uso de pacman ), este es un paquete que contiene los dos archivos que creamos y el cual sera construido cuando el usuario intente instalarlo; el segundo es un paquete ya construido y listo para instalar.&lt;/p&gt; &lt;p&gt;$ tar -cvvf ulipad-3.8.1.tar.gz ../              //Este es el que podra ser subido en los repositorios de AUR&lt;/p&gt; &lt;p&gt;# makepkg –asroot                                                // Este debe ser ejecutado como root y con el comando –asroot&lt;/p&gt; &lt;p&gt;Ok… Hemos construido nuestros paquetes, el segundo es opcional pero siempre es bueno probarlo antes de subirlo al repositorio, asi que probemoslo. Como lo tenemos en nuestro computador lo podemos instalar con pacman.&lt;/p&gt; &lt;p&gt;# pacman -A ulipad-3.8.1-1-i686.pkg.tar.gz&lt;/p&gt; &lt;p&gt;Si todo va bien entonces es hora de entrar a la pagina de AUR, iniciar nuestra sesión y subir nuestro paquete ulipad-3.8.1.tar.gz&lt;/p&gt; &lt;p&gt;Espero que les sirva este pequeño howto de como crear un paquete para Archlinux…&lt;/p&gt;&lt;p&gt;&lt;span style="font-weight: bold;"&gt;Nota de braiane&lt;/span&gt;t:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;En un comentario del mismo articulo milmazz nos acota lo siguiente:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Tal vez esto sea un consejo para futuras ocasiones cuando tengas que hacer ficheros de configuración algo extensos, así que en vez colocar cosas como:&lt;/p&gt;&lt;pre&gt;&lt;p&gt;&lt;/p&gt; &lt;p style="font-style: italic;"&gt;&lt;code&gt;echo "#!/bin/bash" &gt; /usr/bin/ulipad&lt;br /&gt;echo "python /usr/share/ulipad/UliPad.py" &gt;&gt; /usr/bin/ulipad&lt;/code&gt;&lt;/p&gt; &lt;p style="font-style: italic;"&gt;Puedes hacer esto:&lt;/p&gt; &lt;p style="font-style: italic;"&gt;&lt;code&gt;cat &gt; /usr/bin/ulipad &lt;&lt;eof bin="" bash=""&gt;&lt;/eof&gt;&lt;/code&gt; &lt;/p&gt;&lt;p style="font-style: italic;"&gt;python /usr/share/ulipad/UliPad.py&lt;br /&gt;EOF&lt;/p&gt;&lt;/pre&gt;&lt;br /&gt;Saludos!&lt;br /&gt;&lt;p style="font-style: italic;"&gt;&lt;/p&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/6301813106398565950-2407377062128431478?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/2407377062128431478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=2407377062128431478&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/2407377062128431478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/2407377062128431478'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/06/exelente-articulo-leido-en-el-blog-de.html' title='Crear paquete para Archlinux'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-4703573715364919652</id><published>2008-06-26T16:48:00.000-07:00</published><updated>2008-06-26T17:07:21.622-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Noticias'/><category scheme='http://www.blogger.com/atom/ns#' term='Arch Linux'/><title type='text'>Estreno Archlinux 2008.06 - "Overlord"</title><content type='html'>Las imagenes 2008.06 están disponibles, éstas introducen muchos cambios:&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.archlinux-es.org/files/garland_logo.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 127px; height: 127px;" src="http://www.archlinux-es.org/files/garland_logo.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;- La categoría 'base' se instala siempre&lt;br /&gt;- Se utilizan los UUID para una nomenclatura persistente de discos&lt;br /&gt;- Disponibles imágenes USB junto a las ISOs&lt;br /&gt;- Disco Live real de arch durante la instalación&lt;br /&gt;- Incluida la Guía para principiantes de la wiki&lt;br /&gt;- Actualizada la documentación&lt;br /&gt;- Incluye el kernel estable actual 2.6.25.6&lt;/p&gt;&lt;p&gt;Despues de mi ansiada espera, sale la version 2008 de Arch. Ya la estoy bajando...=). Es una distro muy recomendada si quieren algo rapido, ligero y estable.&lt;/p&gt;&lt;p style="text-align: center;"&gt;&lt;a href="http://www.archlinux.org/download/"&gt;Link de descarga&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-4703573715364919652?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/4703573715364919652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=4703573715364919652&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/4703573715364919652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/4703573715364919652'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/06/estreno-archlinux-200806-overlord.html' title='Estreno Archlinux 2008.06 - &quot;Overlord&quot;'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-5194919446562785775</id><published>2008-06-26T16:46:00.000-07:00</published><updated>2008-06-26T17:28:16.794-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Noticias'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Se podrán elegir los dominios de Internet</title><content type='html'>&lt;h2 style="font-weight: normal;"&gt;&lt;span style="font-size:100%;"&gt;El ente regulador mundial de la Web aprobó la modificación en las terminaciones de las direcciones electrónicas; .mac, .buenosaires y .juan, algunas alternativas&lt;/span&gt;&lt;/h2&gt;&lt;br /&gt;&lt;span class="trebuchet13"&gt; París.- La Corporación de Internet para la Asignación de Nombres y Números (Icann) decidió hoy durante un encuentro en París que en un futuro próximo se podrá elegir libremente cuál será la terminación de las direcciones de Internet.&lt;br /&gt;&lt;br /&gt;Además de las terminaciones actuales, como por ejemplo ".com", ".org", etc., en el futuro también se podrán utilizar terminaciones que sean nombres propios, como por ejemplo de empresas y de ciudades, ".buenosaires" o ".ebay".&lt;br /&gt;&lt;br /&gt;Los interesados en registrar nuevas direcciones podrán solicitarlo a partir de comienzos del año próximo. Los especialistas estiman que los precios no serán menores a los diez mil euros (15 mil dólares).&lt;br /&gt;&lt;br /&gt;Una de las causas de la decisión fue que se temía que el sistema hasta ahora vigente no pudiera suplir con las necesidades del mercado en los próximos cinco años debido al incremento de la cantidad de direcciones de Internet. Al parecer el año pasado sólo un 17 por ciento de lo que originariamente eran 4000 millones de direcciones seguían estando libres.&lt;br /&gt;&lt;br /&gt;La nueva regulación podría crear valores totalmente nuevos en la navegación, afirmó el directivo de la Icann, Paul Twomey.&lt;br /&gt;&lt;br /&gt;De todas formas, los entendidos suponen que la lucha por las direcciones de Internet que lleven terminaciones clásicas como ".com" no decaerá.&lt;br /&gt;&lt;br /&gt;&lt;b&gt; Cambio histórico. &lt;/b&gt; Los nombres de dominios de alto nivel, o TLD en sus siglas en inglés, son sufijos de Internet como los ubicuos .com, .net y .org. En la actualidad existen más de 200 TLD, entre los que se incluyen los códigos de país de dos caracteres como el argentino .ar.&lt;br /&gt;&lt;br /&gt;"Es una resolución histórica", dijo Peter Dengate Thursh, presidente de la junta de la Icann. "Va a marcar una gran diferencia en cómo se ve y funciona internet", apuntó.&lt;br /&gt;&lt;br /&gt;Una empresa podría también cambiar su dominio para reflejar su marca, de modo que Apple.com podría convertirse en Apple.mac, por ejemplo.&lt;br /&gt;&lt;br /&gt;Son numerosas las personas que lograron reunir un gran capital comercializando nombres de dominios: registraban los nombres de determinadas marcas y direcciones de fácil comprensión y los vendían posteriormente a buenos precios.&lt;br /&gt;&lt;br /&gt;Icann es una organización sin fines de lucro con sede en California que recibió el encargo del Departamento de Comercio de Estados Unidos de administrar este tipo de direcciones.&lt;br /&gt;&lt;br /&gt;La organización, cuyo encuentro internacional finalizó hoy en París, es responsable, entre otras cosas, de los nombres de dominios y de las direcciones IP.&lt;br /&gt;&lt;br /&gt;&lt;b&gt; Agencias DPA y AFP &lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Fuente: &lt;a href="http://www.lanacion.com.ar/exterior/nota.asp?nota_id=1024977&amp;amp;pid=4651257&amp;amp;toi=5799"&gt;http://www.lanacion.com.ar/exterior/nota.asp?nota_id=1024977&amp;amp;pid=4651257&amp;amp;toi=5799&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-5194919446562785775?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/5194919446562785775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=5194919446562785775&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/5194919446562785775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/5194919446562785775'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/06/se-podrn-elegir-los-dominios-de.html' title='Se podrán elegir los dominios de Internet'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-178349843459408981</id><published>2008-06-25T18:10:00.000-07:00</published><updated>2008-06-25T18:13:40.663-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sistema'/><title type='text'>Implementar y administrar cuotas de disco (Disk Quotas) en Linux</title><content type='html'>Sistemas Linux con gran cantidad de usuarios, como servidores de correo, servidores samba, etc., tarde o temprano tienen el problema de usuarios que almacenan demasiada información en sus directorios de trabajo, pudiendo incluso en casos extremos llenar completamente discos duros haciendo el sistema inservible. Con el uso de cuotas de disco (disk quotas) es posible limitar la cantidad de espacio disponible para cada usuario o de manera global para todos. En este manual de LinuxTotal.com.mx conocerás a fondo como implementar y administrar cuotas de disco para control de los usuarios. &lt;br /&gt;&lt;h2&gt;Tipos de cuota&lt;/h2&gt; &lt;p&gt;&lt;b&gt;Por Bloques (blocks):&lt;/b&gt; Un bloque corresponde a 1 kb y una cuota por bloques correspondería al total de bloques que un usuario puede utilizar en el sistema. Recuerda que los archivos se guardan en bloques de disco. Asi un archivo de 100 bytes, ocupará un un bloque de 1kb en el disco duro.&lt;/p&gt; &lt;p&gt;&lt;b&gt;Por Inodos (inodes):&lt;/b&gt; Un inodo o inode en inglés (Index Node) es un número que actua como apuntador para el sistema de archivos de Linux y le indica en que bloques específicos del disco duro se encuentran los datos de un archivo. También el inodo en su referencia guarda información sobre permisos, propietario, atributos, etc. Se podría ver en una analogía simple que un inodo es como un número de serie único para cada archivo del sistema y a través de este número el sistema recupera sus datos (bloques) y sus atributos (permisos, propietario, fechas, etc.).&lt;/p&gt; &lt;p&gt;En el caso de las cutoas, una cuota por inodos indicaría el total de indos a los que el usuario tiene derecho, casi representaría el total de archivos que el usuario puede crear y digo "casi" porque los usuarios podemos crear enlaces simbólicos &lt;code&gt;(ln -s)&lt;/code&gt; sobre archivos ya existentes que no aumentan las cantidad de inodos. Pero por simplicidad puedes verlo como un 1 inodo = 1 archivo.&lt;/p&gt; &lt;br /&gt;&lt;h2&gt;Límites&lt;/h2&gt; &lt;p&gt;Tanto las cuotas por bloques o por inodos, tienen límites de uso y son de dos tipos:&lt;/p&gt; &lt;p&gt;&lt;b&gt;HARD:&lt;/b&gt; (Duro) Cuando se establece (para bloques o inodos), es el límite absoluto. El usuario no podrá exceder este límite.&lt;/p&gt; &lt;p&gt;&lt;b&gt;SOFT:&lt;/b&gt; (Suave) Este límite (para bloques o inodos) que es siempre menor al HARD, puede ser excedido por el usuario, pero será constantemente advertido que el límite de uso para bloques o inodos ya ha sido excedido. Podría verse como un límite de advertencia que le estará indicando al usuario que su límite ya se excedió y tome medidas.&lt;/p&gt;  &lt;p&gt;Cuando se usa el límite SOFT, dos situaciones pueden ocurrir. La primera es que NO se tenga establecido un tiempo de gracia, y entonces el usuario podrá seguir usando bloques o inodos hasta llegar al límite HARD que será su límite absoluto de uso.&lt;/p&gt; &lt;p&gt;La segunda situación es que SI se tenga establecido el tiempo de gracia, que puede ser en días, horas, minutos o segundos. En este caso, el usuario podrá seguir usando bloques o inodos hasta que termine el tiempo de gracía o llegue al límite HARD, cualquiera que ocurra primero.&lt;/p&gt; &lt;p&gt;El tiempo de gracias se puede establecer por usuario o globalmente y más adelante veremos como establecerlo.&lt;/p&gt; &lt;br /&gt;&lt;h2&gt;¿Donde se implementan?&lt;/h2&gt; &lt;p&gt;Las cuotas se establecen por filesystem o sistema de archivos, es decir, debes de decidir en donde es más conveniente instalar un sistema de cuotas, pero no hay ningún problema si se instala en todos. Las cuotas pueden establecerse por usuario, por grupos o ambos. En el siguiente ejemplo:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; mount&lt;br /&gt;/dev/sda1 on /boot type ext3 (rw,noatime)&lt;br /&gt;/dev/sda2 on / type ext3 (rw,noatime)&lt;br /&gt;/dev/sda3 on /home type ext3 (rw,noatime)&lt;br /&gt;none on /proc type proc (rw)&lt;br /&gt;none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Lo anterior es un ejemplo típico de un equipo Linux con varios sistemas de archivos (/boot, / y /home). Como se sabe en /home es donde los usuarios tienen sus directorios de trabajo (HOME), asi que solo en este sistema de archivos crearemos cuotas, en los otros dos no tiene caso.&lt;/p&gt; &lt;br /&gt;&lt;h2&gt;Configuración&lt;/h2&gt; &lt;p&gt;Todo debe hacerse como root, y lo primero que haremos es editar el archivo "/etc/fstab" y añadiremos "usrquota" o "grpquota", dependiendo si se desea cuotas por usuario o grupos, o incluso ambas.&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; vi /etc/fstab&lt;br /&gt;/dev/sda2  /   ext3  noatime  1  1&lt;br /&gt;/dev/sda1  /boot  ext3  noatime  1  2&lt;br /&gt;/dev/sda3  /home  ext3  noatime  1  2&lt;br /&gt;....&lt;br /&gt;&lt;br /&gt;&lt;span class="t2"&gt;(Añadimos en la cuarta columna el tipo de cuotas que deseamos)&lt;/span&gt;&lt;br /&gt;/dev/sda2  /   ext3  noatime  1  1&lt;br /&gt;/dev/sda1  /boot  ext3  noatime  1  2&lt;br /&gt;/dev/sda3  /home  ext3  noatime,usrquota,grpquota  1  2&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Algo similar a lo anterior deberá tener tu archivo de configuración, y como ya se indicó solo agregamos el soporte para cuotas en el sistema de archivos que nos interese. Lo anterior por si solo, es obvio que no hace nada, habría que reiniciar el sistema para que se apliquen los cambios pero realmente no es necesario, lo siguiente re-monta el sistema de archivos "/home":&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; mount -o remount /home&lt;br /&gt;#&gt; mount&lt;br /&gt;/dev/sda1 on /boot type ext3 (rw,noatime)&lt;br /&gt;/dev/sda2 on / type ext3 (rw,noatime)&lt;br /&gt;/dev/sda3 on /home type ext3 (rw,noatime,usrquota,grpquota)&lt;br /&gt;none on /proc type proc (rw)&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;El sistema de archivos "/home" esta listo ahora para soportar cuotas de disco. El siguiente paso es verificar con el comando &lt;code&gt;quotacheck&lt;/code&gt; por sistemas de archivos que soporten cuotas. Este comando crea, verifica o repara el control de cuotas en los sistemas que lo soporten, en este caso creara el soporte:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; quotacheck -augmv&lt;br /&gt;quotacheck: Scanning /dev/sda3 [/home] done&lt;br /&gt;quotacheck: Cannot stat old user quota file: No existe el fichero o el directorio&lt;br /&gt;quotacheck: Cannot stat old group quota file: No existe el fichero o el directorio&lt;br /&gt;quotacheck: Cannot stat old user quota file: No existe el fichero o el directorio&lt;br /&gt;quotacheck: Cannot stat old group quota file: No existe el fichero o el directorio&lt;br /&gt;quotacheck: Checked 2539 directories and 35556 files&lt;br /&gt;quotacheck: Old file not found.&lt;br /&gt;quotacheck: Old file not found.&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Los errores que envía es precisamente porque no existía un sistema de cuotas previo, es normal que los envíe. Cuando las cuotas esten en pleno uso, es conveniente ejecutar &lt;code&gt;quotacheck&lt;/code&gt; periódicamente para que verifique inconsistencias y se corrijan a tiempo. En cuanto a las opciones estas indican lo siguiente:&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;a - all, es decir verifica todos los sistemas de archivos por cuotas.&lt;/li&gt;&lt;li&gt;u - user, verifica por soporte de cuotas para usuarios.&lt;/li&gt;&lt;li&gt;g - group, verifica por soporte de cuotas para grupos.&lt;/li&gt;&lt;li&gt;m - no-remount, evita que el sistema se remonte como de solo lectura.&lt;/li&gt;&lt;li&gt;v - verboso, reporta lo que hace conforme progresa, son los mensajes que salen a la terminal.&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;Como ves, la opción &lt;em&gt;-a&lt;/em&gt; en este caso no era necesario puesto que solo tenemos "/home" con cuotas, asi que el comando anterior también pudiera ser invocado de esta manera:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; quotacheck -ugmv /home&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;  &lt;p&gt;Pues el sistema esta listo para manipular cuotas de usuario, esto lo podemos comprobar porque en la raíz del sistema de archivos soportado con cuotas deben existir los archivos "aquota.user" y "aquota.group" que son binarios, no trates de modificarlos o manipularlos:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; cd /home&lt;br /&gt;#&gt; ls -l&lt;br /&gt;total 72&lt;br /&gt;-rw-------  1 root   root    8192 2008-05-17 21:38 aquota.group&lt;br /&gt;-rw-------  1 root   root    8192 2008-05-17 21:38 aquota.user&lt;br /&gt;drwx--x--x  4 user1  user1   4096 2008-05-12 16:13 user1/&lt;br /&gt;drwx--x--x  4 user2  user2   4096 2008-05-12 16:13 user2/&lt;br /&gt;drwx--x--x  3 user3  user3   4096 2008-05-05 12:01 user3/&lt;br /&gt;drwx--x--x  3 user4  user4   4096 2008-05-05 12:01 user4/&lt;br /&gt;&lt;br /&gt;&lt;span class="t2"&gt;(obsérvese los dos archivos de control de cuotas, para usuarios y grupos)&lt;/span&gt; &lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Si se tuvieran más sistemas de archivos con soporte para cuotas en la raíz de cada uno estarían estos archivos, o solo uno dependiendo lo que se pidió, usuarios, grupos o ambos. Por cierto, en sistemas con kernel 2.2 o anterior se usaba la versión 1 de cuotas y sus archivos de control se nombraban "quota.user" y "quota.group", del kernel 2.4 y posteriores con la versión 2 y 3, se utiliza los mostrados anteriormente.&lt;/p&gt; &lt;p&gt;Ahora bien, lo anterior deja listo el sistema para el soporte de cuotas pero estás siguen sin ser activadas se requiere activar el soporte de cuotas, para lo cual invocamos el comando &lt;code&gt;quotaon&lt;/code&gt;:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; quotaon -ugv /home&lt;br /&gt;/dev/sda3 [/home]: group quotas turned on&lt;br /&gt;/dev/sda3 [/home]: user quotas turned on&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Activamos para "/home" cuotas de usuario y grupos. Cuando por alguna razón sea necesario desactivar las cuotas, entonces utiliza la contraparte, que es el comando &lt;code&gt;quotaoff&lt;/code&gt;:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; quotaoff -v /home&lt;br /&gt;/dev/sda3 [/home]: group quotas turned off&lt;br /&gt;/dev/sda3 [/home]: user quotas turned off&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Muy bien, hasta aqui ya tienes el sistema de archivos "/home" o el que hayas elegido (o todos) para trabajar con soporte de cuotas para los usuarios y grupos, ahora veremos como aplicar estas cuotas con los usuarios.&lt;/p&gt; &lt;br /&gt;&lt;h2&gt;Aplicando la cuota a usuarios&lt;/h2&gt; &lt;p&gt;Ahara hay que aplicar la cuota por usuario, aunque el sistema de archivos ya soporta cuotas y están habilitadas, por defecto ningún usuario tiene establecidas cuotas. Asi que para iniciar habrá que administrar cada usuario a través del comando &lt;code&gt;edquota&lt;/code&gt;, que abrirá el editor de texto que se tenga por defecto y mostrará lo siguiente:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; edquota -u user1&lt;br /&gt;Disk quotas for user user1 (uid 502):&lt;br /&gt; Filesystem                   blocks       soft       hard     inodes     soft     hard&lt;br /&gt; /dev/sda3                        56          0          0         14        0        0&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Las columnas "blocks" e "inodes" son informativas, es decir nos indican la cantidad de bloques o inodos utilizados actualmente por el usuario, y las que podemos editar son las columnas "soft" y "hard" de cada caso. Como ya se explicó en la primera parte de este artículo, se puede indicar libremente cualquiera de los cuatro valores, es perfectamente posible establecer valores por bloques, por inodos o ambos, solo recuerda que el límite soft debe ser menor al hard. Si se establece solo el hard, no habrá advertencias previas y el usuario ya no podrá guardar archivos cuando se llegue al valor. Si se establece soft y hard, avisará cuando se rebase el límite soft y entrará en juego el periodo de gracia. Si se acaba el tiempo de gracias o se llega al har (lo que sea primero) ya no se podrán crear más archivos hasta que no se eliminen algunos de los que se tengan actualmente.&lt;/p&gt; &lt;p&gt;Para modificar cuotas a nivel grupo, se usa el mismo comando pero con la opción &lt;em&gt;-g&lt;/em&gt; (&lt;code&gt;edquota -g ventas&lt;/code&gt;).&lt;/p&gt; &lt;p&gt;En el ejemplo previo se modifica la cuota del usuario "user1" en el sistema de archivos "/home" que es el que se ha usado de ejemplo en este artículo de LinuxTotal.com.mx, el comportamiento por default es modificar cuotas para ese usuario en todos los sistemas de archivos que tengan activo el control de cuotas (&lt;code&gt;quotaon&lt;/code&gt;). Si se desea control de cuotas para un filesystem en específico entonces se agrega la opción &lt;em&gt;-f&lt;/em&gt;:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; edquota -u user1 -f /home&lt;br /&gt;&lt;span class="t2"&gt;(solo aplica la cuota en el sistema de archivos indicado)&lt;/span&gt; &lt;/pre&gt;&lt;/div&gt; &lt;br /&gt;&lt;h2&gt;Verificando el uso de las cuotas&lt;/h2&gt; &lt;p&gt;Como usuario administrador 'root' puedes ver el uso de cuotas de cualquier usuario, ya sea individualmente o por medio de un reporte global.&lt;/p&gt; &lt;p&gt;Por usuario o individualmente se usa el comando &lt;code&gt;quota&lt;/code&gt;, estando como "root":&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; quota -u user1&lt;br /&gt;Disk quotas for user user1 (uid 502):&lt;br /&gt;    Filesystem  blocks   quota   limit   grace   files   quota   limit   grace&lt;br /&gt;     /dev/sda3      56      70     100              14       0       0&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Con usuarios que manejan cantidades muy grandes de cuota, es un poco dificil calcular en términos de megas o gigas el espacio usuado y los límites de cuotas:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; quota -u sergio&lt;br /&gt;Disk quotas for user sergio (uid 500):&lt;br /&gt;    Filesystem  blocks   quota   limit   grace   files   quota   limit   grace&lt;br /&gt;     /dev/sda3 42578888       0 50000000           34895       0       0&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Usando la opción &lt;em&gt;-s&lt;/em&gt; se mejora el informe:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; quota -s -u sergon&lt;br /&gt;Disk quotas for user sergon (uid 500):&lt;br /&gt;    Filesystem  blocks   quota   limit   grace   files   quota   limit   grace&lt;br /&gt;     /dev/sda3  41582M       0  48829M           34905       0       0&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Como usuario individual del sistema, puedes observar tus cuotas con el mismo comando &lt;code&gt;quota&lt;/code&gt;, sin argumentos.&lt;/p&gt; &lt;p&gt;Ahora bien, si se desea un reporte global de las cuotas de todos los usuarios o por grupos, siendo "root" utiliza el comando &lt;code&gt;repquota&lt;/code&gt;:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; repquota /home&lt;br /&gt;*** Report for user quotas on device /dev/sda3&lt;br /&gt;Block grace time: 7days; Inode grace time: 7days&lt;br /&gt;                       Block limits                File limits&lt;br /&gt;User            used    soft    hard  grace    used  soft  hard  grace&lt;br /&gt;----------------------------------------------------------------------&lt;br /&gt;root      --  184280       0       0             11     0     0&lt;br /&gt;sergio    -- 42579852      0 50000000          34902    0     0&lt;br /&gt;user1     --      56      70     100             14     0     0&lt;br /&gt;user2     --      52       0       0             13     0     0&lt;br /&gt;user3     --      28       0       0              7     0     0&lt;br /&gt;user4     --      28       0       0              7     0     0&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Con &lt;code&gt;repquota&lt;/code&gt; es también posible utilizar la opción &lt;em&gt;-s&lt;/em&gt; para observar los tamaños en formato legible. Si se usa la opción &lt;em&gt;-a&lt;/em&gt; (all) en vez del sistema de archivos "/home", el reporte será para todos los sistemas de archivos en el equipo que soporten cuotas. Asi mismo este reporte por defecto es por usuarios, si se requiere que &lt;code&gt;repquota&lt;/code&gt; reporte por grupos, añade entonces la opción &lt;em&gt;-g&lt;/em&gt;.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Obsérvese en la segunda línea del reporte el tiempo de gracia (grace time), que es de 7 días tanto para cuotas por bloque como para cuotas por archivos o inodos. Esto aplica para todos los usuarios en global, como se aprecia en el listado que ninguno tiene establecido un tiempo de gracia diferente al global.&lt;/p&gt; &lt;br /&gt;&lt;h2&gt;Estableciendo el tiempo de gracia&lt;/h2&gt; &lt;p&gt;A nivel global, un periodo de gracia para todos, utiliza la opción &lt;em&gt;-t&lt;/em&gt; del comando &lt;code&gt;edquota&lt;/code&gt;, como en el siguiente ejemplo, recuerda que debes ser "root":&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; edquota -t&lt;br /&gt;Grace period before enforcing soft limits for users:&lt;br /&gt;Time units may be: days, hours, minutes, or seconds&lt;br /&gt; Filesystem             Block grace period     Inode grace period&lt;br /&gt; /dev/sda3                     7days                  7days&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;7 días es el periodo por defecto, si lo cambias a digamos 12 horas, sería "12hours". El tiempo de gracia puede ser distinto para el límite soft por bloques o por inodos.&lt;/p&gt; &lt;p&gt;Por usuario específico se realiza con la opción &lt;em&gt;-T&lt;/em&gt; del mismo comando e indicando el usuario:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; edquota -u user1 -T&lt;br /&gt;Times to enforce softlimit for user user1 (uid 502):&lt;br /&gt;Time units may be: days, hours, minutes, or seconds&lt;br /&gt; Filesystem                         block grace               inode grace&lt;br /&gt; /dev/sda3                              unset                  unset&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Lo único que hay que considerar es que los tiempos de gracias por usuario deben ser menores al global. Y que este empieza a correr una vez que se ha llegado al límite soft. Cuando esto suceda, si entras a editar de nuevo el tiempo de gracia del usuario (&lt;code&gt;edquota -u user -T&lt;/code&gt;) se reflejara en segundos el tiempo que le queda, pudiéndolo aumentar de nuevo si eres "root". O dejarlo en cero y entonces el global será el que se utilice.&lt;/p&gt; &lt;br /&gt;&lt;h2&gt;Fijar cuotas de manera global a todos los usuarios&lt;/h2&gt; &lt;p&gt;En sistemas Linux con pocos usuarios, establecer las cuotas usuario por usuario no representa ningún problema. Pero si hablamos por ejemplo de una universidad donde pudieran existir miles de cuentas entonces si es un problema establecer cuentas individualmente. Realmente no existe una manera "oficial" de establecer cuotas masivamente, sin embargo, no hay problema, usaremos un pequeño script que te permitira realizarlo.&lt;/p&gt; &lt;p&gt;Establece la cuota que deseas  globalmente en un solo usuario:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; edquota -u user1&lt;br /&gt;Disk quotas for user user1 (uid 502):&lt;br /&gt; Filesystem                   blocks       soft       hard     inodes     soft     hard&lt;br /&gt; /dev/sda3                        68        300        400         17        0        0&lt;br /&gt;:wq&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Veamos el reporte de cuotas con &lt;code&gt;repquota&lt;/code&gt;:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;[root@segolap ~]# repquota /home&lt;br /&gt;*** Report for user quotas on device /dev/sda3&lt;br /&gt;Block grace time: 7days; Inode grace time: 7days&lt;br /&gt;                       Block limits                File limits&lt;br /&gt;User            used    soft    hard  grace    used  soft  hard  grace&lt;br /&gt;----------------------------------------------------------------------&lt;br /&gt;user1     --      68     300     400             17     0     0&lt;br /&gt;user2     --     352       0       0             13     0     0&lt;br /&gt;user3     --      28       0       0              7     0     0&lt;br /&gt;user4     --      28       0       0              7     0     0&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Solo el usuario "user1" tiene cuotas, las columnas de "grace" tendrán valores una vez que se llegue al límite soft o suave. Usaremos entonces la opción &lt;em&gt;-p&lt;/em&gt; (protptype) para hacer duplicados a partir del ya establecido.&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; edquota -p user1 user2&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Con lo anterior "copias" la información de límites de cuotas del "user1" al "user2", no hay límite de cuantos usuarios puedes colocar como argumentos asi que lo siguiente es válido:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; edquota -p user1 user2 user3 user4&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Práctico para unos cuantos usuarios pero inútil si necesitamos duplicarlo en cientos de usuarios, asi que hagamos un comando compuesto que nos extraiga los nombres de los usuarios, se puede usar por ejemplo &lt;code&gt;gawk&lt;/code&gt; para realizar lo anterior:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; gawk -F: '$3 &gt; 499 {print $1}' /etc/passwd&lt;br /&gt;user1&lt;br /&gt;user2&lt;br /&gt;user3&lt;br /&gt;user4&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Usamos el separador ":" de campos (-F), e indicamos como acción que en el campo 3 ($3) busquemos todos  los UID mayores a 499 y que los imprima ({print $1}). Ahora solo tenemos que usar este comando junto con &lt;code&gt;edquota -p&lt;/code&gt;:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; edquota -p user1 `gawk -F: '$3 &gt; 499 {print $1}' /etc/passwd`&lt;br /&gt;&lt;br /&gt;&lt;span class="t2"&gt;(importante: nota el uso de acento grave que abarca al comando gawk, esto para que el shell lo ejecute primero y el resultado serán los argumentos, uno o cientos de usuarios cuyo UID es mayor a 499)&lt;/span&gt; &lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Haciendo uso de &lt;code&gt;repquota&lt;/code&gt; de nuevo veamos que pasó:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; repquota /home&lt;br /&gt;*** Report for user quotas on device /dev/sda3&lt;br /&gt;Block grace time: 7days; Inode grace time: 7days&lt;br /&gt;                       Block limits                File limits&lt;br /&gt;User            used    soft    hard  grace    used  soft  hard  grace&lt;br /&gt;----------------------------------------------------------------------&lt;br /&gt;user1     --      68     300     400             17     0     0&lt;br /&gt;user2     --     352     300     400  7days      13     0     0&lt;br /&gt;user3     --      28     300     400              7     0     0&lt;br /&gt;user4     --      28     300     400              7     0     0&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Primero, todos los usuarios tienen las mismas cuotas que el "user1" que fue el prototipo para los demás y segundo se observa que el "usuario" que tiene 352 bloques utilizados al pasar el límite suave entro al periodo de gracia automáticamente que el global es de 7 días. A partir del instante que el límite cambió de 0 a 300, comenzó el periodo de gracia. Ahora solo podrá crear más archivos durante 7 días o cuando llegue a 400, lo primero que ocurra, claro, asumiendo que no borre archivos primeros para recuperar espacio.&lt;/p&gt; &lt;br /&gt;&lt;h2&gt;Avisos de cuotas excedidas (warnquota)&lt;/h2&gt; &lt;p&gt;Cuando un usuario llega al límite suave o soft al crear o modificar un documento, algo como lo siguiente aaprecerá:&lt;/p&gt; &lt;div&gt;&lt;pre&gt;user2&gt; ls -l &gt; directorio.txt&lt;br /&gt;sda3: warning, user block quota exceeded.&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;En este instante como el "user2" no ha llegado al límite "hard" ni ha expirado el tiempo de gracia, el sistema permite crear el archivo pero se le notifica con un warning.&lt;/p&gt; &lt;p&gt;Pero si lo que deseamos es notificar inmediatamente y via correo electrónico que un usuario llego a su límite, por ejemplo, un server de correo electrónico, un usuario que ha recibido spam y esta saturando su cuenta, puede ser notificado que su couta esta llegando al límite.&lt;/p&gt; &lt;p&gt;Para lo anterior usaremos el comando &lt;code&gt;warnquota&lt;/code&gt;. Este comando simplemente invócalo desde la línea de comandos, sin argumentos, revisará los sistemas de archivos con cuotas activadas (&lt;code&gt;quotaon&lt;/code&gt;) y revisará todos los usuarios buscando quien ha excedido el límite soft tanto por bloques como por inodos, y a aquellos que lo hayan excedido les enviará un correo notifícandoles de lo anterior.&lt;/p&gt; &lt;p&gt;Puedes agrgar en cron una línea como la siguiente para que &lt;code&gt;warnquota&lt;/code&gt; haga su trabajo cada 12 horas:&lt;/p&gt; &lt;div id="e"&gt;&lt;pre&gt;#&gt; vi /etc/crontab&lt;br /&gt;...&lt;br /&gt;0 0,12 * * * root /usr/sbin/warnquota&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;&lt;code&gt;warnquota&lt;/code&gt; viene con los mensajes en inglés por defecto, el archivo de configuración es "/etc/warnquota.conf", es muy intuitivo y fácil de cambiar, personalízalo con los mensajes a español para que sea más fácil entender a tus usuarios que han excedido sus cuotas.&lt;/p&gt;&lt;h4&gt;Copyright  2005-2008 Sergio González Durán&lt;br /&gt;Se concede permiso para copiar, distribuir y/o modificar este documento siempre y cuando se cite al autor y la fuente de linuxtotal.com.mx y según los términos de la &lt;a href="http://www.gnu.org/licenses/translations.html"&gt;GNU Free Documentation License&lt;/a&gt;, Versión 1.2 o cualquiera posterior publicada por la Free Software Foundation.&lt;/h4&gt;   &lt;h3&gt;autor: sergio.gonzalez.duran@gmail.com&lt;/h3&gt;  &lt;hr /&gt; &lt;!-- INICIO DEL ARTICULO --&gt; &lt;p&gt;Fuente: &lt;a href="http://www.linuxtotal.com.mx/index.php?cont=info_admon_018"&gt;http://www.linuxtotal.com.mx/index.php?cont=info_admon_018&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-178349843459408981?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/178349843459408981/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=178349843459408981&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/178349843459408981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/178349843459408981'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/06/implementar-y-administrar-cuotas-de.html' title='Implementar y administrar cuotas de disco (Disk Quotas) en Linux'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-1717531086152979303</id><published>2008-06-25T16:22:00.000-07:00</published><updated>2008-06-25T16:51:34.251-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sistema'/><title type='text'>Sobre el Fstab</title><content type='html'>El fstab es el archivo donde se guardan los diferentes datos sobre el montaje de los dispositivos físicos.&lt;br /&gt;Pese a lo que mucha gente piensa, el fstab no es tan solo de Linux, si nos que se encuentra en diversas plataformas, como la plataforma BSD o la Solaris.&lt;br /&gt;&lt;br /&gt;COMPONENTES DEL FSTAB&lt;br /&gt;&lt;br /&gt;El fstab se compone de 6 secciones:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;# file system   mount point   type    options    dump    pass &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;file system&lt;/b&gt;: Es el lugar donde se encuentra el dispositivo físico a montar, como por ejemplo&lt;br /&gt;/dev/hda1, /dev/sda, etc.&lt;br /&gt;&lt;b&gt;mount point&lt;/b&gt;: Es el punto de montaje donde sera montado el dispositivo físico, este punto de montaje puede ser desde una carpeta del sistema como una carpeta creada por el usuario o el root, es decir, el punto de montaje es aquel que el usuario desee que sea.&lt;br /&gt;&lt;b&gt;type&lt;/b&gt;: Es el tipo de archivo con el que sera montado el dispositivo físico, este puede ser muy diverso, como por ejemplo, ext, swap, reiserf, etc.&lt;br /&gt;&lt;b&gt;options&lt;/b&gt;: Son las opciones con las que sera montado el dispositivo físico, existen muchas y diversas opciones. Las opciones mas usadas serán vistas mas adelantes en este mismo tutorial.&lt;br /&gt;&lt;b&gt;dump&lt;/b&gt;: Esta opcion solo puede poseer el valor 0 o 1, en ella se guardan los errores en tiempo de sistema que ha reportado el sistema de archivos. Al activarlo (1) se hará un backup con las opciones, creando backup por si surge algún tipo de problema, lo normal es tenerlo desactivado (0), ya que rara vez se produce un error.&lt;br /&gt;&lt;b&gt;pass&lt;/b&gt;: Esta opción puede poseer el valor 0 o N.N tiene que ser mayor a 0 y activa el orden en que el fsck escaneará las particiones en busca de errores. Si la activamos, el sistema realizara una pasada cada X desmontadas o si el dispositivo a sido desmontado incorrectamente para comprobar su integridad. En caso de estar desactivado (0), el sistema no realizara nunca ninguna pasada para comprobar la integridad del dispositivo físico, por ello es recomendable tenerlo en activado. Ejemplo: en la particion "/" podemos poner un 1 para ser verficado primero, y en "/home" particion un 2 para ser el siguiente.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;OPCIONES DEL FSTAB&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Las opciones son especificadas en la sección numero 4: Options (al final del tutorial veremos ejemplos sobre lineas del fstab para montar diversos dispositivos como cd-roms o pendrives).&lt;br /&gt;Las opciones mas usadas son las siguientes&lt;br /&gt;&lt;b&gt;defaults&lt;/b&gt;: Esta opción es la unión de las opciones &lt;b&gt;rw,suid,dev,exec,auto,nouser y async&lt;/b&gt;.&lt;br /&gt;&lt;b&gt;rw: READ-WRITE&lt;/b&gt;. Con esto montamos la partición para que sea posible tanto leer como escribir en el dispositivo físico, esta opción es muy usada con dispositivos que permiten la escritura como por ejemplo los pendrive o los disquets, ya que sin esta opción, no podríamos guardar datos en dichos dispositivos.&lt;br /&gt;&lt;b&gt;ro: READ-ONLY&lt;/b&gt;. Con esta opcion hacemos que no se pueda escribir en el dispositivo, que tan solo se pueda leer.&lt;br /&gt;&lt;b&gt;noexec&lt;/b&gt;: Impide la ejecución de cualquier archivo en el dispositivo en el que esta opción sea activada, esta opción suele ser muy útil cuando en una misma maquina diversos usuarios tienen acceso a un mismo dispositivo y no queremos que estos puedan ejecutar archivos en los dispositivos, con esto ganamos en seguridad, ya que impedimos que los usuarios puedan ejecutar cualquier tipo de archivo “maligno” a través del cual lo que realmente quiere conseguir es escalar privilegios en el sistema, por ejemplo.&lt;br /&gt;&lt;b&gt;nodev&lt;/b&gt;: con esto impedimos que puedan usarse nodos de dispositivo en el sistema de archivos, es decir, con esta opción impedimos que se interpreten los dispositivos especiales de bloques y de caracteres presentes en el dispositivo.&lt;br /&gt;&lt;b&gt;dev&lt;/b&gt;: Opción contraria a nodev, es decir, al activar esta opción permitimos que puedan usarse nodos de dispositivo en el sistema de archivos, o, lo que es lo mismo, que se interpreten como tal los dispositivos especiales de bloques y de caracteres presentes en el dispositivo.&lt;br /&gt;&lt;b&gt;auto&lt;/b&gt;: Con esta opción hacemos que el dispositivo que la contenga sea iniciado SIEMPRE que se inicie el sistema, es decir, cada vez que este sea encendido.&lt;br /&gt;&lt;b&gt;no auto&lt;/b&gt;: Esta es la opción contraria a auto, con ella hacemos que el dispositivo no sea montado al iniciarse el sistema, y tan solo sera montado en el momento en el que le vayamos a dar uso, esta opción suele ser usada con dispositivos como las disqueteras, cd-roms, pendrives..., es decir, todos aquellos dispositivos que no es necesario que se monte con el arranque del sistema.&lt;br /&gt;&lt;b&gt;user&lt;/b&gt;: Permite a cualquier usuario del sistema montar o desmontar un dispositivo físico sin necesidad de ser root, esta opción es muy útil para dispositivos de uso frecuente, como cd-roms o disquetes.&lt;br /&gt;&lt;b&gt;uid=X&lt;/b&gt;: Con esta opción indicamos que tan solo el usuario o el grupo con el uid especificado tiene el control sobre los archivos del dispositivo.&lt;br /&gt;&lt;b&gt;async&lt;/b&gt;: Con esto hacemos que las operaciones que realicemos no se hagan de forma asíncrona, es decir, en el mismo momento en que las realizamos, si nos que pueden ser realizada mas adelante.&lt;br /&gt;&lt;b&gt;sync&lt;/b&gt;: Es la opción contraria a async, con esta opción conseguimos que todas las modificaciones que hagamos sean “in situ” es decir, realizadas en el mismo momento en que sean realizadas.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;EJEMPLOS FSTAB&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Ahora ya sabemos de que se compone el fstab así y como las opciones mas comunes que este suele tener vamos a ver un par de ejemplos, estos ejemplos serán el de un cd-rom así y como el de un pendrive.&lt;br /&gt;Antes de nada decir que las secciones son separadas a través del tabulador, según vemos en el encabezamiento del fstab es así&lt;br /&gt;&lt;b&gt;# file system   mount point   type    options    dump    pass &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;muy bien, ahora pasemos a los ejemplos:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;CD-ROM&lt;/b&gt;&lt;br /&gt;el cd-rom sera montado en /media/cdrom0, asi que suponemos que esa carpeta existe, si nos podéis montarlo en cualquier otra o crear esa misma carpeta.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;# file system   mount point   type    options    dump    pass &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;/dev/hdd /media/cdrom0 iso9660 ro,user,noauto 0 0&lt;br /&gt;&lt;br /&gt;aja, veamos como ha sido montado el cd-rom, para empezar el dispositivo físico se encuentra en /dev/hdd y sera montado en /media/cdrom0, el tipo sera iso9660, las opciones serán:&lt;br /&gt;ro = solo lectura&lt;br /&gt;user=cualquier usuario del sistema puede montar/desmontar así como usar este dispositivo&lt;br /&gt;noauto= no sera montado montado con el sistema, es decir, sera montado solo cuando su uso sea necesario.&lt;br /&gt;Después, dump esta desactivado al igual que pass, estas opciones ya han sido explicadas, asi que no volveremos a hacerlo.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;PENDRIVE:&lt;/b&gt;&lt;br /&gt;Ahora veremos como montar un pendrive, y este sera el ultimo ejemplo que realizaremos, suponemos que tenemos creada la carpeta pendrive en /mnt, esta vez no explicaremos las opciones usadas, simplemente os mostrare como esta montada en mi caso:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;# file system   mount point   type    options    dump    pass &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;/dev/sda /mnt/pendrive auto rw,user,noauto 0 1&lt;br /&gt;&lt;br /&gt;Fuente: &lt;a href="http://www.lugsaju.com.ar/2005/12/que-es-el-fstab.html"&gt;http://www.lugsaju.com.ar/2005/12/que-es-el-fstab.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-1717531086152979303?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/1717531086152979303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=1717531086152979303&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/1717531086152979303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/1717531086152979303'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/06/sobre-el-fstab.html' title='Sobre el Fstab'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-573603987366558586</id><published>2008-06-18T15:19:00.000-07:00</published><updated>2008-06-18T15:26:47.473-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Noticias'/><category scheme='http://www.blogger.com/atom/ns#' term='Argentina'/><title type='text'>Manual Kirchnerista para la comunicación oficial</title><content type='html'>&lt;p&gt;&lt;span style="font-weight: bold;"&gt;• Aprópiese del merito del crecimiento:&lt;/span&gt; Luego de estar sumidos en el más profundo de los pozos económicos y sociales, es inevitable un efecto rebote. Si dicha recuperación viene acompañada de un viento de cola provisto por la coyuntura internacional, ud. deberá adoptar como propios los meritos circunstanciales. Evite comparaciones con otros países que crecieron a tasas similares sin haber devaluado ni haber caído en la peor crisis de su historia.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; •     Hágase la victima:&lt;/span&gt; interprete cualquier interpelación como un ataque.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; •     No responda preguntas:&lt;/span&gt; quedara en riesgo de no poder justificar lo injustificable.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; • Siembre miedo político:&lt;/span&gt; más de dos décadas luego de la finalización de la dictadura militar, no omita hacer referencias a las mismas en toda comunicación y plantee que el fantasma y el riesgo de volver a dichas épocas es latente si no se siguen sus medidas. Recuerde mencionar la palabra “golpista” y “desestabilización” cuando hable de sectores opuestos a su ideología.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; • El pasado es su mejor aliado:&lt;/span&gt; si esta imponiendo nuevas medidas económicas, mencione que se trata de todo lo contrario a lo que sucedía en la década del 90. Si por el contrario, se trata de medidas sociales las que desea aplicar, no omita recordar lo sucedido en el 2001.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; • Si no consigue culpables en los años 70, 90 y 2000, acuda al capital extranjero&lt;/span&gt;. El mismo ya aprendió que no volverá a invertir en la argentina y no intentará defenderse.&lt;br /&gt;• Colabore en una causa justa de Derechos Humanos: podrá usarlo para justificar todo tipo de aberraciones en otros campos de la materia. Siente a las organizaciones a las que ayudó en la primera fila de sus discursos para obtener credibilidad social.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; •     Haga uso de las estadísticas oficiales: &lt;/span&gt;en caso de no ser convenientes, se puede pedir su revisión interna.&lt;br /&gt;• &lt;span style="font-weight: bold;"&gt;Jamás&lt;/span&gt; olvide usar las siguientes palabras en sus discursos y declaraciones: &lt;span style="font-weight: bold;"&gt;“Redistribución de la riqueza”, “Gobierno popular”, “Defensa de la democracia”, “Renta extraordinaria”&lt;/span&gt;.&lt;/p&gt; &lt;p&gt;Si aun no puede justificar sus medidas, sigue sin encontrar culpables, y no quiere asumir su responsabilidad, culpe al crecimiento del cual Ud. se hizo artífice en un primer lugar.&lt;/p&gt;Fuente: &lt;a href="http://www.atlas.org.ar/articulos/articulos.asp?Id=11998"&gt;http://www.atlas.org.ar/articulos/articulos.asp?Id=11998&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-573603987366558586?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/573603987366558586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=573603987366558586&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/573603987366558586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/573603987366558586'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/06/manual-kirchnerista-para-la-comunicacin.html' title='Manual Kirchnerista para la comunicación oficial'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-7701191612487654742</id><published>2008-06-17T17:11:00.000-07:00</published><updated>2008-06-17T17:15:18.412-07:00</updated><title type='text'>Problemas</title><content type='html'>Nose que sucede con el servidor de Blogger o quizas sea un problema de los servidores de Speedy o que se yo, lo unico que se es que no puedo visualizar correctamente mi blog...es decir la pagina principal la veo sin modificaciones aunque ingrese nuevas entradas o modifique la plantilla. Espero que se resuelva, mientras tanto estoy utilizando Freebsd, viendo sus ventajas y desventajas frente a Linux. Este blog todavia no esta muerto je.Hasta pronto. Saludos!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-7701191612487654742?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/7701191612487654742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=7701191612487654742&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/7701191612487654742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/7701191612487654742'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/06/problemas.html' title='Problemas'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-2818937626865460667</id><published>2008-06-15T14:01:00.000-07:00</published><updated>2008-06-15T14:09:42.291-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sistema'/><title type='text'>Por qué no es necesario desfragmentar en Linux?</title><content type='html'>&lt;p&gt;Es una pregunta que sale con bastante frecuencia, ¿porqué no es necesario desgragmentar en Linux?&lt;/p&gt; &lt;p&gt;Aqui va la traducción de este &lt;a href="http://geekblog.oneandoneis2.org/index.php/2006/08/17/why_doesn_t_linux_need_defragmenting"&gt;artículo&lt;/a&gt; para los lectores que tienen dificultades con el inglés. &lt;/p&gt;  &lt;p&gt;En lugar de intentar explicarlo con términos muy técnicos, he optado por un cuadro de ASCII dado que una imagen vale más que mil palabras.&lt;/p&gt; Aquí está el cuadro que utilizaré para explicarlo&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="red"&gt;a b c d e f g h i j k l m n o p q r s t u v w x y z&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="red"&gt;a&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;b&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;c&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;d&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;e&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;f&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;g&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;h&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;i&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;j&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;k&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;l&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;m&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;n&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;o&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;p&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;q&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;r&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;s&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;t&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;u&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;v&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;w&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;x&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;y&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;z&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;Esto es una representación (muy pequeña) de un disco duro, completamente vacío - por eso a ceros.&lt;/p&gt; &lt;p&gt;El &lt;strong&gt;a-z&lt;/strong&gt; en la parte superior y en el lado izquierdo del cuadro son utilizados para localizar cada byte individual de datos: el izquierdo superior es &lt;strong&gt;aa&lt;/strong&gt;, superior derecho &lt;strong&gt;za&lt;/strong&gt; y el último de la izquierda es &lt;strong&gt;az&lt;/strong&gt;.&lt;/p&gt; &lt;p&gt;Estoy seguro van cogiendo la idea...&lt;/p&gt; &lt;p&gt;Empezaremos con un sistema de ficheros muy sencillo de una clase que seguro están muy familiarizados: uno que necesita defragmentar ocasionalmente.&lt;/p&gt; &lt;p&gt;Desde que los usuarios tanto de Windows como de Linux usan sistemas de ficheros FAT, aunque sea para discos flash USB, es un sistema de ficheros importante, aunque desafortunadamente padece de fragmentación.&lt;/p&gt; &lt;p&gt;Añadiremos un archivo a nuestro sistema de ficheros, y nuestro disco duro se parecerá a esto:&lt;/p&gt;&lt;pre&gt;&lt;span class="red"&gt;   a b c d e f g h i j k l m n o p q r s t u v w x y z&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="red"&gt;a&lt;/span&gt;  &lt;span class="green"&gt;T O C&lt;/span&gt;&lt;span class="blue"&gt; h e l l o . t x t&lt;/span&gt; &lt;span class="red"&gt;a e l e&lt;/span&gt; 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;b&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;c&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;d&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 &lt;span class="green"&gt;T O C&lt;/span&gt;&lt;br /&gt;&lt;span class="red"&gt;e&lt;/span&gt;  &lt;span class="blue"&gt;H e l l o , _ w o r l d&lt;/span&gt; 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;f&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;&lt;em&gt;(Las filas vacías &lt;strong&gt;&lt;span class="red"&gt;g-z&lt;/span&gt; &lt;/strong&gt;se han omitido para más claridad)&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Para explicar lo que están viendo: las primeras cuatro filas del disco  se reservan para una "tabla de contenidos" o &lt;em&gt;&lt;strong&gt;TOC&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt; &lt;p&gt;Este &lt;strong&gt;&lt;em&gt;TOC&lt;/em&gt;&lt;/strong&gt; almacena la localización de cada fichero en el sistema de ficheros.&lt;/p&gt; &lt;p&gt;En el ejemplo anterior, &lt;strong&gt;&lt;em&gt;TOC&lt;/em&gt;&lt;/strong&gt; contiene un fichero, denominado "hello.txt", y nos dice que el contenido de este fichero se puede localizar entre&lt;strong&gt; ae&lt;/strong&gt; y &lt;strong&gt;le&lt;/strong&gt;.&lt;/p&gt; &lt;p&gt;Miramos esas posiciones y vemos que el contenido del fichero es "Hello, world".&lt;/p&gt; &lt;p&gt;¿Todo bien hasta aquí?&lt;/p&gt; &lt;p&gt;Añadimos ahora otro fichero:&lt;/p&gt;&lt;pre&gt;&lt;span class="red"&gt; a b c d e f g h i j k l m n o p q r s t u v w x y z&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="red"&gt;a&lt;/span&gt;  &lt;span class="green"&gt;T O C&lt;/span&gt;&lt;span class="blue"&gt; h e l l o . t x t&lt;/span&gt; &lt;span class="red"&gt;a e l e&lt;/span&gt; &lt;span class="purple"&gt;b y e . t x t&lt;/span&gt; &lt;span class="red"&gt;m e z&lt;/span&gt;&lt;br /&gt;&lt;span class="red"&gt;b&lt;/span&gt;  &lt;span class="red"&gt;e&lt;/span&gt; 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;c&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;d&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 &lt;span class="green"&gt;T O C&lt;/span&gt;&lt;br /&gt;&lt;span class="red"&gt;e&lt;/span&gt;  &lt;span class="blue"&gt;H e l l o , _ w o r l d &lt;/span&gt;&lt;span class="purple"&gt;G o o d b y e , _ w o r l d&lt;/span&gt;&lt;br /&gt;&lt;span class="red"&gt;f&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;Como se puede ver, el segundo fichero se ha añadido inmediatamente después del primero.&lt;/p&gt; &lt;p&gt;La idea aquí es que si todos los ficheros se guardan juntos, acceder a ellos será más rápido y fácil: la parte lenta del disco duro es la aguja, cuanto menos se tiene que mover, tanto más rápido se podrá leer/escribir.&lt;/p&gt; &lt;p&gt;El problema que esto causa  lo podemos ver cuando decidimos editar nuestro primer fichero.&lt;/p&gt; &lt;p&gt;Digamos que queremos añadir algún símbolo de exclamación a nuestro "Hello" para que parezca más entusiasta.&lt;/p&gt; &lt;p&gt;Entonces tenemos un problema: no hay sitio para nuestro símbolo de exclamación en nuestro sistema de ficheros: el fichero "byte.txt" está en medio.&lt;/p&gt; &lt;p&gt;Tenemos solamente dos opciones, ninguna ideal:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Borrar el fichero de su posición original, y añadimos el nuevo y más grande al final del segundo fichero.&lt;/li&gt;&lt;li&gt;Fragmentamos el archivo, de manera que exista en dos sitios pero sin espacios vacíos.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt; Para ilustrarlo, aqui teneis una aproximación a la primera opción:&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;span class="red"&gt;   a b c d e f g h i j k l m n o p q r s t u v w x y z&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="red"&gt;a&lt;/span&gt;  &lt;span class="green"&gt;T O C&lt;/span&gt;&lt;span class="blue"&gt; h e l l o . t x t&lt;/span&gt; &lt;span class="red"&gt;a f n f&lt;/span&gt; &lt;span class="purple"&gt;b y e . t x t&lt;/span&gt; &lt;span class="red"&gt;m e z&lt;/span&gt;&lt;br /&gt;&lt;span class="red"&gt;b&lt;/span&gt;  &lt;span class="red"&gt;e&lt;/span&gt; 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;c&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;d&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 &lt;span class="green"&gt;T O C&lt;/span&gt;&lt;br /&gt;&lt;span class="red"&gt;e&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 &lt;span class="purple"&gt;G o o d b y e , _ w o r l d&lt;/span&gt;&lt;br /&gt;&lt;span class="red"&gt;f&lt;/span&gt;  &lt;span class="blue"&gt;H e l l o , _ w o r l d ! ! &lt;/span&gt;0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;br /&gt;Y aquí a la segunda:&lt;br /&gt;&lt;br /&gt;&lt;span class="red"&gt;   a b c d e f g h i j k l m n o p q r s t u v w x y z&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="red"&gt;a&lt;/span&gt;  &lt;span class="green"&gt;T O C&lt;/span&gt;&lt;span class="blue"&gt; h e l l o . t x t&lt;/span&gt; &lt;span class="red"&gt;a e l e a f b f&lt;/span&gt; &lt;span class="purple"&gt;b y e . t x&lt;/span&gt;&lt;br /&gt;&lt;span class="red"&gt;b&lt;/span&gt;  &lt;span class="blue"&gt;t&lt;/span&gt; &lt;span class="red"&gt;m e z&lt;/span&gt; &lt;span class="red"&gt;e&lt;/span&gt; 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;c&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;d&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 &lt;span class="green"&gt;T O C&lt;/span&gt;&lt;br /&gt;&lt;span class="red"&gt;e&lt;/span&gt;  &lt;span class="blue"&gt;H e l l o , _ w o r l d &lt;/span&gt;&lt;span class="purple"&gt;G o o d b y e , _ w o r l d&lt;/span&gt;&lt;br /&gt;&lt;span class="red"&gt;f&lt;/span&gt;  &lt;span class="blue"&gt;! !&lt;/span&gt; 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;Esta es la razón del porqué los sistemas de ficheros FAT necesitan defragmentar regularmente.&lt;/p&gt; &lt;p&gt;Todos los ficheros se sitúan justo a la derecha del anterior, así si algún fichero se agranda, se fragmenta.&lt;/p&gt; &lt;p&gt;Y si un fichero se reduce, deja un espacio.&lt;/p&gt; &lt;p&gt;Pronto el disco duro se convierte en una masa de fragmentos y espacios, y su rendimiento empieza a bajar.&lt;/p&gt; &lt;p&gt;Y luego está Linux. Que tiene una filosofía diferente.&lt;/p&gt; &lt;p&gt;Los sistemas de ficheros de windows son ideales si tienen un único usuario, accediendo a los ficheros en más o menos el orden en que son creados, uno detrás de otro.&lt;/p&gt; &lt;p&gt;Linux, sin embargo, está pensado como un sistema multi-usuario: está garantizado que tendrás más de un usuario intentando acceder a más de un fichero al mismo tiempo.&lt;/p&gt; &lt;p&gt;Así que se usa un enfoque diferente: cuando creamos "hello.txt" en un sistema de ficheros de Linux, se asemeja a lo siguiente:&lt;/p&gt;&lt;pre&gt;&lt;span class="red"&gt;   a b c d e f g h i j k l m n o p q r s t u v w x y z&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="red"&gt;a&lt;/span&gt;  &lt;span class="green"&gt;T O C&lt;/span&gt;&lt;span class="blue"&gt; h e l l o . t x t&lt;/span&gt; &lt;span class="red"&gt;h n s n&lt;/span&gt; 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;b&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;c&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;d&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 &lt;span class="green"&gt;T O C&lt;/span&gt;&lt;br /&gt;&lt;span class="red"&gt;e&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;f&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;g&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;h&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;i&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;j&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;k&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;l&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;m&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;n&lt;/span&gt;  0 0 0 0 0 0 0 &lt;span class="blue"&gt;H e l l o , _ w o r l d&lt;/span&gt; 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;o&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;p&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;q&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;r&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;s&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;t&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;u&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;v&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;w&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;x&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;y&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;z&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;br /&gt;Y cuando añadimos el otro fichero:&lt;br /&gt;&lt;br /&gt;&lt;span class="red"&gt;   a b c d e f g h i j k l m n o p q r s t u v w x y z&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="red"&gt;a&lt;/span&gt;  &lt;span class="green"&gt;T O C&lt;/span&gt;&lt;span class="blue"&gt; h e l l o . t x t&lt;/span&gt; &lt;span class="red"&gt;h n s n&lt;/span&gt; &lt;span class="purple"&gt;b y e . t x t&lt;/span&gt; &lt;span class="red"&gt;d u q&lt;/span&gt;&lt;br /&gt;&lt;span class="red"&gt;b&lt;/span&gt;  &lt;span class="red"&gt;u&lt;/span&gt; 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;c&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;d&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 &lt;span class="green"&gt;T O C&lt;/span&gt;&lt;br /&gt;&lt;span class="red"&gt;e&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;f&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;g&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;h&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;i&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;j&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;k&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;l&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;m&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;n&lt;/span&gt;  0 0 0 0 0 0 0 &lt;span class="blue"&gt;H e l l o , _ w o r l d&lt;/span&gt; 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;o&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;p&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;q&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;r&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;s&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;t&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;u&lt;/span&gt;  0 0 0 &lt;span class="purple"&gt;G o o d b y e , _ w o r l d&lt;/span&gt; 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;v&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;w&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;x&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;y&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;z&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;Lo inteliente de este enfoque es que la aguja del disco está en la mitad, y la mayoría de ficheros, por término medio, están bastante cerca: así es como funcionan los promedios después de todo.&lt;/p&gt; &lt;p&gt;Cuando añadimos nuestros símbolos de exclamación a este sistema de ficheros, observad cuantos problemas causa:&lt;/p&gt;&lt;pre&gt;&lt;span class="red"&gt;   a b c d e f g h i j k l m n o p q r s t u v w x y z&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="red"&gt;a&lt;/span&gt; &lt;span class="green"&gt; T O C&lt;/span&gt;&lt;span class="blue"&gt; h e l l o . t x t&lt;/span&gt; &lt;span class="red"&gt;h n u n&lt;/span&gt; &lt;span class="purple"&gt;b y e . t x t&lt;/span&gt; &lt;span class="red"&gt;d u q&lt;/span&gt;&lt;br /&gt;&lt;span class="red"&gt;b&lt;/span&gt;  &lt;span class="red"&gt;u&lt;/span&gt; 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;c&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;d&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 &lt;span class="green"&gt;T O C&lt;/span&gt;&lt;br /&gt;&lt;span class="red"&gt;e&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;f&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;g&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;h&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;i&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;j&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;k&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;l&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;m&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;n&lt;/span&gt;  0 0 0 0 0 0 0 &lt;span class="blue"&gt;H e l l o , _ w o r l d ! !&lt;/span&gt; 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;o&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;p&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;q&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;r&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;s&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;t&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;u&lt;/span&gt;  0 0 0 &lt;span class="purple"&gt;G o o d b y e , _ w o r l d&lt;/span&gt; 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;v&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;w&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;x&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;y&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;z&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;Correcto: absolutamente ningún problema.&lt;/p&gt; &lt;p&gt;Windows intenta poner todos los ficheros lo más cerca del comienzo del disco, lo que provoca que constantemente se fragmente los ficheros al modificarlos y no hay espacio libre disponible.&lt;/p&gt; &lt;p&gt;Linux esparce ficheros por todo el disco con lo que hay cantidad de espacio libre si el fichero cambia de tamaño.&lt;/p&gt; &lt;p&gt;También reordena ficheros al momento, dado que tiene cantidad de espacio vacío para barajar.&lt;/p&gt; &lt;p&gt;Defragmentar un sistema de ficheros de Windows es un proceso más intensivo y no muy práctico de ejecutar durante su uso habitual.&lt;/p&gt; &lt;p&gt;De esta forma la fragmentación sólo se convierte en un problema en Linux cuando un disco está tan lleno que no queda ningún espacio para insertar un fichero grande sin tener que partirlo.&lt;/p&gt; &lt;p&gt;Mientras el disco está lleno menos del 80 %, es bastante improbable que ocurra.&lt;/p&gt; &lt;p&gt;También vale la pena saber que cuando un sistema operativo nos indica que un disco está completamente defragmentado, a pesar de la naturaleza de la geometría del disco duro, la fragmentación puede seguir presente: un disco duro típico actualmente tiene múltiples discos en su interior.&lt;/p&gt; &lt;p&gt;Pongamos por ejemplo que nuestro disco duro está actualmente en dos platos, el primero de &lt;strong&gt;aa&lt;/strong&gt; a &lt;strong&gt;zm&lt;/strong&gt; y el segundo de &lt;strong&gt;an&lt;/strong&gt; a &lt;strong&gt;zz&lt;/strong&gt;:&lt;/p&gt;&lt;pre&gt;&lt;span class="red"&gt;   a b c d e f g h i j k l m n o p q r s t u v w x y z&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="red"&gt;a&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;b&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;c&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;d&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;e&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;f&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;g&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;h&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;i&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;j&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;k&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;l&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;m&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;br /&gt;El siguiente fichero sería considerado no-fragmentado, porque va de una&lt;br /&gt;fila m a la fila n, pero se ignora el hecho de que la aguja tendrá&lt;br /&gt;quemoverse desde el final de un plato al principio del otro para poder&lt;br /&gt;leer el fichero:&lt;br /&gt;&lt;br /&gt;&lt;span class="red"&gt;   a b c d e f g h i j k l m n o p q r s t u v w x y z&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="red"&gt;a&lt;/span&gt;  &lt;span class="green"&gt;T O C&lt;/span&gt;&lt;span class="blue"&gt; h e l l o . t x t&lt;/span&gt; &lt;span class="red"&gt;r m e n&lt;/span&gt; 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;b&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;c&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;d&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;e&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;f&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;g&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;h&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;i&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;j&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;k&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;l&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;m&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 &lt;span class="blue"&gt;H e l l o , _ w o&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="red"&gt;   a b c d e f g h i j k l m n o p q r s t u v w x y z&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="red"&gt;n&lt;/span&gt;  &lt;span class="blue"&gt;r l d ! !&lt;/span&gt; 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;o&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;p&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;q&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;r&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;s&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;t&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;u&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;v&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;w&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;x&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;y&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;span class="red"&gt;z&lt;/span&gt;  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;br /&gt;&lt;br /&gt;Espero esto haya ayudado a entender porqué no viene ningún programa de defragmentación en una instalación de Linux.&lt;br /&gt;&lt;br /&gt;Fuente: &lt;a href="http://itaca.nireblog.com/post/2006/08/19/por-que-no-es-necesario-desfragmentar-en-linux"&gt;http://itaca.nireblog.com/post/2006/08/19/por-que-no-es-necesario-desfragmentar-en-linux&lt;/a&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-2818937626865460667?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/2818937626865460667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=2818937626865460667&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/2818937626865460667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/2818937626865460667'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/06/por-qu-no-es-necesario-desfragmentar-en.html' title='Por qué no es necesario desfragmentar en Linux?'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-946841594663199203</id><published>2008-06-09T12:27:00.000-07:00</published><updated>2008-06-09T12:39:56.115-07:00</updated><title type='text'>Come back....</title><content type='html'>Muchos tenemos una vida, pero el tiempo es uno solo y desde el comienzo de nuestros tiempos lo controlamos a través de algo que denominados ¨relog¨...lo hubo y habrá de todas las formas, pero qué es el tiempo??.&lt;br /&gt;Me gusta tener un blog pero también tengo que disfrutar la vida, y desconectarse un buen tiempo de la rutina diaria es buena...nose para usted, pero para mí si. Siempre tuve miedo, miedo de no llegar a tiempo a qué? No lo sé, una sensación rara de alcanzar lo imposible, de querer saber más...algo practicamente imposible.&lt;br /&gt;Hay muchas frases que perduran en mi mente y quizás ayude a mas de uno:&lt;br /&gt;*Este mundo no es para los tímidos.&lt;br /&gt;*Si tienes ganas de matarte y lo quieres hacer, es porque no sos lo suficientemente fuerte para soportar un golpe mas duro en el futuro.&lt;br /&gt;*Cosecharas lo que siembres.&lt;br /&gt;*No le hagas a los demás, lo que no quieras que te hagan a ti mismo.&lt;br /&gt;Bueno he regresado, se que más de uno leerá esto ja y también se que mas de uno lo pensará...Saludos!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-946841594663199203?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/946841594663199203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=946841594663199203&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/946841594663199203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/946841594663199203'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/06/come-back.html' title='Come back....'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-8807645892326988160</id><published>2008-05-10T07:04:00.000-07:00</published><updated>2008-05-10T07:05:56.035-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Videos'/><title type='text'>Documental sobre Google</title><content type='html'>&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://tu.tv/tutvweb.swf?kpt=aHR0cDovL3R1LnR2L3ZpZGVvc2NvZGkvZC9vL2RvY3VtZW50YWwtc29icmUtZ29vZ2xlLmZsdg==&amp;amp;xtp=7803"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://tu.tv/tutvweb.swf?kpt=aHR0cDovL3R1LnR2L3ZpZGVvc2NvZGkvZC9vL2RvY3VtZW50YWwtc29icmUtZ29vZ2xlLmZsdg==&amp;amp;xtp=7803" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;a href="http://www.tu.tv/"&gt;&lt;img src="http://www.tu.tv/img/tranparente.gif" alt="www.Tu.tv" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-8807645892326988160?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/8807645892326988160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=8807645892326988160&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/8807645892326988160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/8807645892326988160'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/05/documental-sobre-google.html' title='Documental sobre Google'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-2826619158483445078</id><published>2008-05-10T06:43:00.000-07:00</published><updated>2008-05-10T06:47:55.723-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Técnicas Criptográficas'/><category scheme='http://www.blogger.com/atom/ns#' term='Criptografía'/><title type='text'>El Cifrado del Ché Guevara</title><content type='html'>&lt;i&gt;El siguiente artículo fue tomado de un documento donde         se da como referencia la biografía del Ché Guevara de Daniel         James (1969). No hemos podido corroborar la autenticidad de los afirmaciones         ni del artículo ni de las fuentes.&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_qoMj8Cxqh50/SCWm38EJ4hI/AAAAAAAAARU/2BTSGDgp07Q/s1600-h/che.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_qoMj8Cxqh50/SCWm38EJ4hI/AAAAAAAAARU/2BTSGDgp07Q/s320/che.jpg" alt="" id="BLOGGER_PHOTO_ID_5198744824815673874" border="0" /&gt;&lt;/a&gt;La imagen muestra parte de una de las hojas con filas de números que le fueron encontrados al Ché Guevara al ser capturado en la sierra boliviana. Las hojas son borradores de un mensaje que el Ché estaba encriptando mediante el &lt;i&gt;one-time pad.&lt;/i&gt;  La única forma de encriptación que es imposible de violar (desde el punto de vista de la teoría de la información). Este sistema de encriptación fue inventado en 1918 y extensamente utilizado durante la segunda guerra mundial por los aliados. El mensaje supuestamente es del 18 de Mayo de 1967 e iba dirigido a Fidel Castro.  &lt;p&gt;Las filas de números se ordenan en grupos de a tres. La primera representa el mensaje (sin cifrar). La segunda la clave y la tercera su suma (módulo 10). Esta última fila representa el mensaje cifrado que se trasmite.&lt;/p&gt;   &lt;p&gt;El mensaje enviado es en castellano. En el &lt;i&gt;one-time pad&lt;/i&gt; se requiere, para cifrar el mensaje, que este se represente como una secuencia de números. El borrador del mensaje muestra este paso ya realizado - la primera linea de cada grupo es la representación numérica del mensaje. Para recobrar el mensaje original se necesita determinar el alfabeto de conversión (de letras a números). Esto equivale a resolver un criptograma. Barbara Harris (Nueva York, EE.UU.) descubrió este alfabeto de conversión, que es:&lt;/p&gt;  &lt;table align="center" border="0" cellpadding="0" cellspacing="0" cols="11" width="40%"&gt; &lt;tbody&gt;&lt;tr align="center"&gt;   &lt;th&gt;&lt;br /&gt;&lt;/th&gt;   &lt;th&gt;&lt;i&gt;8&lt;/i&gt;&lt;/th&gt;   &lt;th&gt;&lt;i&gt;2&lt;/i&gt;&lt;/th&gt;   &lt;th&gt;&lt;i&gt;0&lt;/i&gt;&lt;/th&gt;   &lt;th&gt;&lt;i&gt;6&lt;/i&gt;&lt;/th&gt;    &lt;th&gt;&lt;i&gt;4&lt;/i&gt;&lt;/th&gt;   &lt;th&gt;&lt;i&gt;9&lt;/i&gt;&lt;/th&gt;   &lt;th&gt;&lt;i&gt;1&lt;/i&gt;&lt;/th&gt;   &lt;th&gt;&lt;i&gt;3&lt;/i&gt;&lt;/th&gt;   &lt;th&gt;&lt;i&gt;7&lt;/i&gt;&lt;/th&gt;   &lt;th&gt;&lt;i&gt;5&lt;/i&gt;&lt;/th&gt; &lt;/tr&gt;  &lt;tr align="center"&gt;   &lt;td&gt;&lt;br /&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;e&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;s&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;t&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;a&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;d&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;o&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;y&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;br /&gt;&lt;/td&gt;   &lt;td&gt;&lt;br /&gt;&lt;/td&gt;   &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;tr align="center"&gt;   &lt;th&gt;&lt;i&gt;3&lt;/i&gt;&lt;/th&gt;   &lt;td&gt;&lt;i&gt;b&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;c&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;f&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;g&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;h&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;i&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;j&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;.&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;;&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;,&lt;/i&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;tr align="center"&gt;   &lt;th&gt;&lt;i&gt;7&lt;/i&gt;&lt;/th&gt;   &lt;td&gt;&lt;i&gt;k&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;l&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;m&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;n&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;ñ&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;p&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;q&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;/&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;/&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;tr align="center"&gt;   &lt;th&gt;&lt;i&gt;5&lt;/i&gt;&lt;/th&gt;   &lt;td&gt;&lt;i&gt;r&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;u&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;v&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;w&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;x&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;i&gt;z&lt;/i&gt;&lt;/td&gt;   &lt;td&gt;&lt;br /&gt;&lt;/td&gt;   &lt;td&gt;&lt;br /&gt;&lt;/td&gt;   &lt;td&gt;&lt;br /&gt;&lt;/td&gt;   &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;    &lt;p&gt;La tabla de conversión se forma con el alfabeto puesto a    continuación   de la palabra &lt;i&gt;estadoy &lt;/i&gt;saltando aquellas letras del alfabeto que   aparecen en dicha palabra. Para convertir letras en números cada   letra en la fila superior se reemplaza por el número que esta sobre   ella. Las letras en las últimas tres filas se reemplazan por dos   dígitos. El primero correspondiente a el número que encabeza   la fila, y el segundo al que encabeza la columna. Así, &lt;i&gt;e &lt;/i&gt;se   reemplaza por &lt;i&gt;8&lt;/i&gt;, &lt;i&gt;t&lt;/i&gt; por &lt;i&gt;0&lt;/i&gt;, &lt;i&gt;b&lt;/i&gt; por &lt;i&gt;38&lt;/i&gt;,   y &lt;i&gt;v&lt;/i&gt; por &lt;i&gt;50&lt;/i&gt;.   Esto crea una mezcla de "grupos" de uno y dos dígitos. Pero, el   descifrado no es ambiguo puesto que cualquier "grupo" que comienza con   &lt;i&gt;3&lt;/i&gt;, &lt;i&gt;5&lt;/i&gt;, o &lt;i&gt;7&lt;/i&gt;, debe corresponder a un "grupo" de dos dígitos   y cualquiera que comience con otro dígito debe corresponder a un   "grupo" de un dígito. Así, &lt;i&gt;9583987608&lt;/i&gt; puede separarse   sólo como &lt;i&gt;9 58 39 8 76 0 8&lt;/i&gt;, y leerse como &lt;i&gt;oriente&lt;/i&gt;.    &lt;/p&gt;&lt;p&gt;La tabla de conversión contiene indicadores. El símbolo   en &lt;i&gt;73&lt;/i&gt; corresponde a un indicador de cambio de letras a números   y el símbolo en &lt;i&gt;77&lt;/i&gt; el cambio contrario. Es decir, en vez   de deletrear los números, quien realiza la encriptació    escribe &lt;i&gt;73&lt;/i&gt; para indicar que lo que sigue son números, luego    escribe los números en cuestión (en este caso repitiendo    cada número tres veces para aminorar los errores de    transmisión), y finalmente escribe &lt;i&gt;77&lt;/i&gt;   para indicar el fin de la secuencia de números y el regreso a una   secuencia de letras. Así, el mensaje e&lt;i&gt;speren 250 hombres&lt;/i&gt;   tendría como equivalente numérico:&lt;/p&gt;    &lt;table align="center" border="0" cellpadding="0" cellspacing="0" cols="19" width="70%"&gt;     &lt;tbody&gt;&lt;tr align="center"&gt;       &lt;td&gt;&lt;i&gt;e&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;s&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;p&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;e&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;r&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;e&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;n&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;/&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;2&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;5&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;0&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;/&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;h&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;o&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;m&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;b&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;r&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;e&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;s&lt;/i&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr align="center"&gt;       &lt;td&gt;&lt;i&gt;8&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;2&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;79&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;8&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;58&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;8&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;76&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;73&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;222&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;555&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;000&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;77&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;34&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;9&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;70&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;38&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;58&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;8&lt;/i&gt;&lt;/td&gt;       &lt;td&gt;&lt;i&gt;2&lt;/i&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Observar que la tabla de conversión permite escribir el espacio en blanco como &lt;i&gt;75, 51, 53, 57&lt;/i&gt;, y &lt;i&gt;55&lt;/i&gt; (Los dígitos &lt;i&gt;3, 7&lt;/i&gt;, y &lt;i&gt;5&lt;/i&gt;no pueden ser usados para escribir blancos puesto que esto haría que la separación de los dígitos en grupos fuese ambigua.)  &lt;/p&gt;&lt;p&gt;A la serie de dígitos que se obtiene de la conversión se le suma (módulo &lt;i&gt;10&lt;/i&gt;) una clave numérica. La clave debe tener tantos dígitos como la cantidad de dígitos se obtengan de la conversión. En el &lt;i&gt;one-time pad&lt;/i&gt; la clave es generada al azar y utilizada solo una vez. Quien envía y quien recibe (en nuestro caso el Ché y Fidel Castro respectivamente) deben compartir la clave por adelantado. En la hoja que se le encontró al Ché la clave es la segunda fila de cada grupo de tres filas. La tercera fila es el resultado de la suma módulo &lt;i&gt;10&lt;/i&gt; de las dos primeras filas (es decir, del mensaje y de la clave).  Por ejemplo, utilizando los dígitos de &lt;i&gt;6&lt;/i&gt; a &lt;i&gt;28&lt;/i&gt; de la clave numérica de la imagen de mas arriba, la encriptación  (al remover los espacios blancos) de &lt;i&gt;un mensaje; ademas &lt;/i&gt;esta dada por:&lt;/p&gt;  &lt;center&gt;&lt;table nosave="" border="0" cellpadding="0" cellspacing="0" cols="17" width="70%"&gt; &lt;tbody&gt;&lt;tr nosave="" align="center"&gt; &lt;td nosave="" align="right"&gt;&lt;b&gt;mensaje&lt;/b&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;u&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;n&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;m&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;e&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;n&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;s&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;a&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;j&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;e&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;;&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;a&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;d&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;e&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;m&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;a&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;s&lt;/i&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr nosave="" align="center"&gt; &lt;td nosave="" align="right"&gt;&lt;b&gt;conversión&lt;/b&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;52&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;76&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;70&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;8&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;76&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;2&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;6&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;31&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;8&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;37&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;6&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;4&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;8&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;70&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;6&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;2&lt;/i&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr nosave="" align="center"&gt; &lt;td nosave="" align="right"&gt;&lt;b&gt;clave&lt;/b&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;68&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;63&lt;/i&gt;&lt;/td&gt;  &lt;td nosave=""&gt;&lt;i&gt;24&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;6&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;05&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;1&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;8&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;79&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;3&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;1&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;8&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;2&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;9&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;20&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;3&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;0&lt;/i&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr nosave="" align="center"&gt; &lt;td nosave="" align="right"&gt;&lt;b&gt;encriptación&lt;/b&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;10&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;39&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;94&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;9&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;71&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;3&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;4&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;00&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;1&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;44&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;4&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;6&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;7&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;90&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;9&lt;/i&gt;&lt;/td&gt;  &lt;td&gt;&lt;i&gt;2&lt;/i&gt;&lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;  &lt;p&gt;A continuación se muestra la conversión numérica y el mensaje que corresponden a la hoja parte de la cual aparece en la imagen de mas arriba (la parte correspondiente a la imagen aparece en &lt;b&gt;negritas&lt;/b&gt;):&lt;/p&gt;   &lt;table align="center" border="0" cellpadding="0" cellspacing="0" cols="27" width="90%"&gt; &lt;tbody&gt;&lt;tr align="center"&gt; &lt;td&gt;&lt;i&gt;53&lt;/i&gt;&lt;/td&gt; &lt;td&gt;&lt;i&gt;73&lt;/i&gt;&lt;/td&gt; &lt;td&gt;&lt;i&gt;555&lt;/i&gt;&lt;/td&gt; &lt;td&gt;&lt;i&gt;77&lt;/i&gt;&lt;/td&gt; &lt;td&gt;&lt;i&gt;33&lt;/i&gt;&lt;/td&gt; &lt;td&gt;&lt;i&gt;72&lt;/i&gt;&lt;/td&gt; &lt;td&gt;&lt;i&gt;8&lt;/i&gt;&lt;/td&gt; &lt;td&gt;&lt;i&gt;32&lt;/i&gt;&lt;/td&gt; &lt;td&gt;&lt;i&gt;34&lt;/i&gt;&lt;/td&gt; &lt;td&gt;&lt;i&gt;8&lt;/i&gt;&lt;/td&gt; &lt;td&gt;&lt;i&gt;33&lt;/i&gt;&lt;/td&gt; &lt;td&gt;&lt;i&gt;4&lt;/i&gt;&lt;/td&gt; &lt;td&gt;&lt;i&gt;6&lt;/i&gt;&lt;/td&gt; &lt;td&gt;&lt;i&gt;76&lt;/i&gt;&lt;/td&gt; &lt;td&gt;&lt;i&gt;0&lt;/i&gt;&lt;/td&gt; &lt;td&gt;&lt;i&gt;9&lt;/i&gt;&lt;/td&gt; &lt;td&gt;&lt;i&gt;76&lt;/i&gt;&lt;/td&gt; &lt;td&gt;&lt;i&gt;72&lt;/i&gt;&lt;/td&gt; &lt;td&gt;&lt;i&gt;72&lt;/i&gt;&lt;/td&gt; &lt;td&gt;&lt;i&gt;8&lt;/i&gt;&lt;/td&gt; &lt;td&gt;&lt;i&gt;5&lt;b&gt;0&lt;/b&gt;&lt;/i&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;6&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;38&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;6&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;52&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;76&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;70&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;tr align="center"&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;/&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;5&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;/&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;.&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;l&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;c&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;h&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;.&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;d&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;a&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;n&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;t&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;o&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;n&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;l&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;l&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;v&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;a&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;b&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;a&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;u&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;n&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;m&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;tr&gt;   &lt;td&gt; &lt;/td&gt; &lt;/tr&gt;  &lt;tr align="center"&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;8&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;76&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;2&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;6&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;31&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;8&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;37&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;6&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;4&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;8&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;70&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;6&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;2&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;76&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;9&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;0&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;6&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;32&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;39&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;9&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;76&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;8&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;2&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;79&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;6&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;58&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;6&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;tr align="center"&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;n&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;s&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;a&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;j&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;;&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;a&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;d&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;m&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;a&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;s&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;a&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;n&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;o&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;t&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;a&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;c&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;i&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;o&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;n&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;s&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;p&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;a&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;r&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;tr&gt;   &lt;td&gt; &lt;/td&gt; &lt;/tr&gt;  &lt;tr align="center"&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;58&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;70&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;8&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;70&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;9&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;58&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;39&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;59&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;6&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;58&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;8&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;72&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;39&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;76&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;30&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;9&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;58&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;70&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;8&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;9&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;58&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;6&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;72&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;71&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;52&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;8&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;72&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt;    &lt;tr align="center"&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;a&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;m&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;m&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;o&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;r&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;i&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;z&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;a&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;r&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;l&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;i&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;n&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;f&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;o&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;r&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;m&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;o&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;r&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;a&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;l&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;q&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;u&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;l&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt;   &lt;tr&gt;   &lt;td&gt; &lt;/td&gt; &lt;/tr&gt;  &lt;tr align="center"&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;8&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;4&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;39&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;37&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;0&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;9&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;4&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;9&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;8&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;76&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;32&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;72&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;6&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;50&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;8&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;33&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;8&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;2&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;0&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;8&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;8&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;2&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;8&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;72&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;70&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;8&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;6&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;tr align="center"&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;d&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;i&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;;&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;t&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;o&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;d&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;o&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;n&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;c&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;l&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;a&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;v&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;.&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;s&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;t&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;s&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;l&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;m&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;n&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;tr&gt;   &lt;td&gt; &lt;/td&gt; &lt;/tr&gt;  &lt;tr nosave="" align="center"&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;2&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;6&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;31&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;8&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;33&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;73&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;111&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;77&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;72&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;72&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;8&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;36&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;6&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;58&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;9&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;76&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;4&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;6&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;76&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;0&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;9&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;76&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;1&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;30&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;58&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;6&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;76&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;tr nosave="" align="center"&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;s&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;a&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;j&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;.&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;/&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;1&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;/&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;l&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;l&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;g&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;a&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;r&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;o&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;n&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;d&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;a&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;n&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;t&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;o&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;n&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;y&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;f&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;r&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;a&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;n&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;tr&gt;   &lt;td&gt; &lt;/td&gt; &lt;/tr&gt;  &lt;tr align="center"&gt; &lt;td nosave=""&gt;&lt;b&gt;&lt;i&gt;32&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;39&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;2&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;32&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;9&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;37&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;8&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;2&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;0&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;8&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;76&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;9&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;2&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;6&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;38&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;39&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;6&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;32&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;6&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;76&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;0&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;39&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;4&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;6&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;4&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;1&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;4&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt;   &lt;tr align="center"&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;c&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;i&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;s&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;c&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;o&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;;&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;s&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;t&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;e&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;n&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;o&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;s&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;a&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;b&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;i&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;a&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;c&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;a&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;n&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;t&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;i&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;d&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;a&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;d&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;y&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;d&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;tr&gt;   &lt;td&gt; &lt;/td&gt; &lt;/tr&gt;  &lt;tr align="center"&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;8&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;31&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;9&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;4&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;39&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;76&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;8&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;58&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;9&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;8&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;76&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;72&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;i&gt;6&lt;/i&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt;  &lt;tr align="center"&gt; &lt;td&gt;&lt;b&gt;e&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;j&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;o&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;d&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;i&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;n&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;e&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;r&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;o&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;e&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;n&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;l&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;a&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;    &lt;p&gt;Términos como &lt;i&gt;leche&lt;/i&gt;, &lt;i&gt;danton, &lt;/i&gt;y &lt;i&gt;francisco&lt;/i&gt; probablemente corresponden a palabras cuyo significado se obtienen de un diccionario pre-acordado entre quien envía y recibe el mensaje. En este caso, &lt;i&gt;leche&lt;/i&gt; correspondería a Fidel Castro, &lt;i&gt;danton&lt;/i&gt; a Jules Regis Debray, el principal contacto entre el Ché y Castro, &lt;i&gt;francisco&lt;/i&gt; a el revolucionario peruano Juan Pablo Chang Navarro.&lt;/p&gt;&lt;a href="http://www.caslab.cl/che.php"&gt;Fuente&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-2826619158483445078?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/2826619158483445078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=2826619158483445078&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/2826619158483445078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/2826619158483445078'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/05/el-cifrado-del-ch-guevara.html' title='El Cifrado del Ché Guevara'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_qoMj8Cxqh50/SCWm38EJ4hI/AAAAAAAAARU/2BTSGDgp07Q/s72-c/che.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-7197151601786476519</id><published>2008-05-06T15:05:00.000-07:00</published><updated>2008-05-06T15:08:06.446-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Noticias'/><title type='text'>Aceleran las descargas en redes P2P</title><content type='html'>&lt;strong&gt;Un equipo de investigadores de la Escuela McCormick de Ciencias Aplicadas de la Universidad Northwestern han creado un complemento para Azureus, un popular cliente BitTorrent, que permite acelerar las descargas hasta un 207%, aunque la media se sitúa en el 31%.&lt;br /&gt;&lt;/strong&gt;&lt;b&gt;&lt;br /&gt;LD (Daniel Rodríguez Herrera)&lt;/b&gt; El complemento o &lt;i&gt;plugin&lt;/i&gt;, llamado &lt;a href="http://www.aqualab.cs.northwestern.edu/projects/Ono.html"&gt;Ono&lt;/a&gt; ("bueno para comer" en hawaiano) es una aplicación práctica del concepto de &lt;a href="http://www.libertaddigital.com:6680/noticias/kw/descargas/emule/p2p/p4p/torrent/kw/noticia_1276326541.html"&gt;redes P4P&lt;/a&gt; o de superpares, que varias operadoras están investigando. A la hora de compartir ficheros, Ono da &lt;span&gt;preferencia a los ordenadores más cercanos dentro de la red, lo que reduce el uso de la red, descongestionándola, y mejorara la velocidad al reducir tanto la latencia (el tiempo que tarda físicamente en moverse la información de un ordenador a otro) como el rendimiento (al reducir los errores producidos por un "viaje" demasiado largo).&lt;/span&gt; &lt;p&gt;Ono está siendo utilizado ya por 150.000 usuarios de &lt;a href="http://azureus.sourceforge.net/"&gt;Azureus&lt;/a&gt;, el cliente BitTorrent más popular, que puede funcionar en Windows, Mac o Linux. Este volumen de usuarios ha permitido a sus creadores, el profesor asociado Fabián E. Bustamante y el alumno de doctorado David Choffnes,&lt;span&gt; evaluar su comportamiento, pues el complemento envía estadísticas de rendimiento cuando el usuario cierra el programa.&lt;/span&gt;&lt;/p&gt; &lt;span&gt;Para evaluar la cercanía de un ordenador a otro dentro de intenet, Ono se aprovecha de redes de distribución de contenidos (CDN) como Akamai, que son empleadas por un gran número de sitios web para acelerar la visualización de páginas por parte de sus usuarios. Estas redes cuentan con un gran número de ordenadores distribuidos por todo el mundo y sirven las páginas y contenidos asociados a ellas, como las imágenes, desde los servidores más cercanos al ordenador del usuario. Para evaluar si un ordenador está cerca de otro, Ono mira a ver si ambos acceden al mismo servidor de una de estas redes, lo que le permite aprovecharse de su infraestructura para acelerar las descargas P2P.&lt;/span&gt;&lt;br /&gt;&lt;!-- &lt;img src="/fotos/noticias/komlek_2.gif" /&gt;--&gt;&lt;br /&gt;&lt;a href="http://www.libertaddigital.es/noticias/kw/descargas/emule/p2p/p4p/torrent/kw/noticia_1276329620.html"&gt;Fuente&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6301813106398565950-7197151601786476519?l=braianet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://braianet.blogspot.com/feeds/7197151601786476519/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6301813106398565950&amp;postID=7197151601786476519&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/7197151601786476519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6301813106398565950/posts/default/7197151601786476519'/><link rel='alternate' type='text/html' href='http://braianet.blogspot.com/2008/05/aceleran-las-descargas-en-redes-p2p.html' title='Aceleran las descargas en redes P2P'/><author><name>Braian</name><uri>http://www.blogger.com/profile/13742241213281007972</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_qoMj8Cxqh50/R8N42XRJ72I/AAAAAAAAAL8/JzqR4RJwOHM/S220/20-02-08_1353.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6301813106398565950.post-6902967181710306361</id><published>2008-05-04T13:32:00.000-07:00</published><updated>2008-05-04T13:41:43.889-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Comandos Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Sistema'/><title type='text'>Todos los comandos =)</title><content type='html'>Exelente recompilación de comandos de linux =). Visto en &lt;a href="http://www.cuadernoderuta.es/comandos-linux/"&gt;cuadernoderuta.&lt;/a&gt;&lt;br /&gt;&lt;div class="content"&gt;       &lt;p style="color: rgb(0, 153, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;COMANDOS SOBRE FICHEROS:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;ls&lt;/strong&gt; = Lista los archivos de un directorio concreto.&lt;br /&gt;&lt;strong&gt; ls -l&lt;/strong&gt; = Añade información sobre los atributos.&lt;br /&gt;&lt;strong&gt; ls -a&lt;/strong&gt; = Lista todos los archivos incluyendo los ocultos.&lt;br /&gt;&lt;strong&gt; ls -R&lt;/strong&gt; = Lista el contenido del directorio y todos sus subdirectorios recursivamente.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;cat [fichero]&lt;/strong&gt; = Muestra el contenido de un fichero.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;cat -n [fichero]&lt;/strong&gt; = Muestra el contenido de un fichero numerando sus lineas.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;more [fichero]&lt;/strong&gt; = Muestra un fichero de forma tabulada como una pagina del man.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;less [fichero]&lt;/strong&gt; = Igual que more.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;echo [cadena]&lt;/strong&gt; = Repite la cadena.&lt;br /&gt;&lt;strong&gt; echo -e [cadena]&lt;/strong&gt; = Habilita la interpretación de caracteres de escape.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;stat [fichero]&lt;/strong&gt; = Muestra el estado de un fichero.&lt;br /&gt;&lt;strong&gt; stat -f [fichero]&lt;/strong&gt; = Muestra el estado del sistema de ficheros.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;tail [archivo]&lt;/strong&gt; = Muestra las ultimas lineas de un archivo.&lt;br /&gt;&lt;strong&gt; tail -n [n] [archivo]&lt;/strong&gt; = Muestra las ultimas n lineas del archivo.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;head [archivo]&lt;/strong&gt; = Muestra las primeras lineas de un archivo.&lt;br /&gt;&lt;strong&gt; head [n] [archivo]&lt;/strong&gt; = Muestra las n primeras lineas de un archivo.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;find [patrón]&lt;/strong&gt; = Busca las coincidencias con el patrón dentro del directorio y sus subdirectorios.&lt;br /&gt;&lt;strong&gt; find [ruta] [patrón]&lt;/strong&gt; = Busca las coincidencias con el patrón dentro de la ruta.&lt;br /&gt;&lt;strong&gt; find [patron] -print&lt;/strong&gt; = Busca las coincidencias y muestra la ruta completa de estas.&lt;br /&gt;&lt;strong&gt; find -size [tam]&lt;/strong&gt; = Busca aquellos archivos menores que el tamaño señalado.&lt;br /&gt;&lt;strong&gt; man find&lt;/strong&gt; = Muestra un listado las múltiples opciones y usos de find.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;whereis [programa]&lt;/strong&gt; = Busca la ruta donde se encuentra el programa, su ayuda …&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;type [comando]&lt;/strong&gt; = Busca la ruta donde se encuentra el comando.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;which [programa]&lt;/strong&gt; = Busca la ruta donde se encuentra el programa o comando.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;pwd&lt;/strong&gt; = Muestra el directorio actual.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;history&lt;/strong&gt; = Muestra los comandos utilizados por el usuario en orden cronológico.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;fc -l&lt;/strong&gt; = Muestra los últimos comandos usados por el usuario.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;eject [unidad óptica]&lt;/strong&gt; = Expulsa la unidad óptica seleccionada (Podemos encontrarlas en /media).&lt;br /&gt;&lt;strong&gt; eject -t [unidad óptica]&lt;/strong&gt; = Cierra la bandeja de la unidad óptica (cdroom, dvd …).&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;cd&lt;/strong&gt; = Cambia al home o al directorio raíz si se lanza como root.&lt;br /&gt;&lt;strong&gt; cd [ruta]&lt;/strong&gt; = Se desplaza al directorio especificado en la ruta.&lt;br /&gt;&lt;strong&gt; cd ..&lt;/strong&gt; = Se mueve al directorio anterior.&lt;br /&gt;&lt;strong&gt; cd ../..&lt;/strong&gt; = Se mueve dos directorios atrás.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;cp [origen] [destino]&lt;/strong&gt; = Copia el archivo origen al directorio destino.&lt;br /&gt;&lt;strong&gt; cp -R [origen] [destino]&lt;/strong&gt; = Copia un directorio recursivamente.&lt;br /&gt;&lt;strong&gt; cp -p [orgien] [destino]&lt;/strong&gt; = Copia preservando los permisos y las fechas.&lt;br /&gt;&lt;strong&gt; cp [archivo] [archivo nombre cambiado]&lt;/strong&gt; = Copia el archivo y lo cambia de nombre.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;mv [origen] [destino]&lt;/strong&gt; = Mueve al archivo origen al directorio destino.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;mkdir [directorio]&lt;/strong&gt; = Crea una nueva carpeta dentro del directorio.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;rmdir [directorio vacío]&lt;/strong&gt; = Elimina el directorio vacío.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;rm [archivo]&lt;/strong&gt; = Elimina un archivo completamente.&lt;br /&gt;&lt;strong&gt; rm -r [directorio]&lt;/strong&gt; = Elimina un directorio recursivamente.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;ln [archivo]&lt;/strong&gt; = Crea un enlace duro (mismo archivo con distintos nombre).&lt;br /&gt;&lt;strong&gt; ln -s [archivo]&lt;/strong&gt; = Crea un enlace blando.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;diff [opciones] [fichero1] [fichero2]&lt;/strong&gt; = Compara los dos ficheros.&lt;br /&gt;&lt;strong&gt; diff -w [fichero1] [fichero2]&lt;/strong&gt; = Descarta el espacio en blanco cuando compara las lineas.&lt;br /&gt;&lt;strong&gt; diff -q [fichero1] [fichero2]&lt;/strong&gt; = Informa solo si los ficheros son distintos.&lt;br /&gt;&lt;strong&gt; diff -y [fichero1] [fichero2]&lt;/strong&gt; = Muestra la salida a dos columnas.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;passwd&lt;/strong&gt; = Permite al usuario cambiar su contraseña.&lt;br /&gt;&lt;strong&gt; sudo passwd&lt;/strong&gt; = Permite al usuario cambiar o crear la contraseña de root.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;man termino&lt;/strong&gt; = Muestra una ayuda sobre termino.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;clear&lt;/strong&gt; = Limpia la pantalla.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;reset&lt;/strong&gt; = Reinicia la terminal.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;date&lt;/strong&gt; = Muestra la hora y la fecha en formato completo.&lt;br /&gt;&lt;strong&gt; date -u&lt;/strong&gt; = Muestra la hora y fecha en formato completo en UTC.&lt;br /&gt;&lt;strong&gt; date ‘+format’&lt;/strong&gt; = Formatea la hora y la fecha -&gt; date ‘+Dia: %m/%d/%y%n Hora:%H:%M:%S’&lt;br /&gt;&lt;strong&gt; man date&lt;/strong&gt; = Muestra un listado con todos los posibles formatos.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;who&lt;/strong&gt; = Muestra los usuarios que hay logeados en el sistema.&lt;br /&gt;&lt;strong&gt; whoami&lt;/strong&gt; = Muestra la información del propio usuario.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;write [user]&lt;/strong&gt; = Permite mandar un mensaje a un usuario conectado al sistema (valido para red), para finalizar pulsar Ctrl+d&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;mesg&lt;/strong&gt; = Muestra el estado actual de la terminal.&lt;br /&gt;&lt;strong&gt; mesg [y | n]&lt;/strong&gt; = Esta orden permite al usuario que la ejecuta habilitar (y) o inhibir (n) el permiso de escritura sobre su terminal.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;mail [usuario]&lt;/strong&gt; = permite intercambiar correo electrónico con otros usuarios. Similar a write solo que el usuario no necesita estar conectado.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;uname&lt;/strong&gt; = Muestra el sistema unix sobre el que estamos trabajando.&lt;br /&gt;&lt;strong&gt; uname -a&lt;/strong&gt; = Muestra toda la información sobre el tipo de sistema que se esta utilizando.&lt;br /&gt;&lt;strong&gt; uname -m&lt;/strong&gt; = Muestra el tipo de arquitectura que se esta utilizando.&lt;br /&gt;&lt;strong&gt; uname -s&lt;/strong&gt; = Muestra el nombre del sistema.&lt;br /&gt;&lt;strong&gt; uname -n&lt;/strong&gt; = Muestra el nombre por el que se identifica el sistema en la red.&lt;br /&gt;&lt;strong&gt; uname -r&lt;/strong&gt; = Muestra la revisión (release) del kernel que estamos usando.&lt;br /&gt;&lt;strong&gt; uname -v&lt;/strong&gt; = Muestra la versión del kernel que estamos usando.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;chmod [+|-][rwx] [archivo]&lt;/strong&gt; = Añade(+) o elimina(-) los permisos de lectura(r), escritura(w) o ejecución(x) del archivo o directorio.&lt;br /&gt;&lt;strong&gt; chmod [u|g|o|a][+|-][rwx] [archivo]&lt;/strong&gt; = Cambia los permisos al usuario(u), grupo(g), otros(o) o a todos(a).&lt;br /&gt;&lt;strong&gt; chmod [mascara] [archivo]&lt;/strong&gt; = Cambia los permisos al archivo según la mascara, donde 000 quita todos los permisos y 777 da todos los permisos.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;umask&lt;/strong&gt; = Muestra los permisos con los que el usuario creara sus archivos por defecto.&lt;br /&gt;&lt;strong&gt; umask [mascara]&lt;/strong&gt; = Fija los permisos que tendrá por defecto cualquier archivo creado por el usuario. 777 quita todos los permisos y 000 da todos los permisos.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;chown [nuevo propietario] [archivos]&lt;/strong&gt; = Cambia de propietario a los archivos.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;chgrp [grupo nuevo][archivos]&lt;/strong&gt; = Cambia de grupo a los archivos.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;mkfs.msdos /dev/fd0&lt;/strong&gt; = Formatea en formato MsDos un disquete.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;fdformat /dev/fd0&lt;/strong&gt; = Formatea en formato MsDos un disquete y después verifica el formateo.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;sleep [tiempo]&lt;/strong&gt; = Congela la terminal durante los segundos especificados.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;export [identificador][=valor]&lt;/strong&gt; = Define, marca y/o asigna el identificador(es) como variables de entorno que serán exportada a los subprocesos que se generen.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;unset [identificador]&lt;/strong&gt; = Permite eliminar una variable identificada por su nombre o identificador.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;|&lt;/strong&gt; = Redirecciona la salida de un comando con la entrada del siguiente comando.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;alias nombre=’comando’&lt;/strong&gt; = Asigna un nombre simbólico a un comando.&lt;/span&gt;&lt;/p&gt; &lt;p style="color: rgb(0, 153, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;IMPRIMIENDO&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;lpr fichero&lt;/strong&gt; = Añade el fichero a la cola de impresión.&lt;br /&gt;&lt;strong&gt; lpr -#n fichero&lt;/strong&gt; = Realiza “n” copias del fichero, donde n es un numero natural (1,2,3,4,5 …).&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;lpq&lt;/strong&gt; = Muestra los documentos en la cola.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;lprm&lt;/strong&gt; = Cancela la impresión del documento actual.&lt;br /&gt;&lt;strong&gt; lprm n&lt;/strong&gt; = Cancela la impresión del trabajo n, siendo n un numero natural.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;pr +2 l70 -w 80 -h “Comandos” fichero -t&lt;/strong&gt; = Formatea un archivo de texto para la impresión.&lt;br /&gt;&lt;strong&gt; -t&lt;/strong&gt; = No imprimirá cabeceras ni pies de pagina.&lt;br /&gt;&lt;strong&gt; l70&lt;/strong&gt; = Establece la longitud de la página de 70 lineas (66 por defecto).&lt;br /&gt;&lt;strong&gt; -w 80&lt;/strong&gt; = Establece el ancho de linea en 80 caracteres(72 por defecto).&lt;br /&gt;&lt;strong&gt; -h “Comandos”&lt;/strong&gt; = Establece “Comandos” como cabecera de cada página.&lt;br /&gt;&lt;strong&gt; pr l70 -d comandos.txt | lpr&lt;/strong&gt; = Una vez formateado el texto lo manda a la cola de impresión.&lt;/span&gt;&lt;/p&gt; &lt;p style="color: rgb(0, 153, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;FORMATOS:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;tidy fichero.html&lt;/strong&gt; = Analiza el código de un documento html.&lt;br /&gt;&lt;strong&gt; tidy -m fichero.html&lt;/strong&gt; = Corrige modificando el código del fichero html.&lt;br /&gt;&lt;strong&gt; tidy -m -asxml fichero.html&lt;/strong&gt; = Convierte el fichero html a xml.&lt;br /&gt;&lt;strong&gt; tidy -m -asxhtml fichero.html&lt;/strong&gt; = Convierte el fichero html a xhtml.&lt;br /&gt;&lt;strong&gt; tidy -m -ashtml fichero.xhtml&lt;/strong&gt; = Convierte un fichero xhtml a html.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;pdftops fichero.pdf fichero.ps&lt;/strong&gt; = Convierte un fichero pdf a ps.&lt;/span&gt;&lt;/p&gt; &lt;p style="color: rgb(0, 153, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;COMPRIMIR Y DESCOMPRIMIR:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;zip -r fichero.zip ficheros&lt;/strong&gt; = Comprime en formato .zip&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;unzip archivo.zip&lt;/strong&gt; = Descomprime un .zip&lt;br /&gt;&lt;strong&gt; unzip -v archivo.zip&lt;/strong&gt; = Muestra el contenido de un .zip sin descomprimirlo.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;rar a -r0 fichero.rar ficheros&lt;/strong&gt; = Comprime los ficheros en formato .rar&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;unrar e -r archivo.rar&lt;/strong&gt; = Descomprime el fichero.rar en el directorio actual.&lt;br /&gt;&lt;strong&gt; unrar x -r archivo.rar ruta_destino&lt;/strong&gt; = Extrae el fichero.rar en la ruta especificada.&lt;br /&gt;&lt;strong&gt; unrar v archivo.rar&lt;/strong&gt; = Muestra el contenido del fichero.rar sin descomprimirlo.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;gzip -r ficheros&lt;/strong&gt; = Comprime ficheros a gz&lt;br /&gt;&lt;strong&gt; gzip -d fichero.gz&lt;/strong&gt; = Descomprime un fichero.gz&lt;br /&gt;&lt;strong&gt; gzip -c fichero.gz&lt;/strong&gt; = Muestra el contenido de un fichero.gz sin descomprimirlo.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;bzip2 ficheros&lt;/strong&gt; = Comprime ficheros al formato bz2&lt;br /&gt;&lt;strong&gt; bzip2 -d fichero.bz2&lt;/strong&gt; = Descomprime un fichero.bz2&lt;br /&gt;&lt;strong&gt; bzip2 -c fichero.bz2&lt;/strong&gt; = Muestra el contenido de un fichero.bz2 sin descomprimirlo.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;tar -vcf archivo.tar /fichero1 /fichero2 …&lt;/strong&gt; = Empaqueta ficheros o directorios en .tar&lt;br /&gt;&lt;strong&gt; tar -vxf archivo.tar&lt;/strong&gt; = Desempaqueta el archivo .tar&lt;br /&gt;&lt;strong&gt; tar -vtf archivo.tar&lt;/strong&gt; = Muestra el contenido del archivo .tar sin descomprimirlo.&lt;br /&gt;&lt;strong&gt; tar -zvcf archivo.tgz directorio&lt;/strong&gt; = Empaqueta y comprime (tgz) directorios o ficheros.&lt;br /&gt;&lt;strong&gt; tar -zvxf archivo.tgz&lt;/strong&gt; = Desempaqueta y descomprime un archivo.tgz&lt;br /&gt;&lt;strong&gt; tar -zvtf archivo.tgz&lt;/strong&gt; = Muestra el contenido de un tgz sin descomprimirlo ni desempaquetarlo.&lt;br /&gt;&lt;strong&gt; tar -jvcf archivo.tbz2 directorio&lt;/strong&gt; = Empaqueta y comprime (tbz2) directorios o ficheros.&lt;br /&gt;&lt;strong&gt; tar -jvxf archivo.tbz2&lt;/strong&gt; = Desempaqueta y descomprime el archivo.tbz2&lt;br /&gt;&lt;strong&gt; tar -jvtf archivo.tbz2&lt;/strong&gt; = Muestra el contenido sin desempaquetar ni descomprimir el .tbz2&lt;/span&gt;&lt;/p&gt; &lt;p style="color: rgb(0, 153, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;RENOMBRADO:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;rename ‘y/A-Z/a-z/’ *.zip&lt;/strong&gt; = Cambia mayúsculas por minúsculas en todos los .zip. *.zip indica el tipo de archivos a renombrar (llamado con * renombra todos). A-Z indica el patrón a modificar y a-z el patrón por el que se modifica. rename ‘y/ /_/’ * Cambiaría espacios por _ en todos los archivos.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;rename ’s/expresión //’ *.mp3&lt;/strong&gt; = Elimina una expresión de todos los mp3.&lt;/span&gt;&lt;/p&gt; &lt;p style="color: rgb(0, 153, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;GRAFICOS:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;glxinfo&lt;/strong&gt; = información sobre OpenGl y Glx&lt;br /&gt;&lt;strong&gt; glxinfo | grep “direct rendering”&lt;/strong&gt; = Indica si esta activada la aceleración 3D&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;showrgb&lt;/strong&gt; = Muestra los colores reconocidos por el sistema y su código RGB&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;banner texto&lt;/strong&gt; = Muestra un cartel ascii con el texto de forma vertical.&lt;br /&gt;&lt;strong&gt; banner -w[n] texto&lt;/strong&gt; = Hace el banner con el tamaño indicado por n, siendo n un numero (Sin los corchetes).&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;figlet texto&lt;/strong&gt; = Muestra un cartel ascii con el texto de forma horizontal.&lt;br /&gt;&lt;strong&gt; figlet -w[n] texto&lt;/strong&gt; = Similar a banner pero en formato horizontal.&lt;br /&gt;&lt;strong&gt; figlet -t texto&lt;/strong&gt; = La salida se mostrara con su anchura máxima.&lt;br /&gt;&lt;strong&gt; figlet -c texto&lt;/strong&gt; = La salida se mostrara centrada.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;xwd &gt; ventana.xwd&lt;/strong&gt; = Captura una ventana.&lt;br /&gt;&lt;strong&gt; xwd -root -screen &gt; pantalla.xwd&lt;/strong&gt; = Captura la pantalla.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;gnome-screenshot&lt;/strong&gt; = Captura la pantalla en el escritorio gnome.&lt;br /&gt;&lt;strong&gt; gnome-screenshot –window&lt;/strong&gt; = Captura la ventana en el escritorio gnome.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;import -window - ventana.jpg&lt;/strong&gt; = Captura una ventana en cualquier formato.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;xwud -in pantalla.xwd&lt;/strong&gt; = Muestra imágenes en formato xwd.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;identify imagen.gif&lt;/strong&gt; = Muestra las propiedades de una imagen.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;pdfimages fichero.pdf nombre_para_las_imágenes&lt;/strong&gt; = Extrae las imágenes de un .pdf&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;convert *.jpg catálogo.pdf&lt;/strong&gt; = Crea un catalogo pdf con las imágenes.&lt;br /&gt;&lt;strong&gt; display “vid:*.jpg”&lt;/strong&gt; = Crea un indice gráfico con las miniaturas.&lt;br /&gt;&lt;strong&gt; convert imagen_color.jpg -monochrome imágen_b/n.jpg&lt;/strong&gt; = Convierte una imagen a blanco y negro.&lt;br /&gt;&lt;strong&gt; convert imagen_original.ppm imagen_nueva.jpg&lt;/strong&gt; = Cambia el formato de una imagen.&lt;br /&gt;&lt;strong&gt; convert -sample 100×50 imagen_original.jpg imagen_nueva.jpg&lt;/strong&gt; = Cambia las dimensiones de una imagen.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;mogrify -format jpg *.ppm&lt;/strong&gt; = Convierte a jpg todas las imágenes ppm&lt;br /&gt;&lt;strong&gt; mogrify -format png -sample 20%x20% *.jpg&lt;/strong&gt; = Crea miniaturas de varias imágenes.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;convert -delay 15 imag1.jpg imag2.jpg imag3.jpg remero.gif&lt;/strong&gt; = Crea un gif animado con varias imagenes (15 es es el tiempo entre imagenes en centesimas).&lt;br /&gt;&lt;strong&gt; convert imagen.gif -adjoin imagen.jpg&lt;/strong&gt; = Extrae los fotogramas de un gif animado.&lt;br /&gt;&lt;strong&gt; convert -font courier -fill yellow -pointsize 25 -draw ‘text 100,250 texto’ imagen.jpg imagen_con_txt.jpg&lt;/strong&gt; = Añade texto a una imagen.&lt;/span&gt;&lt;/p&gt; &lt;p style="color: rgb(0, 153, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;IMAGENES:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;mkisofs -R -J -T -o imagen1.iso fichero1&lt;/strong&gt; = Crea una imagen de un fichero que se encuentre en nuestro disco duro.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;dd if=/dev/cdrom of=imagen.iso&lt;/strong&gt; = Crea una imagen del cdroom y la vuelca en imagen.iso&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;cat /dev/cdrom &gt; debian.iso&lt;/strong&gt; = Similar al anterior.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;nrg2iso imagen.nrg imagen.iso&lt;/strong&gt; = Convierte una imagen nrg a iso (instalar paquete nrg2iso).&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;bin2iso imagen.cue&lt;/strong&gt; = Convierte una imagen bin o cue a iso (Instalar paquete bin2iso).&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;ccd2iso imagen.img imagen.iso&lt;/strong&gt; = Convierte una imagen img/ccd/sub/cue a iso (Instalar paquete ccd2iso).&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;mdf2iso imagen.mdf imagen.iso&lt;/strong&gt; = Convierte una imagen mdf o mds a iso (Instalar paquete mdf2iso).&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;mount -t iso9660 -o loop imagen.iso punto_montaje&lt;/strong&gt; = Monta una imagen iso&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;umount punto_montaje&lt;/strong&gt; = Desmonta una imagen.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;md5sum archivo.iso &gt; archivo.iso.txt&lt;/strong&gt; = Genera la suma md5 de un archivo.&lt;br /&gt;&lt;strong&gt; md5sum -w -c archivo.iso.txt&lt;/strong&gt; = Verifica la suma md5 de un archivo.&lt;/span&gt;&lt;/p&gt; &lt;p style="color: rgb(0, 153, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;GRABACION DE CD Y DVD:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;cdrecord -v dev=0,0,0 fs=16M speed=30 imagen.iso&lt;/strong&gt; = Grabar un cd de datos/imagen.&lt;br /&gt;&lt;strong&gt; cdrecord -v dev=0,0,0 fs=16M speed=30 -eject -isosize /dev/sr1&lt;/strong&gt; = Copiar un cd de datos/imagen.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;cdrecord -v dev=0,0,0 fs=16M speed=30 -pad -audio *.wav&lt;/strong&gt; = Grabar un cd de audio.&lt;br /&gt;&lt;strong&gt; cdrdao copy -v 2 –device 0,0,0 –source-device 0,1,0 –reload \ –eject –on-the-fly –fast-toc –paranoia-mode 0&lt;/strong&gt; = Copia un cd de audio.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;cdrecord -v dev=0,0,0 fs=16M speed=30 -pad -audio *.wav -data imagen.iso&lt;/strong&gt; = Graba un cd mixto.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;cdrecord -v blank=fast&lt;/strong&gt; = Borrar un cd regrabable.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;growisofs -Z /dev/sr0 -R -J archivo&lt;/strong&gt; = Grabar un cd de datos/imagen.&lt;br /&gt;&lt;strong&gt; growisofs -M /dev/sr0 -R -J archivo&lt;/strong&gt; = Añade mas datos a un dvd multisesion.&lt;br /&gt;&lt;strong&gt; growisofs -dvd-compat -Z /dev/sr0=imagen.iso&lt;/strong&gt; = Graba una imagen previamente creada.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;dvdrecord -v dev=0,0,0 blank=fast&lt;/strong&gt; = Borra un dvd regrabable.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;dvdbackup -M -i/dev/sr0 -o ~/copia_dvd/&lt;/strong&gt; = Ripea un video dvd.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;vobcopy -i /dev/sr0 -m -o ~/copia_dvd/&lt;/strong&gt; = Similar a la anterior.&lt;/span&gt;&lt;/p&gt; &lt;p style="color: rgb(0, 153, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;RIPEO DE UN CD:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;cdda2wav -B -H -D /dev/sr1 -s -x&lt;/strong&gt; = Extrae disco completo en archivos wav separados.&lt;br /&gt;&lt;strong&gt; cdda2wav -H -D /dev/sr1 -s -x -t 5&lt;/strong&gt; = Extrae la pista numero 5.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;cdparanoia -B -d /dev/sr1&lt;/strong&gt; = Extrae disco completo en archivos wav separados.&lt;br /&gt;&lt;strong&gt; cdparanoia 5 -d /dev/sr1&lt;/strong&gt; = Extrae la pista numero 5.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;abcde -d /dev/sr1 -N -x -o mp3&lt;/strong&gt; = Extrae disco completo en archivos mp3 separados (Necesario instalar paquete abcde).&lt;br /&gt;&lt;strong&gt; abcde -d /dev/sr1 -N -x -o mpc&lt;/strong&gt; = Extrae el disco completo en archivos mpc separados.&lt;br /&gt;&lt;strong&gt; abcde -d /dev/sr1 -N -x -o ogg&lt;/strong&gt; = Extrae el disco en archivos ogg separados.&lt;br /&gt;&lt;strong&gt; abcde -d /dev/sr1 -N -x -o ogg tracks 1-3 5&lt;/strong&gt; = Extrae las 3 primeras canciones y la quinta.&lt;/span&gt;&lt;/p&gt; &lt;p style="color: rgb(0, 153, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;AUDIO:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;lame -b 192 -m j tema.wav&lt;/strong&gt; = Convierte una cancion wav a mp3 con brittate de 192 (Este valor puede sustituirse, la opcion -h indica maxima calidad).&lt;br /&gt;&lt;strong&gt; lame -h -m j –nogap *.wav&lt;/strong&gt; = Convierte todos los archivos wav a mp3.&lt;br /&gt;&lt;strong&gt; lame -h –decode tema.mp3 tema.wav&lt;/strong&gt; = Convierte un archivo mp3 a wav.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;oggenc -b 128 -q 5 tema.wav&lt;/strong&gt; = Convierte un archivo wav a ogg (-q 5 indica la calidad de 0 a 10).&lt;br /&gt;&lt;strong&gt; oggenc *.wav&lt;/strong&gt; = Convierte todos los wav en un unico fichero ogg&lt;br /&gt;&lt;strong&gt; oggenc -a -l -t *.wav&lt;/strong&gt; = Convierte todos los wav en sus respectivos ogg&lt;br /&gt;&lt;strong&gt; oggdec tema.ogg&lt;/strong&gt; = Convierte un archivo ogg a wav&lt;br /&gt;&lt;strong&gt; oggdec *.ogg&lt;/strong&gt; = Convierte todos los ogg a wav&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;mplayer -ao pcm fichero.asf&lt;/strong&gt; = Convierte un archivo asf o wma a wav&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;play cancion&lt;/strong&gt; = Reproduce una cancion en la terminal.&lt;/span&gt;&lt;/p&gt; &lt;p style="color: rgb(0, 153, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;PROCESOS:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;memtest&lt;/strong&gt; = Hace una comprobacion del estado de la memoria.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;free -m -s 3&lt;/strong&gt; = Muestra el uso de la memoria.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;ps -aux&lt;/strong&gt; = Muestra informacion sobre los procesos en curso.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;top&lt;/strong&gt; = Muestra informacion detallada sobre los procesos en curso (tecla z colorea los activos).&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;pstree&lt;/strong&gt; = Muestra los procesos en curso en forma de arbol.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;pidof [comando]&lt;/strong&gt; = Muestra el id del comando.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;killall [proceso]&lt;/strong&gt; = Para el proceso.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;strace [comando]&lt;/strong&gt; = Muestra las llamadas al sistema originadas por el comando.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;fuser -v [archivo]&lt;/strong&gt; = Muestra los procesos que estan usando un archivo o directorio.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;lsof&lt;/strong&gt; = Lista los ficheros abiertos por los procesos.&lt;br /&gt;&lt;strong&gt; lsof -c [comando]&lt;/strong&gt; = Lista los ficheros abiertos por un proceso.&lt;br /&gt;&lt;strong&gt; lsof +D [Directorio]&lt;/strong&gt; = Lista los procesos que estan usando el directorio.&lt;br /&gt;&lt;strong&gt; lsof -i :60627&lt;/strong&gt; = Muestra los procesos que se encuentren detras del puerto 60627.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;[comando] &amp;amp;&lt;/strong&gt; = Ejecuta un comando en segundo plano.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;nohup [comando] &amp;amp;&lt;/strong&gt; = Ejecuta un comando de forma que si cerramos la terminal siga ejecutandose.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;jobs&lt;/strong&gt; = Lista los procesos en segundo plano identificandolo con su numero de tarea.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;fg nº_tarea&lt;/strong&gt; = Pasa un comando a primer plano.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;bg&lt;/strong&gt; = Pasa a segundo plano un proceso que hemos suspendido temporalmente con Ctrl-Z&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;nice -n prioridad [comando]&lt;/strong&gt; = Ejecuta un comando con una prioridad determinada.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;renice prioridad PID_del_proceso&lt;/strong&gt; = Cambia la prioridad de un proceso en marcha.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;at [-f script] [tiempo]&lt;/strong&gt; = Ejecuta un script a una hora y/o fecha concretas.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;atq&lt;/strong&gt; = Muestra la lista de tareas programadas de forma numerada.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;atrm nº&lt;/strong&gt; = Elimina una tarea indentificada por su nº&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;batch&lt;/strong&gt; = Igual que at, salvo que batch solo ejecuta el script si la carga de cpu es inferior al 80%&lt;/span&gt;&lt;/p&gt; &lt;p style="color: rgb(0, 153, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;DISCO DURO:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;du -h [fichero]&lt;/strong&gt; = Muestra el espacio que ocupa el fichero o directorio.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;tree -a -s -L 2&lt;/strong&gt; = Igual que el anterior pero lo muestra en forma de arbol.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;df&lt;/strong&gt; = Muestra informacion sobre particiones montadas.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;cfdisk&lt;/strong&gt; = Muestra informacion sobre particiones.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;mount&lt;/strong&gt; = Muestra un listado de los dispositivos montados.&lt;br /&gt;&lt;strong&gt; mount punto_montaje&lt;/strong&gt; = Monta un dispositivo establecido en fstab.&lt;br /&gt;&lt;strong&gt; mount -t [Sistema_Archivos] /dev/[dispositivo] [punto_montaje]&lt;/strong&gt; = Monta el dispositvo, ej: mount -t ext3 /dev/hda1 /media/disco1&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;umount punto_montaje&lt;/strong&gt; = Desmonta un dispositivo establecido en el fstab.&lt;br /&gt;&lt;strong&gt; umount /dev/[dispositivo]&lt;/strong&gt; = Desmonta un disco.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;fsck /dev/[dispositivo]&lt;/strong&gt; = Chequea y repara el sistema de archivos de una particion no montada.&lt;br /&gt;&lt;strong&gt; fsck.ext2 -vpf /dev/hdx&lt;/strong&gt; = Chequea y repara el sistema de archivos de una particion ext2 no montada.&lt;br /&gt;&lt;strong&gt; fsck.ext3 -vpf /dev/hdx&lt;/strong&gt; = Igual pero con una particion ext3.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;mkfs.ext2 /dev/hdXX&lt;/strong&gt; = Crea un sistema ext2 en la particion seleccionada.&lt;br /&gt;&lt;strong&gt; mkfs.ext3 /dev/hdXX&lt;/strong&gt; = Crea un sistema ext3 en la particion seleccionada.&lt;br /&gt;&lt;strong&gt; mkfs.ext2 /dev/fd0&lt;/strong&gt; = Crea un sistema ext2 en el disquette.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;mkswap /dev/hda2&lt;/strong&gt; = Crea un sistema de ficheros swap.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;tune2fs -O ^has_journal /dev/hdXX&lt;/strong&gt; = Convierte la particion de ext3 a ext2&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;tune2fs -j /dev/hdXX&lt;/strong&gt; = Convierte la particion de ext2 a ext3&lt;/span&gt;&lt;/p&gt; &lt;p style="color: rgb(0, 153, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;INSTALACION DE SOFTWARE:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;dpkg -i paquete&lt;/strong&gt; = Instala un paquete.&lt;br /&gt;&lt;strong&gt; dpkg -r paquete&lt;/strong&gt; = Desinstala un paquete.&lt;br /&gt;&lt;strong&gt; dpkg –purge paquete&lt;/strong&gt; = Desisntala un paquete y sus archivos de configuracion.&lt;br /&gt;&lt;strong&gt; dpkg –force -r paquete&lt;/strong&gt; = Fuerza la desinstalacion de un paquete.&lt;br /&gt;&lt;strong&gt; dpkg –force-all -r paquete&lt;/strong&gt; = Fuerza aun mas la desinstalacion de un paquete (Puede comprometer el sistema).&lt;br /&gt;&lt;strong&gt; dpkg -c paquete&lt;/strong&gt; = Muestra el contenido de un paquete.&lt;br /&gt;&lt;strong&gt; dpkg -L paquete&lt;/strong&gt; = Muestra todos los ficheros que se instalaron con un paquete.&lt;br /&gt;&lt;strong&gt; dpkg -S fichero&lt;/strong&gt; = Muestra a que paquete pertenece un fichero.&lt;br /&gt;&lt;strong&gt; dpkg –get-selections&lt;/strong&gt; = Muestra un listado con todos los paquetes instalados.&lt;br /&gt;&lt;strong&gt; dpkg-reconfigure paquete&lt;/strong&gt; = Reconfigura el paquete.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;aptitude update&lt;/strong&gt; = Actualiza la lista de paquetes.&lt;br /&gt;&lt;strong&gt; aptitude upgrade&lt;/strong&gt; = Actualiza el sistema (no instala ni elimina paquetes).&lt;br /&gt;&lt;strong&gt; aptitude dist-upgrade&lt;/strong&gt; = Actualiza el sistema eliminando e instalando paquetes si fuera necesario.&lt;br /&gt;&lt;strong&gt; aptitude install [paquetes]&lt;/strong&gt; = Instala los paquetes indicados.&lt;br /&gt;&lt;strong&gt; aptitude reinstall [paquetes]&lt;/strong&gt; = Reinstala los paquetes indicados.&lt;br /&gt;&lt;strong&gt; aptitude remove [paquetes]&lt;/strong&gt; = Elimina los paquetes indicados.&lt;br /&gt;&lt;strong&gt; aptitude purge [paquetes]&lt;/strong&gt; = Elimina los paquetes y sus ficheros de configuracion.&lt;br /&gt;&lt;strong&gt; aptitude download [paquetes]&lt;/strong&gt; = Descarga los paquetes en el directorio actual.&lt;br /&gt;&lt;strong&gt; aptitude hold [paquetes]&lt;/strong&gt; = Bloqua los paquetes indicados.&lt;br /&gt;&lt;strong&gt; aptitude unhold [paquetes]&lt;/strong&gt; = Desbloquea los paquetes seleccionados.&lt;br /&gt;&lt;strong&gt; aptitude unmarkauto [paquetes]&lt;/strong&gt; = Desmarca paquetes como instalados manualmente.&lt;br /&gt;&lt;strong&gt; markauto&lt;/strong&gt; = Marca paquetes como instalados manualmente.&lt;br /&gt;&lt;strong&gt; aptitude search [expresion]&lt;/strong&gt; = Busca un paquete por nombre o expresion.&lt;br /&gt;&lt;strong&gt; aptitude show [paquete]&lt;/strong&gt; = Muestra informacion detallada de un paquete.&lt;br /&gt;&lt;strong&gt; aptitude clean&lt;/strong&gt; = Elimina los paquetes .deb descargados.&lt;/span&gt;&lt;/p&gt; &lt;p style="color: rgb(0, 153, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;VARIOS:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;man comando&lt;/strong&gt; = Muestra informacion sobre el comando.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;apropos palabra_clave&lt;/strong&gt; = Busca dentro de las declaraciones de man la palabra exacta.&lt;br /&gt;&lt;strong&gt; apropos -e palabra_clave&lt;/strong&gt; = Busca la palabra exacta.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;cal&lt;/strong&gt; = Muestra el calendario del mes actual.&lt;br /&gt;&lt;strong&gt; cal&lt;/strong&gt; -my = Muestra el calendario de todo el año.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;uptime&lt;/strong&gt; = Muestra la hora,tiempo de funcionamiento,nº usuarios conectados y la carga media.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;tzconfig&lt;/strong&gt; = Permite seleccionar la zona horaria.&lt;br /&gt;&lt;strong&gt; tzselect&lt;/strong&gt; = Permite seleccionar la zona horaria.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;date&lt;/strong&gt; = Muestra la fecha del sistema en formato local.&lt;br /&gt;&lt;strong&gt; date –help&lt;/strong&gt; = Muestra todas las opciones de date en castellano.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;hwclock –show&lt;/strong&gt; = Muestra el reloj Hardware o reloj de Bios.&lt;br /&gt;&lt;strong&gt; hwclock -systohc&lt;/strong&gt; = Pone el reloj Hardware a la hora del sistema.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;watch -n tiempo comando&lt;/strong&gt; = Ejecuta un comando cada x segundos (defecto = 2).&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;clear &lt;/strong&gt;= Limpia la pantalla.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;reset&lt;/strong&gt; = Reinicia la terminal.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;hostname&lt;/strong&gt; = Muestra el nombre de la maquina.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;tty&lt;/strong&gt; = Muestra el nombre del fichero de la terminal conectada a la salida estandar.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;/etc/init.d/servicio stop&lt;/strong&gt; = Para un servicio o demonio.&lt;br /&gt;&lt;strong&gt; /etc/init.d/servicio start&lt;/strong&gt; = Inicia un servicio o demonio.&lt;br /&gt;&lt;strong&gt; /etc/init.d/servicio restart&lt;/strong&gt; = 
