<?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-8825995782398077022</id><updated>2011-12-31T12:16:02.592+01:00</updated><category term='Windows XP'/><category term='tango'/><category term='control parental'/><category term='Bridge'/><category term='MySQL'/><category term='kubuntu'/><category term='VirtualBox'/><category term='sqlite'/><category term='RAID'/><category term='Akonadi'/><category term='consola'/><category term='singleclick'/><category term='estandares'/><category term='wine'/><category term='Windows'/><category term='Grub'/><category term='Ext2'/><category term='vnc'/><category term='Ext4'/><category term='hardy'/><category term='firebird'/><category term='multimedia'/><category term='kde4'/><category term='firefox'/><category term='csharp'/><category term='zsync'/><category term='SATA'/><category term='impresoras'/><category term='apt-cacher'/><category term='wesnoth'/><category term='odf ofimatica'/><category term='Chrome'/><category term='plasmoids'/><category term='cdlive'/><category term='Linux'/><category term='repositorios'/><category term='Virus'/><category term='SystemRescueCD'/><category term='AppArmor'/><category term='/etc/fstab'/><category term='Ext3'/><category term='firestarter'/><category term='ubuntu'/><category term='iptables'/><category term='thunderbird'/><category term='rdesktop'/><category term='playdeb'/><title type='text'>Como adoptar un pingüino</title><subtitle type='html'>BLOG de AZULcasiNEGRO, donde se cuentan básicamente las peripecias durante la migración a Kubuntu/Linux</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>38</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-6350536370348984360</id><published>2011-12-31T12:10:00.003+01:00</published><updated>2011-12-31T12:16:02.601+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>R E I S U B, la secuencia de escape para emergencias en sistemas Linux</title><content type='html'>Os pongo la parte "con chicha" de un artículo con algo que siempre olvido:&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Esta secuencia de escape debe pulsarse junto con las teclas Alt e Impr Pant&lt;/strong&gt;  (y teniendo en cuenta que quizá en los portátiles requiera de una tecla  adicional, llamada Fn por ejemplo). Son séis letras, y coincidirán con  estas únicamente en el caso de disponer de un teclado QWERTY:&lt;/p&gt;   &lt;ul&gt;&lt;li&gt;&lt;strong&gt;R&lt;/strong&gt; lo que hace es dar el control de manera exclusiva al teclado de la máquina.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;E&lt;/strong&gt; enviará una señal a todas las aplicaciones, digamos, “pidiendo amablemente” que se cierren.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;I&lt;/strong&gt; envía una señal de finalización inmediata, sin esperar a que reaccionen.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;S&lt;/strong&gt; sincronizará los cambios en los sistemas de ficheros que estén montados en ese momento.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;U&lt;/strong&gt; desmontará todos los sistemas de ficheros.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;B&lt;/strong&gt; reiniciará la máquina, exactamente igual que si  pulsáramos en este momento el botón de nuestra máquina. Llegados a este  punto podemos elegir utilizar la letra &lt;strong&gt;O&lt;/strong&gt; para apagar la máquina. &lt;/li&gt;&lt;/ul&gt;   &lt;p&gt;Si necesitáis una regla mnemotécnica para recordar esta secuencia, mantened esta frase en vuestra memoria: &lt;em&gt;&lt;strong&gt;rei&lt;/strong&gt;nicia, &lt;strong&gt;sub&lt;/strong&gt;normal&lt;/em&gt;.  Las tres primeras letras de cada palabra forman, como véis, las letras  que necesitamos para recuperar nuestra máquina de uno de estos fallos,  tan inoportunos. &lt;strong&gt;Conviene que dejéis un tiempo (unos segundos) entre pulsación y pulsación de tecla&lt;/strong&gt;: algunas de estas operaciones no son instantáneas. &lt;/p&gt;Fuente: &lt;a href="http://www.genbeta.com/linux/r-e-i-s-u-b-o-la-secuencia-de-escape-para-emergencias-en-sistemas-linux"&gt;GENBETA&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-6350536370348984360?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/6350536370348984360/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=6350536370348984360' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/6350536370348984360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/6350536370348984360'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2011/12/r-e-i-s-u-b-la-secuencia-de-escape-para.html' title='R E I S U B, la secuencia de escape para emergencias en sistemas Linux'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-4306073209315607765</id><published>2011-10-25T07:27:00.000+02:00</published><updated>2011-10-25T07:27:13.994+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='Chrome'/><title type='text'>Copiado rápido en Firefox y Chrome</title><content type='html'>Como copiar con solo seleccionar en Firefox y Chrome.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.genbeta.com/navegadores/copiar-texto-mas-rapido-que-nunca-en-firefox-y-chrome"&gt;http://www.genbeta.com/navegadores/copiar-texto-mas-rapido-que-nunca-en-firefox-y-chrome&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-4306073209315607765?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/4306073209315607765/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=4306073209315607765' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/4306073209315607765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/4306073209315607765'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2011/10/copiado-rapido-en-firefox-y-chrome.html' title='Copiado rápido en Firefox y Chrome'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-1298121902067231745</id><published>2011-05-05T20:17:00.002+02:00</published><updated>2011-05-05T20:24:44.869+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='odf ofimatica'/><title type='text'>Como compartir documentos ODF con los demás</title><content type='html'>Para mandar un archivo realizado con OpenOffice.org (o ahora con LibreOffice) a otro ordenador tenemos &lt;em&gt;varias opciones&lt;/em&gt;, dependiendo de las circunstancias : &lt;div class="level3"&gt; &lt;ol&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; Si el destinatario tiene &lt;strong&gt;OpenOffice.org o LibreOffice&lt;/strong&gt;, enviarlo tal cual. Es el formato &lt;strong&gt;&lt;a href="http://es.wikipedia.org/wiki/OpenDocument" class="urlextern" title="http://es.wikipedia.org/wiki/OpenDocument" rel="nofollow"&gt;ODF (OpenDocument Format)&lt;/a&gt;&lt;/strong&gt;, y esta homologado por la &lt;acronym title="International Organization for Standardization"&gt;ISO&lt;/acronym&gt;. Os recuerdo que es &lt;em class="u"&gt;gratuito&lt;/em&gt; y &lt;em class="u"&gt;abierto&lt;/em&gt;, y actualmente se está implantando en la Administración Española.&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; Si el destinatario tiene &lt;strong&gt;Microsoft Office&lt;/strong&gt; y no os importa que retoque el archivo, guardad el fichero en formato &lt;em class="u"&gt;Office&lt;/em&gt;(&lt;em class="u"&gt;excel&lt;/em&gt;, &lt;em class="u"&gt;word&lt;/em&gt;, …) en guardar como. De la misma manera, también podéis guardarlo en otros formatos (&lt;em class="u"&gt;txt&lt;/em&gt;, &lt;em class="u"&gt;xml&lt;/em&gt;, &lt;em class="u"&gt;html&lt;/em&gt;, …)&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; Si el destinatario tiene &lt;strong&gt;Acrobat Reader o algun visor de &lt;acronym title="Portable Document Format"&gt;PDF&lt;/acronym&gt;&lt;/strong&gt;, simplemente en OpenOffice le dais al botón de &lt;acronym title="Portable Document Format"&gt;PDF&lt;/acronym&gt;  y os creará el archivo en este formato. Creo que es la mejor opción ya  que este visor es gratuito y el formato es el más popular para mandar  documentos. De hecho es como mandar un fax “digital”. El documento  resultante se puede manipular pero se necesita un programa especial para  hacerlo. También podéis crear el documento &lt;acronym title="Portable Document Format"&gt;PDF&lt;/acronym&gt; mediante una impresora virtual de &lt;acronym title="Portable Document Format"&gt;PDF&lt;/acronym&gt;&lt;sup&gt;&lt;a href="http://www.clientescc.com/doku.php?id=ooo#fn__1" name="fnt__1" id="fnt__1" class="fn_top"&gt;1)&lt;/a&gt;&lt;/sup&gt;&lt;/div&gt; &lt;/li&gt;&lt;/ol&gt;  &lt;p&gt;  Sólo nos quedará llevar este archivo al destino deseado mediante correo electrónico, disco extraible, etc. &lt;/p&gt;   &lt;/div&gt; &lt;div class="footnotes"&gt; &lt;div class="fn"&gt;&lt;sup&gt;&lt;a href="http://www.clientescc.com/doku.php?id=ooo#fnt__1" id="fn__1" name="fn__1" class="fn_bot"&gt;1)&lt;/a&gt;&lt;/sup&gt;  Existen impresoras virtuales de &lt;acronym title="Portable Document Format"&gt;PDF&lt;/acronym&gt; tanto en windows como en linux, y acostumbran a ser gratuitas.&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/8825995782398077022-1298121902067231745?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/1298121902067231745/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=1298121902067231745' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/1298121902067231745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/1298121902067231745'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2011/05/como-compartir-documentos-odf-con-los.html' title='Como compartir documentos ODF con los demás'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-625653677628809605</id><published>2011-05-05T20:15:00.001+02:00</published><updated>2011-05-05T20:16:51.945+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Iniciar sesión LDAP desde (K)Ubuntu</title><content type='html'>Pasos para iniciar la sesión validando a un servidor LDAP, a partir de (K)Ubuntu 8.10 (no se si sirve para versiones anteriores) &lt;div class="level2"&gt;  &lt;/div&gt;  &lt;h4&gt;&lt;a name="paquetes_a_instalar" id="paquetes_a_instalar"&gt;Paquetes a instalar&lt;/a&gt;&lt;/h4&gt; &lt;div class="level4"&gt; &lt;ul&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; libpam-ldap libnss-ldap ldap-auth-client ldap-auth-config&lt;/div&gt; &lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;  Tendremos que contestar a las siguientes preguntas de &lt;em class="u"&gt;Configuración de ldap-auth-config&lt;/em&gt; :   &lt;/p&gt; &lt;ul&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; Servidor: ldap://&lt;ip del="" servidor=""&gt;&lt;/ip&gt;&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; Dominio: dc=&lt;dominio&gt;,dc=local&lt;/dominio&gt;&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; Versión: 3&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; Make local root Database admin : Si&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; Does the LDAP database require login?: No&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; LDAP account for root: cn=&lt;administrador&gt;,dc=&lt;dominio&gt;,dc=local&lt;/dominio&gt;&lt;/administrador&gt;&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; LDAP root account password: &lt;contraseña del="" administrador="" anterior=""&gt;&lt;/contraseña&gt;&lt;/div&gt; &lt;/li&gt;&lt;/ul&gt;  &lt;/div&gt;  &lt;h4&gt;&lt;a name="configurando_etc_pam.d_common" id="configurando_etc_pam.d_common"&gt;Configurando /etc/pam.d/common-*&lt;/a&gt;&lt;/h4&gt; &lt;div class="level4"&gt;  &lt;p&gt;  En &lt;em class="u"&gt;common-auth&lt;/em&gt; y &lt;em class="u"&gt;common-password&lt;/em&gt; se tiene que comentar la linea que hace referencia a &lt;strong&gt;pam_smbpass.so&lt;/strong&gt;&lt;br /&gt; &lt;strong&gt;IMPORTANTE:&lt;/strong&gt; Este paso tiene que ser antes que el paso siguiente Se añade a &lt;em class="u"&gt;common-session&lt;/em&gt;. &lt;/p&gt; &lt;pre class="code"&gt;# para que cuando se registre un usuario en ldap se cree el&lt;br /&gt;# directorio home respectivo agregar como primera linea&lt;br /&gt;session    required    pam_mkhomedir.so skel=/etc/skel/ umask=0022&lt;/pre&gt;  &lt;p&gt; &lt;em class="u"&gt;common-account&lt;/em&gt; se deja como está.&lt;br /&gt; &lt;/p&gt;  &lt;/div&gt;  &lt;h4&gt;&lt;a name="configurando_etc_nsswitch.conf" id="configurando_etc_nsswitch.conf"&gt;Configurando /etc/nsswitch.conf&lt;/a&gt;&lt;/h4&gt;  &lt;pre class="code"&gt;passwd:         files nis ldap&lt;br /&gt;group:          files nis ldap&lt;br /&gt;shadow:         files nis ldap&lt;br /&gt;&lt;br /&gt;hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4&lt;br /&gt;networks:       files&lt;br /&gt;&lt;br /&gt;protocols:      db files&lt;br /&gt;services:       db files&lt;br /&gt;ethers:         db files&lt;br /&gt;rpc:            db files&lt;br /&gt;&lt;br /&gt;netgroup:       ldap nis&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-625653677628809605?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/625653677628809605/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=625653677628809605' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/625653677628809605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/625653677628809605'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2011/05/iniciar-sesion-ldap-desde-kubuntu.html' title='Iniciar sesión LDAP desde (K)Ubuntu'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-5359821070348293641</id><published>2011-05-05T20:11:00.003+02:00</published><updated>2011-05-05T20:14:26.880+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='/etc/fstab'/><title type='text'>El problema de los acentos al montar por samba</title><content type='html'>La configuración por defecto de (K)Ubuntu es utf8, pero en windows español es &lt;acronym title="International Organization for Standardization"&gt;ISO&lt;/acronym&gt;-8859-1. Para que la montar mediante cifs (smbfs ya no funciona) no tengamos problemas debemos poner   &lt;pre class="code"&gt;iocharset=utf8,codepage=cp850&lt;/pre&gt;  &lt;p&gt; en las opciones. &lt;/p&gt;  &lt;p&gt; Un ejemplo en fstab sería &lt;/p&gt; &lt;pre class="code"&gt;//192.168.0.1/public /media/public cifs&lt;br /&gt;   rw,username=USUARIO,password=XXX,iocharset=utf8,codepage=cp850 0 0&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-5359821070348293641?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/5359821070348293641/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=5359821070348293641' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/5359821070348293641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/5359821070348293641'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2011/05/el-problema-de-los-acentos-al-montar.html' title='El problema de los acentos al montar por samba'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-3709356639318906092</id><published>2011-05-05T20:05:00.004+02:00</published><updated>2011-05-05T20:10:54.731+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='repositorios'/><category scheme='http://www.blogger.com/atom/ns#' term='apt-cacher'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Instalación de apt-cacher</title><content type='html'>&lt;p&gt;apt-cacher hace de cache para las descargas tipo apt en una red.&lt;br /&gt;La configuración expuesta está pensada para ser totalmente funcional modificando mínimamente los parámetros. &lt;/p&gt;    &lt;h2&gt;&lt;a name="instalacion" id="instalacion"&gt;Instalación&lt;/a&gt;&lt;/h2&gt; &lt;div class="level2"&gt; &lt;pre class="code"&gt;sudo apt-get install apt-cacher&lt;/pre&gt;  &lt;/div&gt;  &lt;h2&gt;&lt;a name="configuracion_del_servicio" id="configuracion_del_servicio"&gt;Configuración del servicio&lt;/a&gt;&lt;/h2&gt; &lt;div class="level2"&gt;  &lt;/div&gt;  &lt;h3&gt;&lt;a name="apt-cacher.conf" id="apt-cacher.conf"&gt;apt-cacher.conf&lt;/a&gt;&lt;/h3&gt; &lt;div class="level3"&gt;  &lt;p&gt;  Es el archivo de configuración básico, y está en /etc/apt-cacher/&lt;br /&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;h4&gt;&lt;a name="parametros_basicos" id="parametros_basicos"&gt;Parámetros básicos&lt;/a&gt;&lt;/h4&gt; &lt;div class="level4"&gt; &lt;pre class="code"&gt;daemon_port=3142&lt;/pre&gt;  &lt;p&gt; Indica el puerto para acceder al servicio. Por defecto, 3142- &lt;/p&gt; &lt;pre class="code"&gt;allowed_hosts=*&lt;/pre&gt;  &lt;p&gt; Indica los posibles clientes. Por defecto, todos los host tienen permiso  de acceder a tu repositorio cache. Puedes cambiar este valor si quieres  permitir que sólo ciertos host accedan a él. Por ejemplo, permitir el  acceso a mi LAN 192.168.1.0/24 y al localhost (127.0.0.1 y 127.0.1.1), y  quedaría así: &lt;/p&gt; &lt;pre class="code"&gt;allowed_hosts=192.168.1.0/24, 127.0.1.1&lt;/pre&gt;  &lt;p&gt; ya que 127.0.0.1 siempre tiene permiso, no es necesario añadir 127.0.0.1&lt;br /&gt;No es necesario si se controla con un firewall las conexiones entrantes.  &lt;/p&gt; &lt;pre class="code"&gt;expire_hours=0&lt;/pre&gt;  &lt;p&gt; apt-cacher pueden utilizar diferentes métodos para decidir si las listas de paquetes necesita ser actualizadas.&lt;br /&gt;&lt;/p&gt; &lt;ol&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; buscando a la edad de los archivos de caché&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; obteneniendo la cabecera &lt;acronym title="Hyper Text Transfer Protocol"&gt;HTTP&lt;/acronym&gt;  del servidor y comparandola con los datos en caché. Este método es más  fiable y evita desincronización de los datos y los ficheros de índice,  pero necesita unos cuantos bytes de transferencia desde el servidor cada  vez que alguien solicita los archivos ( “apt-get update”). &lt;/div&gt; &lt;/li&gt;&lt;/ol&gt;  &lt;p&gt; Para indicar la edad máxima (en horas) por un método 1. poner el numero de horas, para el método 2 poner 0. &lt;/p&gt;  &lt;/div&gt;  &lt;h3&gt;&lt;a name="activando_apt-cacher_al_comienzo" id="activando_apt-cacher_al_comienzo"&gt;Activando apt-cacher al comienzo&lt;/a&gt;&lt;/h3&gt; &lt;div class="level3"&gt;  &lt;p&gt;  Para arrancar apt-cacher necesitamos activarlo desde  /etc/default/apt-cacher. Abre /etc/default/apt-cacher y configura  AUTOSTART a 1: &lt;/p&gt; &lt;pre class="code"&gt;AUTOSTART=1&lt;/pre&gt;  &lt;p&gt; Ahora reinicia apt-cacher: &lt;/p&gt; &lt;pre class="code"&gt;sudo /etc/init.d/apt-cacher restart&lt;/pre&gt;  &lt;/div&gt;  &lt;h3&gt;&lt;a name="importando_paquetes" id="importando_paquetes"&gt;Importando paquetes&lt;/a&gt;&lt;/h3&gt; &lt;div class="level3"&gt;  &lt;p&gt;  Existe un script llamado apt-cacher-import.pl en /usr/share/apt-cacher/, junto a otros también utiles.&lt;br /&gt;Para importar archivos .deb desde /var/cache/apt/archives al repositorio de to apt-cacher ejecuta: &lt;/p&gt; &lt;pre class="code"&gt;sudo /usr/share/apt-cacher/apt-cacher-import.pl /var/cache/apt/archives&lt;/pre&gt;  &lt;p&gt; Ahora, en el directorio /var/cache/apt-cacher/packages/ habrá unos cuantos paquetes. &lt;/p&gt;  &lt;/div&gt;  &lt;h2&gt;&lt;a name="configuracion_de_los_clientes" id="configuracion_de_los_clientes"&gt;Configuración de los clientes&lt;/a&gt;&lt;/h2&gt; &lt;div class="level2"&gt;  &lt;p&gt;  Cuando hablamos de clientes, incluimos al servidor, ya que el también será cliente de este servicio.&lt;br /&gt;Existen dos métodos. &lt;/p&gt;  &lt;/div&gt;  &lt;h4&gt;&lt;a name="metodo_de_sources.list" id="metodo_de_sources.list"&gt;1. Método de sources.list&lt;/a&gt;&lt;/h4&gt; &lt;div class="level4"&gt;  &lt;p&gt;  Hay que retocar cada entrada http de /etc/apt/sources.list para añadir el apt-cacher.&lt;br /&gt;Sería añadir al principio de la dirección &lt;em class="u"&gt;&lt;repository-cache&gt;:3142/apt-cacher/&lt;/repository-cache&gt;&lt;/em&gt;&lt;br /&gt;Por ejemplo : &lt;/p&gt; &lt;pre class="code"&gt;deb http://archive.ubuntu.com/ubuntu/ hardy main restricted universe multiverse&lt;/pre&gt;  &lt;p&gt; a &lt;/p&gt; &lt;pre class="code"&gt;deb http://repository-cache:3142/apt-cacher/archive.ubuntu.com/ubuntu/ edgy main restricted universe multiverse&lt;/pre&gt;  &lt;/div&gt;  &lt;h4&gt;&lt;a name="metodo_de_apt.conf" id="metodo_de_apt.conf"&gt;2. Método de apt.conf&lt;/a&gt;&lt;/h4&gt; &lt;div class="level4"&gt;  &lt;p&gt;  Es el que requiere menos cambios, y permite dejar el source.list limpio.&lt;br /&gt;En /etc/apt/apt.conf añadimos o modificamos :  &lt;/p&gt; &lt;pre class="code"&gt;Acquire&lt;br /&gt;{&lt;br /&gt;// HTTP method configuration&lt;br /&gt;http&lt;br /&gt;{&lt;br /&gt;Proxy "http://&lt;repository-cache&gt;:3142";&lt;br /&gt;Timeout "60";&lt;br /&gt;};&lt;br /&gt;};&lt;br /&gt;&lt;/repository-cache&gt;&lt;/pre&gt;  &lt;p&gt;  La última vez que probamos este método, el servidor no tenia este archivo, así que lo creamos.&lt;br /&gt;Cabe destacar, que si por algún motivo quisieramos realizar una descarga  normal, sólo tendríamos que comentar la linea donde indicamos el proxy. &lt;/p&gt;  &lt;/div&gt;  &lt;h2&gt;&lt;a name="obteniendo_el_informe" id="obteniendo_el_informe"&gt;Obteniendo el informe&lt;/a&gt;&lt;/h2&gt; &lt;div class="level2"&gt;  &lt;p&gt;  apt-cacher generará un informe de uso diario de la cache. Se puede consultar en: &lt;/p&gt; &lt;pre class="code"&gt;http://repository-cache:3142/report&lt;/pre&gt;  &lt;p&gt; Para regenerar manualmente el informe, ejecuta:  &lt;/p&gt; &lt;pre class="code"&gt;sudo /usr/share/apt-cacher/apt-cacher-report.pl &lt;/pre&gt;  &lt;p&gt; Se puede deshabilitar en el archivo apt-cacher.conf &lt;/p&gt;  &lt;/div&gt;  &lt;h2&gt;&lt;a name="errores_conocidos" id="errores_conocidos"&gt;Errores conocidos&lt;/a&gt;&lt;/h2&gt; &lt;div class="level2"&gt;  &lt;p&gt;  Del tipo &lt;a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=478122" class="urlextern" title="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=478122" rel="nofollow"&gt;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=478122&lt;/a&gt;. Ejemplo : &lt;/p&gt; &lt;pre class="code"&gt;Use of uninitialized value in concatenation (.) or string at /usr/share/apt-cacher/apt-cacher-lib.pl line 138, &amp;lt;$listpipe&amp;gt; line 121229.&lt;/pre&gt;  &lt;/div&gt;  &lt;h2&gt;&lt;a name="fuentes" id="fuentes"&gt;Fuentes&lt;/a&gt;&lt;/h2&gt;  &lt;ul&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; &lt;a href="http://meth.nireblog.com/post/2006/12/17/como-crear-un-repositorio-con-apt-cacher" class="urlextern" title="http://meth.nireblog.com/post/2006/12/17/como-crear-un-repositorio-con-apt-cacher" rel="nofollow"&gt;http://meth.nireblog.com/post/2006/12/17/como-crear-un-repositorio-con-apt-cacher&lt;/a&gt; (gracias meth)&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; &lt;a href="http://www.debuntu.org/how-to-set-up-a-repository-cache-with-apt-cacher" class="urlextern" title="http://www.debuntu.org/how-to-set-up-a-repository-cache-with-apt-cacher" rel="nofollow"&gt;http://www.debuntu.org/how-to-set-up-a-repository-cache-with-apt-cacher&lt;/a&gt;&lt;/div&gt; &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-3709356639318906092?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/3709356639318906092/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=3709356639318906092' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/3709356639318906092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/3709356639318906092'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2011/05/instalacion-de-apt-cacher.html' title='Instalación de apt-cacher'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-5899023363082080015</id><published>2011-05-05T20:01:00.003+02:00</published><updated>2011-05-05T20:05:23.279+02:00</updated><title type='text'>No hay mal que por bien no venga</title><content type='html'>Si. Ya lo sé. Hace tiempo que no escribo nada, pero es el día no me da para más.&lt;br /&gt;Para acabarlo de rematar, la wiki donde colgaba algunos manuales de uso casi personal ha sido atacada por el spam. Pues a rey muerto, rey puesto. Osea que iré migrando aquí las cosas que tengo desperdigadas. Así lo tendremos más junto, y vosotros más accesible por si os interesa.&lt;br /&gt;&lt;br /&gt;No hay mal que por bien no venga :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-5899023363082080015?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/5899023363082080015/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=5899023363082080015' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/5899023363082080015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/5899023363082080015'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2011/05/no-hay-mal-que-por-bien-no-venga.html' title='No hay mal que por bien no venga'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-8075339480495711044</id><published>2010-05-06T07:47:00.002+02:00</published><updated>2010-05-06T07:55:27.162+02:00</updated><title type='text'>Ver Plymouth correctamente con drivers de Nvidia ó ATI por ISCARIO</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: arial;"&gt;El texto de acontinuación es una &lt;a href="http://www.nosinmiubuntu.com/2010/05/solucion-para-ver-plymouth.html"&gt;copia del artículo&lt;/a&gt; de ISCARIO en su blog &lt;/span&gt;&lt;a style="font-family: arial;" href="http://www.nosinmiubuntu.com/"&gt;nosinmiubuntu&lt;/a&gt;&lt;small style="font-family: arial;" class="post-header-line-1"&gt;&lt;span class="alignleft"&gt;&lt;span class="post-author vcard"&gt;&lt;span class="fn"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/small&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Gracias a los &lt;a href="https://www.blogger.com/comment.g?blogID=8847417749346587759&amp;amp;postID=8415349591571592686&amp;amp;isPopup=true"&gt;comentarios de Bernat y Joaquín&lt;/a&gt; en la  entrada anterior entrada&lt;a href="http://www.nosinmiubuntu.com/2010/05/solucion-ver-plymouth-correctamente-con.html"&gt; Solucionar los problemas con Plymouth&lt;/a&gt;, hemos encontrado una solución que realmente funciona para Nvidia y ATI además de poder usar el TTY cuando pulsamos Ctrl+Alt+F1 para cuando tengamos problemas con el entonrno gráfico.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Lo acabo de probar y funciona sin problemas. Aquí os dejo las instrucciones sacadas de &lt;a style="font-weight: bold; font-style: italic;" href="http://idyllictux.wordpress.com/2010/04/26/lucidubuntu-10-04-high-resolution-plymouth-virtual-terminal-for-atinvidia-cards-with-proprietaryrestricted-driver/"&gt;idyllictux&lt;/a&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Instalamos estos paquetes:&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;&lt;code&gt;sudo apt-get install v86d hwinfo&lt;/code&gt;&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;i&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/i&gt;&lt;i&gt;&lt;b&gt;&lt;br /&gt;Buscamos una resolución que queramos y sea soportada por nuestra tarjeta con hwinfo.&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/i&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;&lt;code&gt;sudo hwinfo --framebuffer&lt;/code&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Nos saldrá algo como en la imagen&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_Mbt2zMZyDys/S97b53rxquI/AAAAAAAAA64/3OFF8F5jyGc/s1600/Pantallazo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://3.bp.blogspot.com/_Mbt2zMZyDys/S97b53rxquI/AAAAAAAAA64/3OFF8F5jyGc/s400/Pantallazo.png" height="400" width="216" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Una vez &lt;i&gt;&lt;b&gt;elegida la resolución&lt;/b&gt;&lt;/i&gt; que queramos en mi caso puse 1280x800 aunque la más segura es 1024x768, editamos el archivo  &lt;b&gt;&lt;i&gt;/etc/default/grub&lt;/i&gt;&lt;/b&gt; para asgurarnos que el boot utiliza uvesafb  framebuffer. Ponemos en el terminal&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;code&gt;sudo gedit /etc/default/grub&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;b&gt;Buscamos&lt;/b&gt;&lt;/i&gt; la línea que ponga  &lt;i&gt;&lt;b&gt;&lt;span style=";font-family:&amp;quot;;" &gt;GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”&lt;/span&gt;&lt;/b&gt;&lt;/i&gt; y la &lt;i&gt;&lt;b&gt;sustituimos&lt;/b&gt;&lt;/i&gt; por&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;code&gt;GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset  video=uvesafb:mode_option=1280x800-24,mtrr=3,scroll=ywrap"&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;b&gt;Descomentamos #GRUB_GFXMODE&lt;/b&gt;&lt;/i&gt;, es decir, eliminamos el # y le ponemos la  resolución que al resto&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;code&gt;GRUB_GFXMODE=1280x800&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;&lt;br /&gt;Guardamos y cerramos.&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;Ahora editamos /etc/initramfs-tools/modules&lt;/b&gt;&lt;i&gt; &lt;/i&gt;para incluir uvesafb añadiendo la siguiente línea al final del documento y guardamos.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;code&gt; uvesafb mode_option=1280x800-24 mtrr=3 scroll=ywrap&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Le forzamos a usar framebuffer con:&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;code&gt;echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Actualizamos el grub además del initramsfs &lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;code&gt; sudo update-grub2&lt;/code&gt;&lt;br /&gt;&lt;code&gt; sudo update-initramfs -u&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;b&gt;&lt;br /&gt;Reiniciamos y listo&lt;/b&gt;&lt;/i&gt;. La primera vez tardará un poco más pero después ya funciona de forma correcta.&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Mbt2zMZyDys/S91cOrtM3nI/AAAAAAAAA5g/zX5xW5EiIEA/s1600/boot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://4.bp.blogspot.com/_Mbt2zMZyDys/S91cOrtM3nI/AAAAAAAAA5g/zX5xW5EiIEA/s320/boot.png" height="187" width="320" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Gracias por vuestra ayuda en los comentarios a todos.&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;Gracias a tí, ISCARIO.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-8075339480495711044?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/8075339480495711044/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=8075339480495711044' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/8075339480495711044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/8075339480495711044'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2010/05/ver-plymouth-correctamente-con-drivers.html' title='Ver Plymouth correctamente con drivers de Nvidia ó ATI por ISCARIO'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Mbt2zMZyDys/S97b53rxquI/AAAAAAAAA64/3OFF8F5jyGc/s72-c/Pantallazo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-3639413458501761346</id><published>2010-02-21T12:35:00.002+01:00</published><updated>2010-02-21T12:44:38.972+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='consola'/><title type='text'>Como verificar las particiones al reiniciar</title><content type='html'>Estos últimos días hace "un frio que pela" (por no meternos con la pobre perra). Y algunos ordenadores se quedan colgados por las bajas temperaturas. Al reiniciar, alguna partición no se acaba de comportar como debería. &lt;br /&gt;&lt;br /&gt;Lo ideal sería mandarle un comando para que al reiniciar se verificaran las particiones que se montan automáticamente. Esto se consigue con:&lt;br /&gt;&lt;pre&gt;sudo touch /forcefsck&lt;/pre&gt;Esto lo que hace es crear un archivo vacio de nombre forcefsck en la raiz. Cuando el sistema vuelva a arrancar verificará las particiones.&lt;br /&gt;&lt;br /&gt;Si continuaran los problemas, lo mejor sería arrancar con un CD tipo SystemRescueCD para verificar el sistema manualmente.&lt;br /&gt;&lt;br /&gt;Escribo este post porque nunca me acuerdo del comando. Así los que seais despistados como yo tendremos un sitio para la memoria. ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-3639413458501761346?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/3639413458501761346/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=3639413458501761346' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/3639413458501761346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/3639413458501761346'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2010/02/como-verificar-las-particiones-al.html' title='Como verificar las particiones al reiniciar'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-6913310383122124331</id><published>2010-01-14T09:20:00.002+01:00</published><updated>2010-01-14T09:44:35.447+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RAID'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'></title><content type='html'>Esta mañana al arrancar no me cargó una de la unidades que tengo en RAID1. En concreto la unidad de swap. No es muy preocupante porque tengo 4GB de RAM, pero no me gusta que las cosas no funcionen correctamente. Además, la necesito para la hibernación del equipo.&lt;br /&gt;Así que me he arremangado y a googlear. No he encontrado nada digno de mención. Supongo que no he buscado bien ;) Aunque al final he encontrado mi propia solución. &lt;br /&gt;Pero vamos por partes.&lt;br /&gt;&lt;br /&gt;Al mirar el estado del RAID salida esto:&lt;br /&gt;&lt;pre&gt;xavier@dev1:~$ cat /proc/mdstat                                                                                      &lt;br /&gt;Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]&lt;br /&gt;&lt;br /&gt;md12 : inactive sda6[0](S) sdb6[1](S)                           &lt;br /&gt;      9220992 blocks&lt;br /&gt;&lt;br /&gt;(y el resto de particiones RAID, que ahora no nos interesa)&lt;br /&gt;                           &lt;br /&gt;unused devices: (none)&lt;/pre&gt; Al no detectar ninguna unidad activa para el RAID, no dejaba hacer nada. Eso lo vemos en la (S) que hay al lado de cada partición física.&lt;br /&gt;Hasta que he hecho la solución "madre" de la informática. Si, lo de salir y volver a entrar, pero no del botón sino a nivel de la partición RAID: osea, pararla e iniciarla.&lt;br /&gt;&lt;pre&gt;xavier@dev1:~$ sudo mdadm -S /dev/md12&lt;br /&gt;mdadm: stopped /dev/md12 &lt;br /&gt;xavier@dev1:~$ sudo mdadm -A /dev/md12              &lt;br /&gt;mdadm: /dev/md12 has been started with 1 drive (out of 2).&lt;/pre&gt;Parece que 1 de las 2 particiones físicas no estaba en buen estado. Quizás esto es el origen del problema.&lt;br /&gt;Al monitorizar el RAID vemos que ya esta todo correcto.&lt;br /&gt;&lt;pre&gt;xavier@dev1:~$ cat /proc/mdstat &lt;br /&gt;Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]&lt;br /&gt;md12 : active raid1 sdb6[2] sda6[0]&lt;br /&gt;      4610496 blocks [2/1] [U_]&lt;br /&gt;      [=&gt;...................]  recovery =  5.9% (275200/4610496) finish=1.5min speed=45866K/sec&lt;br /&gt;&lt;br /&gt;unused devices: (none)&lt;/pre&gt;Está rehaciendo el mirroring.&lt;br /&gt;Activamos el swap.&lt;br /&gt;&lt;pre&gt;xavier@dev1:~$ sudo swapon -a&lt;/pre&gt;Y vemos si está funcionando.&lt;br /&gt;&lt;pre&gt;xavier@dev1:~$ free -m&lt;br /&gt;             total       used       free     shared    buffers     cached&lt;br /&gt;Mem:          3455       1415       2039          0         13        683&lt;br /&gt;-/+ buffers/cache:        719       2736&lt;br /&gt;Swap:         4502          0       4502&lt;/pre&gt;&lt;br /&gt;Si lo que hubiera funcionado fuera una unidad con datos, deberíamos chequear la partición por si acaso. Que no te de pereza, ni lo dejes para más tarde. Está avisado.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-6913310383122124331?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/6913310383122124331/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=6913310383122124331' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/6913310383122124331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/6913310383122124331'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2010/01/esta-manana-al-arrancar-no-me-cargo-una.html' title=''/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-8295669574291993104</id><published>2010-01-13T07:39:00.002+01:00</published><updated>2010-01-13T07:42:41.716+01:00</updated><title type='text'>Res SOStenible</title><content type='html'>&lt;p&gt;Consideramos imprescindible la retirada de la disposición final primera de la Ley de Economía Sostenible por los siguientes motivos:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;1 -Viola los derechos constitucionales en los que se ha de basar un estado democrático en especial la presunción de inocencia, libertad de expresión, privacidad, inviolabilidad domiciliaria, tutela judicial efectiva, libertad de mercado, protección de consumidoras y consumidores, entre otros.&lt;br /&gt;&lt;p&gt;2 - Genera para la Internet un estado de excepción en el cual la ciudadanía será tratada mediante procedimientos administrativos sumarísimos reservados por la Audiencia Nacional a narcotraficantes y terroristas.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;3 - Establece un procedimiento punitivo &amp;#x201c;a la carta&amp;#x201d; para casos en los que los tribunales ya han manifestado que no constituían delito, implicando incluso la necesidad de modificar al menos 4 leyes, una de ellas orgánica. Esto conlleva un cambio radical en el sistema jurídico y una fuente de inseguridad para el sector de las TIC (Tecnología de la Información y la Comunicación). Recordamos, en este sentido, que el intercambio de conocimiento y cultura en la red es un &lt;a href="http://noticias.lainformacion.com/economia-negocios-y-finanzas/redes/los-usuarios-que-descargan-archivos-p2p-gastan-mas-dinero_Fo58z3eGxWsRG0NKpjhCE7/" target="_blank"&gt; motor económico&lt;/a&gt; importante para &lt;a href="http://noticias.lainformacion.com/arte-cultura-y-espectaculos/cine/el-cine-espanol-cerrara-con-cifras-record-a-pesar-de-internet_uVFrhCBCXhYPTF51YCG3a7/" target="_blank"&gt;salir de la crisis&lt;/a&gt; como se ha &lt;a href="http://www.theinquirer.es/2009/11/17/lo-que-las-discograficas-ocultan.html" target="_blank"&gt;demostrado&lt;/a&gt; &lt;a href="http://www.elmundo.es/elmundo/2009/11/20/cultura/1258739927.html" target="_blank"&gt;ampliamente.&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;4 - Los mecanismos preventivos urgentes de los que dispone la ley y la judicatura son para proteger a toda ciudadanía frente a riesgos tan graves como los que afectan a la salud pública. El gobierno pretende utilizar estos mismos mecanismos de protección global para beneficiar intereses particulares frente a la ciudadanía. Además la normativa introducirá el concepto de "lucro indirecto", es decir: a mí me pueden cerrrar el blog porque "promociono" a uno que "promociona" a otro que linka a un tercero que hace negocios presuntamente ilícitos&lt;/p&gt;&lt;br /&gt;&lt;p&gt;5 - Recordamos que la propiedad intelectual &lt;a href="http://derechoynormas.blogspot.com/2010/01/la-ley-de-ejecucion-por-la-sospecha.html" target="_blank"&gt;no es un derecho fundamental&lt;/a&gt; contrariamente a las declaraciones del Ministro de Justicia, Francisco Caamaño. Lo que es un derecho fundamental es el derecho a la producción literaria y artística.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;6 - De acuerdo con las declaraciones de la Ministra de Cultura, esta disposición se utilizará exclusivamente para cerrar 200 webs que presuntamente están atentando contra los derechos de autor. Entendemos que si éste es el objetivo de la disposición, no es necesaria, ya que con la legislación actual existen procedimientos que permiten actuar contra webs, incluso con medidas cautelares, cuando presuntamente se esté incumpliendo la legalidad. Por lo que no queda sino recelar de las verdaderas intenciones que la motivan ya que lo único que añade a la legislación actual es el hecho de dejar la ciudadanía en una situación de grave indefensión jurídica en el entorno digital.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;7 - Finalmente consideramos que la propuesta del gobierno no sólo es un despilfarro de recursos sino que será absolutamente ineficaz en sus presuntos propósitos y deja patente la absoluta incapacidad por parte del ejecutivo de entender los tiempos y motores de la Era Digital.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;La disposición es una concesión más a la vieja industria del entretenimiento en detrimento de los derechos fundamentales de la ciudadanía en la era digital.&lt;/p&gt;&lt;br /&gt;La ciudadanía no puede permitir de ninguna manera que sigan los intentos de vulnerar derechos fundamentales de las personas, sin la debida tutela judicial efectiva, para proteger derechos de menor rango como la propiedad intelectual. Dicha circunstancia ya fué aclarada con el dictado de inconstitucionalidad de la ley Corcuera (o ley de patada en la puerta). &lt;a href="http://www.facebook.com/group.php?gid=186879394498" target="_blank"&gt;El Manifiesto en defensa de los derechos fundamentales en Internet&lt;/a&gt;, respaldado por más de 200 000 personas, ya avanzó la reacción y demandas de la ciudadanía antes la perspectiva inaceptable del gobierno.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Para impulsar un definitivo cambio de rumbo y coordinar una respuesta conjunta, el 9 de enero se ha constituido la "Red SOStenible" una plataforma representativa de todos los sectores sociedad civil afectados. El objetivo es iniciar una ofensiva para garantizar una regulación del entorno digital que permita expresar todo el potencial de la Red y de la creación cultural respetando las libertades fundamentales.&lt;/p&gt;&lt;br /&gt;En este sentido, reconocemos como referencia para el desarrollo de la era digital, la &lt;a href="http://fcforum.net/es/" target="_blank"&gt;Carta para la innovación, la creatividad y el acceso al conocimiento&lt;/a&gt;, un documento de síntesis elaborado por más de &lt;a href="http://fcforum.net/es/charter_extended#signatories" target="_blank"&gt;100 expertos de 20 países&lt;/a&gt; que recoge los principios legales fundamentales que deben inspirar este nuevo horizonte.&lt;br /&gt;&lt;p&gt;En particular, consideramos que en estos momentos es especialmente urgentes la implementación por parte de gobiernos e instituciones competentes, de los siguientes aspectos recogidos en la Carta:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;1 - Las/os artistas como todos los trabajadores tienen que poder vivir de su trabajo (referencia punto 2 "&lt;a href="http://fcforum.net/es/charter_extended#legal" target="_blank"&gt;Demandas legales&lt;/a&gt;", párrafo B. "Estímulo de la creatividad y la innovación", de la &lt;a href="http://fcforum.net/es/charter_extended" target="_blank"&gt;Carta&lt;/a&gt;); &lt;/p&gt;&lt;br /&gt;&lt;p&gt;2 - La sociedad necesita para su desarrollo de una red abierta y libre (referencia punto 2 "&lt;a href="http://fcforum.net/es/charter_extended#legal" target="_blank"&gt;Demandas legales&lt;/a&gt;", párrafo D "Acceso a las infraestructuras tecnológicas", de la &lt;a href="http://fcforum.net/es/charter_extended" target="_blank"&gt;Carta&lt;/a&gt;);&lt;/p&gt;&lt;br /&gt;&lt;p&gt;3 - El derecho a cita y el derecho a compartir tienen que ser potenciado y no limitado como fundamento de toda posibilidad de información y constitutivo de todo conocimiento (referencia punto 2 "&lt;a href="http://fcforum.net/es/charter_extended#legal" target="_blank"&gt;Demandas legales&lt;/a&gt;", párrafo A "Derechos en un contexto digital", de la &lt;a href="http://fcforum.net/es/charter_extended" target="_blank"&gt;Carta&lt;/a&gt;);&lt;/p&gt;&lt;br /&gt;&lt;p&gt;4 - La ciudadanía debe poder disfrutar libremente de los derechos exclusivos de los bienes públicos que se pagan con su dinero, con el dinero publico (referencia punto 2 "&lt;a href="http://fcforum.net/es/charter_extended#legal" target="_blank"&gt;Demandas legales&lt;/a&gt;", párrafo C "Conocimiento común y dominio público", de la &lt;a href="http://fcforum.net/es/charter_extended" target="_blank"&gt;Carta&lt;/a&gt;);&lt;/p&gt;&lt;br /&gt;&lt;p&gt;5 -Consideramos necesaria una reforma en profundidad del sistema de las entidades de gestión y la abolición del canon digital (referencia punto 2 "&lt;a href="http://fcforum.net/es/charter_extended#legal" target="_blank"&gt;Demandas legales&lt;/a&gt;", párrafo B. "Estímulo de la creatividad y la innovación", de la &lt;a href="http://fcforum.net/es/charter_extended" target="_blank"&gt;Carta&lt;/a&gt;).&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Por todo ello hoy se inicia la campaña &lt;a href="http://internetnoseraotratv.net" target="_blank"&gt;INTERNET NO SERA OTRA TELE&lt;/a&gt; y se llevarán a cabo diversas acciones ciudadanas durante todo el periodo de la presidencia española de la UE.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Consideramos particularmente importantes en el calendario de la presidencia de turno española el II Congreso de Economía de la Cultura (29 y 30 de marzo en Barcelona), Reunión Informal de ministros de Cultura (30 y 31 de marzo en Barcelona) y la reunión de ministros de Telecomunicaciones (18 a 20 de abril en Granada).&lt;br /&gt;&lt;p&gt;La Red tiene previsto reunirse con representantes nacionales e internacionales de partidos políticos, representantes de la cultura y legaciones diplomáticas.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Firmado Red SOStenible&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://Red-SOStenible.net" target="_blank"&gt;http://Red-SOStenible.net&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://Red-SOStenible.net/colabora/" target="_blank"&gt;http://Red-SOStenible.net/colabora/&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;La Red Sostenible somos todo. Si quieres adherirte a este texto, cópialo, blogguéalo, difúndelo. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-8295669574291993104?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/8295669574291993104/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=8295669574291993104' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/8295669574291993104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/8295669574291993104'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2010/01/res-sostenible.html' title='Res SOStenible'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-9188319733750681439</id><published>2009-11-02T10:50:00.004+01:00</published><updated>2009-11-02T11:11:45.739+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='apt-cacher'/><title type='text'>APT-CACHER : Error leyendo del servidor - read (104: Conexión reiniciada por el par)</title><content type='html'>Como este error veo que persiste en la nueva versión de Ubuntu 9.10 Karmic Koala, escribiré como solventarlo.&lt;br /&gt;&lt;br /&gt;El problema es que al actualizar repositorios sale el siguiente error:&lt;br /&gt;&lt;pre&gt;Err http://softlibre.unizar.es karmic-updates/restricted Translation-es&lt;br /&gt;  Error leyendo del servidor - read (104: Conexión reiniciada por el par)&lt;/pre&gt;Esto pasa en todos los repositorios de idiomas. &lt;br /&gt;&lt;br /&gt;Tenemos 3 soluciones, la puntual, la sencilla y la definitiva.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Solución Puntual&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Es añadir la una variable de lenguaje genérico para la ejecución quedando de la siguiente manera.&lt;br /&gt;&lt;pre&gt;sudo LANG=C apt-get update&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Solución Sencilla&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Es cambiar la configuración para que no trate los repositorios de idiomas.&lt;br /&gt;Editamos /etc/apt-cacher/apt-cacher.conf cambiando la siguiente variable&lt;br /&gt;&lt;pre&gt;index_files_regexp = (?:Index|Packages\.gz|Packages\.bz2|Release&lt;br /&gt;|Release\.gpg|Sources\.gz|Sources\.bz2|Contents-.+\.gz|pkglist.*\.bz2&lt;br /&gt;|release|release\..*|srclist.*.bz2)$&lt;/pre&gt;Hay que ponerlo sin saltos de linea. &lt;br /&gt;Recordad que hace falta reiniciar el servicio.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Solución Definitiva (la mejor)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Es modificando el propio programa para que acepte los repositorios de idiomas sin problemas.&lt;br /&gt;Modificamos /usr/shared/apt-cacher/apt-cacher&lt;br /&gt;&lt;pre&gt;diff --git a/apt-cacher b/apt-cacher&lt;br /&gt;index 48741b6..feee576 100755&lt;br /&gt;--- a/apt-cacher&lt;br /&gt;+++ b/apt-cacher&lt;br /&gt;@@ -844,14 +844,20 @@ sub return_file {&lt;br /&gt;                $headstring .= 'Connection: '.($concloseflag ? 'Close' : &lt;br /&gt;'Keep-Alive')."\r\n";&lt;br /&gt; &lt;br /&gt;                # keep only parts interesting for apt&lt;br /&gt;-               for(&lt;$in&gt;) {&lt;br /&gt;-                   if(/^Last-Modified|Content|Accept|ETag|Age/) {&lt;br /&gt;-                       $headstring.=$_;&lt;br /&gt;-                       if(/^Content-Length:\ *(\d+)/) {&lt;br /&gt;-                           $explen=$1;&lt;br /&gt;+               if ($code==200) {&lt;br /&gt;+                   for(&lt;$in&gt;) {&lt;br /&gt;+                       chomp;&lt;br /&gt;+                       if(/^Last-Modified|Content|Accept|ETag|Age/) {&lt;br /&gt;+                           $headstring.=$_."\r\n";&lt;br /&gt;+                           if(/^Content-Length:\ *(\d+)/) {&lt;br /&gt;+                               $explen=$1;&lt;br /&gt;+                           }&lt;br /&gt;                        }&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;+               else {&lt;br /&gt;+                   $headstring.="Content-Length: 0\r\n";&lt;br /&gt;+               }&lt;br /&gt;                close($in);&lt;br /&gt;                &amp;release_global_lock;&lt;br /&gt; &lt;br /&gt;@@ -861,7 +867,7 @@ sub return_file {&lt;br /&gt;                debug_message("Header sent: $headstring");&lt;br /&gt; &lt;br /&gt;                # Stop after sending the header with errors&lt;br /&gt;-               return if HTTP::Status::is_server_error($code);&lt;br /&gt;+               return if HTTP::Status::is_error($code);&lt;br /&gt; &lt;br /&gt;            }&lt;br /&gt;            else {&lt;/pre&gt; Para los que no esten acostumbrados a este tipo de notación, decirles que es la típica salida resultado de comparar dos archivos de textos. &lt;br /&gt;@@ indica que el primer cambio es en la linea 844. El signo indica si añadimos o quitamos: + será añadir y - quitar. Intuitivo :)  En el segundo bloque repetir lo mismo. &lt;br /&gt;&lt;br /&gt;Recordad que hace falta reiniciar el servicio.&lt;br /&gt;&lt;br /&gt;FUENTES : &lt;br /&gt;· &lt;a href="http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg628634.html"&gt;www.mail-archive.com/debian-bugs-dist&lt;/a&gt;&lt;br /&gt;· &lt;a href="http://martin.ind-web.com/2009/08/04/apt-cacher-proxy-translation-index-files-and-apt-get-update-errors/comment-page-1/"&gt;martin.ind-web.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-9188319733750681439?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/9188319733750681439/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=9188319733750681439' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/9188319733750681439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/9188319733750681439'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2009/11/apt-cacher-error-leyendo-del-servidor.html' title='APT-CACHER : Error leyendo del servidor - read (104: Conexión reiniciada por el par)'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-7184700119430995102</id><published>2009-10-12T10:00:00.005+02:00</published><updated>2010-05-03T06:36:53.175+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='zsync'/><title type='text'>Testeando ubuntu con Zsync</title><content type='html'>Uno de los problemas que nos encontramos a la hora de bajarnos cd's de ubuntu es el ancho de banda tercermundista que tenemos en España. Claro, eso implica que para bajarme una iso de cd con mi ADSL tarda casi 3 horas. Si encima añadimos diferentes versiones (alternate,amd64,kubuntu,etc) pues peor. Para acabarlo de rematar, si queremos testear las diferentes alphas y betas, se vuelve casi imposible. Bueno, para esto último hay solución.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;ZSYNC&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Zsync tiene la misma filosofia que rsync, pero con la gracia que se genera un archivo en el servidor con los cambios. Para los que no sepan lo que hace rsync decirles que lo que hace es comparar origen con destino y descargar sólo lo necesario. Algo así como una copia incremental (que solo transmite los cambios).&lt;br /&gt;&lt;br /&gt;Vamos a poner un ejemplo.&lt;br /&gt;A día de hoy esta la beta de 9.10 de Ubuntu (karmic), pero diariamente salen actualizaciones hasta la versión final. &lt;br /&gt;Lo primero nos descargamos la versión beta, eso si, nos toca bajarla entera.&lt;br /&gt;&lt;pre&gt;$ wget http://releases.ubuntu.com/9.10/ubuntu-9.10-beta-desktop-i386.iso&lt;/pre&gt;&lt;br /&gt;Hasta aquí como siempre. Pero podemos actualizar a la versión de hoy (hay una versión que se actualiza diariamente corrigiendo fallos).&lt;br /&gt;Copiamos la iso para no perder el original.&lt;br /&gt;&lt;pre&gt;$ cp ubuntu-9.10-beta-desktop-i386.iso ubuntu-9.10-daily-desktop-i386.iso&lt;/pre&gt;&lt;br /&gt;Y ahora viene lo interesante: le pedimos que actualice la imagen a día de hoy sobre la copia.&lt;br /&gt;&lt;pre&gt;$ zsync -o ubuntu-9.10-daily-desktop-i386.iso &lt;br /&gt;http://cdimage.ubuntu.com/daily-live/current/karmic-desktop-i386.iso.zsync&lt;/pre&gt;&lt;br /&gt;Zsync descarga primero el archivo .zsync y seguido lo compara con la iso que le damos de salida. &lt;br /&gt;El resultado es&lt;br /&gt;&lt;pre&gt;Read ubuntu-9.10-daily-desktop-i386.iso. Target 57.9% complete.&lt;/pre&gt;Quiere decir que el 57.9% no ha cambiado, por tanto no hay que descargarlo. A partir de aquí empieza la descarga.&lt;br /&gt;En este caso concreto no llegó a 1 hora.&lt;br /&gt;&lt;br /&gt;Esto también nos servirá para la Release Candidate y la final. &lt;br /&gt;Así que seguramente esta será la versión que tardaré menos en tener.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-7184700119430995102?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/7184700119430995102/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=7184700119430995102' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/7184700119430995102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/7184700119430995102'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2009/10/testeando-ubuntu-con-zsync.html' title='Testeando ubuntu con Zsync'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-6022359292025469377</id><published>2009-10-11T18:54:00.006+02:00</published><updated>2009-10-11T19:26:25.304+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='apt-cacher'/><category scheme='http://www.blogger.com/atom/ns#' term='playdeb'/><title type='text'>Compatibilizando apt-cacher y PlayDeb</title><content type='html'>Mirando jueguecitos de &lt;a href="http://www.playdeb.net"&gt;PlayDeb&lt;/a&gt; he visto que había cosas muy interesantes: nuevas versiones de juegos o juegos que no se incluyen en Ubuntu.&lt;br /&gt;Así que he configurado mi repositorio &lt;a href="http://www.playdeb.net/updates/?q=zaz#how_to_install"&gt;tal y como indica la web&lt;/a&gt;. &lt;br /&gt;Pero al pedirle que descargue paquetes ... sorpresa !!!&lt;br /&gt;&lt;pre&gt;Err http://archive.getdeb.net jaunty-getdeb/games smc 1.8-1~getdeb1                      &lt;br /&gt;  302 Found&lt;/pre&gt;Sorpresa y desagradable. Como tengo varios ordenadores y una conexión de internet lenta, la red actualiza con un apt-cacher instalado en mi servidor. Ya &lt;a href="http://azulcasinegro.blogspot.com/search/label/apt-cacher"&gt;he comentado como configurarlo&lt;/a&gt; en otras ocasiones. Pues ahora es más un problema que una solución. &lt;br /&gt;Veamos la causa del problema. La descarga da error porque en realidad la dirección a la que llama debe redireccionar a otra, y eso es incompatible con apt-cacher. Pero tiene solución.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Solución&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;El truco está en intentar descargar un paquete directamente de la web y ver la dirección real desde que se realiza. Así que a mí me salió:&lt;br /&gt;&lt;pre&gt;http://rsync.labby.co.uk/getdeb//ubuntu/pool/games/s/smc/smc_1.8-1~getdeb1_i386.deb&lt;/pre&gt;Jejeje, casi ya estamos. &lt;br /&gt;Ahora nos toca añadir en /etc/apt/source.list&lt;br /&gt;&lt;pre&gt;deb http://rsync.labby.co.uk/getdeb/ubuntu/ jaunty-getdeb games&lt;/pre&gt;&lt;br /&gt;Si lo probais, sería normal que os saliera otra página web como origen. Es lógico porque probablemente reparta la descarga entre varias. Es más, os recomiento que si os sale otra probeis de usarla, para que así no sobrecarguemos al servidor.&lt;br /&gt;&lt;br /&gt;Sólo queda actualizar los repositorios. Descargarnos el juego que queramos. &lt;br /&gt;Y a jugar.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-6022359292025469377?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/6022359292025469377/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=6022359292025469377' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/6022359292025469377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/6022359292025469377'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2009/10/compatibilizando-apt-cacher-y-playdeb.html' title='Compatibilizando apt-cacher y PlayDeb'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-6775859073353522605</id><published>2009-09-28T09:00:00.006+02:00</published><updated>2009-09-28T20:24:57.411+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='thunderbird'/><category scheme='http://www.blogger.com/atom/ns#' term='kde4'/><category scheme='http://www.blogger.com/atom/ns#' term='kubuntu'/><title type='text'>Integrando Firefox y Thunderbird en KDE</title><content type='html'>Hace años que soy usuario de Kubuntu (KDE). Me gusta mucho, y no uso Ubuntu (Gnome) si no es en cdlive o virtualizado. Simplemente es una cuestión de gustos. Pero también me gusta usar Firefox como navegador y Thunderbird como cliente de correo. La razón es que son multiplataforma y funcionan muy bien. Mejor que muchos otros.&lt;br /&gt;Pero a la hora de integrarse con KDE tienen algunas lagunas. No voy a entrar, al menos que alguien me lo pida, en la parte estética. Pero sí en la de aplicaciones asociadas a archivos. El problema reside en que estos programas se enlazan con los archivos de configuración de Gnome y no con los de KDE para abrir aplicaciones. Estos archivos son ~/.mailcap y ~/.mime.types) para el usuario y /etc/mailcap y /etc/mime.types para el sistema. Los mime.types definen los tipos de archivo, y los mailcap las aplicaciones asociadas a estos. Además, estos programas tienen como parámetros de configuración dichos cuatro archivos.&lt;br /&gt;El objetivo será hacer que Firefox y Thunderbird usen la asociación de archivos de KDE. Para esto nos ayudaremos que la aplicación kde-open, la cual abre el archivo que la pasemos con el programa asociado en KDE.&lt;br /&gt;Bueno, ya tenemos todas las piezas. Sólo hace falta construir el puzle. Y como es normal, hay varias soluciones dependiendo de como querramos nuestro entorno.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;OPCION 1: Reconfiguramos Firefox y Thunderbird en 1 usuario&lt;/span&gt;&lt;br /&gt;En este caso modificaremos la configuración de estos programas sin afectar ni al resto de programas que usen Gnome ni al resto de usuarios.&lt;br /&gt;Lo primero generamos un archivo ~/.mailcap.enlacekde y añadimos lo siguiente dentro:&lt;br /&gt;&lt;code&gt;application/*; /usr/bin/kde-open '%s'; edit=/usr/bin/kde-open '%s'; test=test -n "$DISPLAY"; description=Enlace con KDE; nametemplate=%s&lt;br /&gt;audio/*; /usr/bin/kde-open '%s'; test=test -n "$DISPLAY"; description=Enlace con KDE; nametemplate=%s&lt;br /&gt;image/*; /usr/bin/kde-open '%s'; test=test -n "$DISPLAY"; description=Enlace con KDE; nametemplate=%s&lt;br /&gt;multipart/*; /usr/bin/kde-open '%s'; test=test -n "$DISPLAY"; description=Enlace con KDE; nametemplate=%s&lt;br /&gt;text/*; /usr/bin/kde-open '%s'; test=test -n "$DISPLAY"; description=Enlace con KDE; nametemplate=%s&lt;br /&gt;video/*; /usr/bin/kde-open '%s'; test=test -n "$DISPLAY"; description=Enlace con KDE; nametemplate=%s&lt;br /&gt;vms/*; /usr/bin/kde-open '%s'; test=test -n "$DISPLAY"; description=Enlace con KDE; nametemplate=%s&lt;/code&gt;&lt;br /&gt;Con esto lo que definimos la aplicación kde-open por defecto para cada familia de archivos.&lt;br /&gt;Luego cambiaremos la configuración de Firefox y Thunderbird cambiando:&lt;br /&gt;1. El parámetro helpers.global_mailcap_file lo dejaremos en blanco.&lt;br /&gt;2. El parámetro helpers.private_mailcap_file lo cambiaremos a ~/.mailcap.enlacekde&lt;br /&gt;Para acceder a la pantalla de parámetros en Firefox es escribiendo about:config como dirección.&lt;br /&gt;Antes de realizar los cambios:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eEVEXcbh2Ik/SsBgiBFFUDI/AAAAAAAAAE8/lxsBWEc0Pfo/s1600-h/mailcapfantes.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 144px;" src="http://4.bp.blogspot.com/_eEVEXcbh2Ik/SsBgiBFFUDI/AAAAAAAAAE8/lxsBWEc0Pfo/s400/mailcapfantes.jpg" alt="" id="BLOGGER_PHOTO_ID_5386411291856687154" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Depués de realizar los cambios:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eEVEXcbh2Ik/SsBgitR7AnI/AAAAAAAAAFE/FW88tYUv82w/s1600-h/mailcapfadespues.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 144px;" src="http://4.bp.blogspot.com/_eEVEXcbh2Ik/SsBgitR7AnI/AAAAAAAAAFE/FW88tYUv82w/s400/mailcapfdespues.jpg" alt="" id="BLOGGER_PHOTO_ID_5386411303721697906" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;En Thunderbird se llega en el menú Editar / Preferencias / Avanzadas / Editor de configuración.&lt;br /&gt;Recordad que sólo estamos configurando estas dos aplicaciones y en el usuario actual. Esto no afectará a los demás usuarios.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;OPCION 2: Usamos sólo KDE&lt;/span&gt;&lt;br /&gt;Eso quiere decir que no abriremos sesiones Gnome. Esta opción es más radical, pero nos permite arreglarlo para todas las aplicaciones de todos los usuarios.&lt;br /&gt;Primero de todo movemos, por seguridad, el archivo original.&lt;br /&gt;&lt;code&gt;# mv /etc/mailcap /etc/mailcap.original&lt;/code&gt;&lt;br /&gt;Segundo creamos /etc/mailcap con el texto de la opción anterior.&lt;br /&gt;La ventaja de esta opción es que lo hacemos todo de un plumazo. Lo malo es que al realizar actualizaciones es probable que tengamos que volver a realizar este proceso.&lt;br /&gt;&lt;br /&gt;Y con esto solucionamos parte de la integración de Firefox y Thunderbird con KDE&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-6775859073353522605?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/6775859073353522605/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=6775859073353522605' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/6775859073353522605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/6775859073353522605'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2009/09/integrando-firefox-y-thunderbird-en-kde.html' title='Integrando Firefox y Thunderbird en KDE'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_eEVEXcbh2Ik/SsBgiBFFUDI/AAAAAAAAAE8/lxsBWEc0Pfo/s72-c/mailcapfantes.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-6593407383829880726</id><published>2009-09-10T09:08:00.003+02:00</published><updated>2009-09-10T09:49:30.982+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ext4'/><category scheme='http://www.blogger.com/atom/ns#' term='Ext3'/><category scheme='http://www.blogger.com/atom/ns#' term='Ext2'/><category scheme='http://www.blogger.com/atom/ns#' term='Grub'/><category scheme='http://www.blogger.com/atom/ns#' term='/etc/fstab'/><title type='text'>Migrando a Ext4 desde Ext3 y Ext2</title><content type='html'>Hace ya tiempo que realicé por primera vez este proceso. Pero hasta que no he visto que no da ningún problema no he querido escribirlo.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;¿ Para qué migrar ?&lt;/span&gt; Básicamente por rendimiento, aunque también hay otro tipo de mejoras. Podéis consultar la &lt;a href="http://es.wikipedia.org/wiki/Ext4#Mejoras"&gt;lista de mejoras&lt;/a&gt; (en castellano). En muy muy resumen, desfragmenta menos y chequea más rápido. Al final se nota que el sistema va más "ligero", que es lo que importa.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Requisitos&lt;/span&gt; Linux con particiones Ext3 (o Ext2), grub 0.97 o superior, y kernel 2.6.28 o superior.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;El COMO&lt;/span&gt;&lt;br /&gt;Arrancamos desde cd. Con un Ubuntu 9.04 nos basta.&lt;br /&gt;&lt;br /&gt;Si la partición está en Ext2 la pasamos a Ext3.&lt;br /&gt;&lt;code style="white-space: nowrap; color: rgb(73, 89, 136); background-color: white;"&gt;# tune2fs -j /dev/&lt;&lt;i&gt;DEV&gt;&lt;/i&gt;&lt;/code&gt;&lt;br /&gt;Donde &lt;&lt;i&gt;DEV&gt;&lt;/i&gt; es la partición que queremos migrar.&lt;br /&gt;&lt;br /&gt;Ahora ya empezamos a migrar a Ext4.&lt;br /&gt;&lt;code style="white-space: nowrap; color: rgb(73, 89, 136); background-color: white;"&gt;# tune2fs -O extents,uninit_bg,dir_index /dev/&lt;&lt;i&gt;DEV&gt;&lt;/i&gt;&lt;/code&gt;&lt;br /&gt;Con esto añadimos las nuevas opciones de Ext4.&lt;br /&gt;Para que los cambios se apliquen, le decimos que repare la partición con las nuevas opciones, y así aplicará los cambios.&lt;br /&gt;&lt;code style="white-space: nowrap; color: rgb(73, 89, 136); background-color: white;"&gt;# e2fsck -fpDC0 /dev/&lt;&lt;i&gt;DEV&gt;&lt;/i&gt;&lt;/code&gt;&lt;br /&gt;Este proceso puede ser algo largo. Acordaros de hacer esto para cada partición que querais migrar.&lt;br /&gt;&lt;br /&gt;Con esto ya están migradas las particiones, pero el sistema aún no lo sabe. Sin salir del cdlive  vamos a actualizar el sistema. Hay 2 cosillas a hacer: la primera actualizar /etc/fstab y la segunda grub.&lt;br /&gt;Vamos por la primera. Montamos la para partición de /etc (o /). Editamos /etc/fstab y cambiamos el sistema de archivos de ext3 (o ext2) a ext4. Por ejemplo, pasaríamos de tener una linea así&lt;br /&gt;&lt;code style="white-space: nowrap; color: rgb(73, 89, 136); background-color: white;"&gt;/dev/sda1       /               ext3    relatime,errors=remount-ro      0 1&lt;/code&gt;&lt;br /&gt;a otra así&lt;br /&gt;&lt;code style="white-space: nowrap; color: rgb(73, 89, 136); background-color: white;"&gt;/dev/sda1       /               ext4    relatime,errors=remount-ro      0 1&lt;/code&gt;&lt;br /&gt;Ahora los del Grub. Es un poco más complicado, pero no mucho. Montamos tambien la particion /boot (o /). Modificamos /boot/grub/menu.lst . Toca añadir &lt;span style="font-weight:bold;"&gt;rootfs=ext4&lt;/span&gt; a la linea &lt;br /&gt;&lt;code style="white-space: nowrap; color: rgb(73, 89, 136); background-color: white;"&gt;# kopt=root=/dev/sda1 ro&lt;/code&gt;&lt;br /&gt;Quedando así&lt;br /&gt;&lt;code style="white-space: nowrap; color: rgb(73, 89, 136); background-color: white;"&gt;# kopt=root=/dev/sda1 rootfs=ext4 ro&lt;/code&gt;&lt;br /&gt;También hay que añadirlo &lt;span style="font-style:italic;"&gt;todas&lt;/span&gt; las lineas de parámetros de kernel que ya tenemos. Si tenemos&lt;br /&gt;&lt;code style="white-space: nowrap; color: rgb(73, 89, 136); background-color: white;"&gt;title           Ubuntu 9.04, kernel 2.6.28-15-generic&lt;br /&gt;root            (hd0,0)&lt;br /&gt;kernel          /vmlinuz-2.6.28-15-generic root=/dev/sda1 ro quiet splash&lt;br /&gt;initrd          /initrd.img-2.6.28-15-generic&lt;br /&gt;quiet&lt;/code&gt;&lt;br /&gt;Sólo tocamos la línea que empieza por kernel quedando así.&lt;br /&gt;&lt;code style="white-space: nowrap; color: rgb(73, 89, 136); background-color: white;"&gt;title           Ubuntu 9.04, kernel 2.6.28-15-generic&lt;br /&gt;root            (hd0,0)&lt;br /&gt;kernel          /vmlinuz-2.6.28-15-generic root=/dev/sda1 rootfs=ext4 ro quiet splash&lt;br /&gt;initrd          /initrd.img-2.6.28-15-generic&lt;br /&gt;quiet&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Ahora deberíais poder arrancar normalmente el sistema. La verdad es que lo he hecho en varios ordenadores sin que aparezcan problemas.&lt;br /&gt;&lt;br /&gt;Hasta la próxima.&lt;br /&gt;&lt;br /&gt;Fuentes:&lt;br /&gt;      &lt;a href="http://ext4.wiki.kernel.org/index.php/Ext4_Howto"&gt;Ext4 Howto de Kernel.org&lt;/a&gt;&lt;br /&gt;      &lt;a href="http://ubuntulife.wordpress.com/2009/03/07/convertir-de-ext3-a-ext4/"&gt;Ubuntu Life&lt;/a&gt;&lt;br /&gt;      &lt;a href="http://es.wikipedia.org/wiki/Ext4"&gt;Wikipedia&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-6593407383829880726?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/6593407383829880726/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=6593407383829880726' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/6593407383829880726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/6593407383829880726'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2009/09/migrando-ext4-desde-ext3-y-ext2.html' title='Migrando a Ext4 desde Ext3 y Ext2'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-2419627994587372230</id><published>2009-08-30T10:25:00.000+02:00</published><updated>2009-08-30T10:25:48.615+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cdlive'/><category scheme='http://www.blogger.com/atom/ns#' term='RAID'/><category scheme='http://www.blogger.com/atom/ns#' term='SystemRescueCD'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>COMO: montar unidades raid (mdadm) desde un cdlive (actualizado 30/08/2009)</title><content type='html'>El otro día mi Kubuntu 8.04 (actualizado a 9.04) se quedó parado al arrancar, probando de configurar la red para funcionar con VirtualBox 2.0 (otro día os cuento como). Al final lo arreglé con el arranque de emergencia que llega grub, pero luego pensé: me leería un cdlive las particiones en RAID creadas con mdadm ? La respuesta es que sí se puede.&lt;br /&gt;Os lo explicaré para 2 cdlive típicos, y así uséis el que os guste más.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Con SystemRescueCD&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Una vez hemos arrancado desde cd normalmente hacemos esto&lt;br /&gt;&lt;pre&gt;$mdadm -E -s&lt;br /&gt;ARRAY /dev/md0 level=raid1 num-devices=2 UUID=41dbbd9c:7c6f2804:535abdc8:a95f46d1&lt;br /&gt;ARRAY /dev/md1 level=raid1 num-devices=2 UUID=84ee1b14:dd87a3fc:14ab804b:41aaf9ef&lt;br /&gt;ARRAY /dev/md2 level=raid1 num-devices=2 UUID=130a6b43:f0b9f1b9:7cf9955e:cc5b6fd4&lt;br /&gt;ARRAY /dev/md3 level=raid1 num-devices=2 UUID=c4b0142d:42d38824:9a8d4b82:5b8ae5bd&lt;br /&gt;ARRAY /dev/md4 level=raid1 num-devices=2 UUID=91d2e72d:0cb000ed:2b751b1c:7d5a06ff&lt;br /&gt;ARRAY /dev/md5 level=raid1 num-devices=2 UUID=bd3ce1f8:14d879b0:3c55423b:e841324e&lt;br /&gt;ARRAY /dev/md6 level=raid0 num-devices=2 UUID=8ce475b8:af5636c2:3c55423b:e841324e&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Parece que reconoce todo.&lt;br /&gt;Ahora los cargamos para poder montarlos.&lt;br /&gt;&lt;pre&gt;$mdadm --auto-detect&lt;/pre&gt;&lt;br /&gt;Sólo nos queda montar lo que queramos. Por ejemplo&lt;br /&gt;&lt;pre&gt;$mount /dev/md4 /mnt/custom&lt;/pre&gt;&lt;br /&gt;Y ya podemos acceder a los archivos.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Con Ubuntu 9.04 cdlive (actualizado)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Arrancamos normalmente el entorno gráfico. Con este cd &lt;span style="font-style: italic;"&gt;necesitaremos tener conexión a internet&lt;/span&gt;, porque el paquete mdadm no va incluido en el cd :(&lt;br /&gt;Una vez que ya tenemos conexión, instalamos el paquete&lt;br /&gt;&lt;pre&gt;$sudo apt-get install mdadm&lt;/pre&gt;&lt;br /&gt;El resto es como con SystemRescueCD. Ahora ya se comportan igual :) (Antes no)&lt;br /&gt;&lt;br /&gt;Y ya podremos montar el dispositivo.&lt;br /&gt;Recordad que hay que crear una carpeta en /media/ para poderlo montar.&lt;br /&gt;&lt;br /&gt;Espero que haya quedado claro.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-2419627994587372230?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/2419627994587372230/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=2419627994587372230' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/2419627994587372230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/2419627994587372230'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2008/09/como-montar-unidades-raid-desde-un.html' title='COMO: montar unidades raid (mdadm) desde un cdlive (actualizado 30/08/2009)'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-4124111500069469759</id><published>2009-06-25T08:15:00.002+02:00</published><updated>2009-06-25T08:42:46.966+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='plasmoids'/><category scheme='http://www.blogger.com/atom/ns#' term='kde4'/><category scheme='http://www.blogger.com/atom/ns#' term='kubuntu'/><title type='text'>Más Plamoids, listos para usar</title><content type='html'>Hace unos meses os hablé de un par de plasmoids interesantes. La verdad es que hay muchos, y seguro que varios nos servirán para el día a día. Sólo hace falta dar una vuelta por &lt;a href="http://www.kde-look.org"&gt;http://www.kde-look.org&lt;/a&gt; para darnos cuenta de la variedad y potencia de muchos.&lt;br /&gt;Pero el problema es que, aunque sabemos compilarlos, es engorroso estar pendiente de si sale una versión nueva por cada uno que tengamos instalado.&lt;br /&gt;&lt;br /&gt;Esto lo podemos solucionar con el &lt;a href="https://launchpad.net/~samrog131/+archive/ppa"&gt;repositorio de Sam Rog&lt;/a&gt;, el cual contiene entre otras cosas un recopilatorio de plasmoids muy interesante. Esto nos evitará tener que compilar (y tener instalados los paquetes necesarios para ello), y también obtendremos las actualizaciones de manera automática.&lt;br /&gt;&lt;br /&gt;Para añadir este repositorio debemos seguir los pasos que nos indican:&lt;br /&gt;Seleccionamos nuestra versión en el desplegable, en mi caso (actual)&lt;br /&gt;&lt;pre&gt;deb http://ppa.launchpad.net/samrog131/ppa/ubuntu jaunty main&lt;br /&gt;deb-src http://ppa.launchpad.net/samrog131/ppa/ubuntu jaunty main&lt;/pre&gt;y la añadimos al archivo /etc/apt/source.list&lt;br /&gt;Luego añadimos la clave PPA. Hay por ahí métodos quizás más sencillos, pero a mí me gusta "seguir la receta". Copiamos &lt;a href="http://keyserver.ubuntu.com:11371/pks/lookup?op=get&amp;search=0xA47958D42B7E03A7"&gt;este enlace&lt;/a&gt; a un archivo de texto (con kate, nano o cualquier otro). Y finalmente añadimos ese archivo de clave. Por ejemplo: &lt;br /&gt;&lt;pre&gt;sudo apt-key add archivo_clave.txt&lt;/pre&gt;&lt;br /&gt;La verdad es que os recomiendo probar unos cuantos. No todos os servirán, pero seguro que os quedais con alguno. Suerte :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-4124111500069469759?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/4124111500069469759/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=4124111500069469759' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/4124111500069469759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/4124111500069469759'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2009/06/mas-plamoids-listos-para-usar.html' title='Más Plamoids, listos para usar'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-2543244617139979633</id><published>2009-04-03T09:06:00.003+02:00</published><updated>2009-04-03T09:20:58.843+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='impresoras'/><category scheme='http://www.blogger.com/atom/ns#' term='kubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Impresora USB desconectada.  "Unplugged or turned off"</title><content type='html'>Esta es una de esas cosas que hacen que el usuario nos llame para "tonterias". Que al encender una impresora USB no detecte que está encendida, y que haya que darle manualmente a la opción de Cups es algo que deseamos que en la próxima versión (la 9.04) esté arreglado por defecto.&lt;br /&gt;Mientras tanto, os doy la solución:&lt;br /&gt;1. Renombramos el archivo a sustituir, para poder volver atrás por si falla&lt;br /&gt;&lt;pre&gt;$ sudo mv /usr/lib/hal/scripts/hal_lpadmin /usr/lib/hal/scripts/hal_lpadmin_&lt;/pre&gt;2. Descargamos la nueva versión&lt;br /&gt;&lt;pre&gt;$ wget http://launchpadlibrarian.net/23842424/hal_lpadmin&lt;/pre&gt;3. La movemos&lt;br /&gt;&lt;pre&gt;$ sudo mv hal_lpadmin /usr/lib/hal/scripts/hal_lpadmin&lt;/pre&gt;4. Le damos permisos de ejecución y listo&lt;br /&gt;&lt;pre&gt;$ sudo chmod 755 /usr/lib/hal/scripts/hal_lpadmin&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Fuente : &lt;a href="https://bugs.launchpad.net/ubuntu/+source/hal-cups-utils/+bug/341646"&gt;Ubuntu launchpad&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-2543244617139979633?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/2543244617139979633/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=2543244617139979633' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/2543244617139979633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/2543244617139979633'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2009/04/impresora-usb-desconectada-unplugged-or.html' title='Impresora USB desconectada.  &quot;Unplugged or turned off&quot;'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-7160485906716835807</id><published>2009-04-02T09:17:00.004+02:00</published><updated>2009-04-03T09:36:31.749+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rdesktop'/><category scheme='http://www.blogger.com/atom/ns#' term='VirtualBox'/><category scheme='http://www.blogger.com/atom/ns#' term='kubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Otro rdesktop. Como solucionar algunas limitaciones. (Actualizado)</title><content type='html'>Hace meses que uso VirtualBox (a día de hoy 2.1.4). Haciendo pruebas me di cuenta que existía una versión de rdesktop retocada por la gente de VirtualBox. Al principio no le di importancia, pero al conectarme remotamente mediante rdesktop desde otro pc, comencé a tener problemas con el teclado. Cogía las mayúsculas cuando quería, y alguna otra cosa rara. Entonces me acordé de la utilidad que os he mencionado. Se llama rdesktop-vrdp. Me instalé VirtualBox en la máquina cliente, y funcionó sin problemas. Pero si sólo voy a usar esa utilidad, tener que instalar todo el soft de virtualización es como matar mocas a cañonazos. La idea es poder instalar rdesktop-vrdp sin tener que instalar todo VirtualBox.&lt;br /&gt;&lt;br /&gt;Lo primero que vamos a necesitar es el binario. Nos lo descargamos.&lt;br /&gt;&lt;pre&gt;$ wget http://download.clientescc.com/kubuntu/rdesktop-vrdp.bin&lt;/pre&gt;Lo movemos para que sea accesible para todos los usuarios&lt;br /&gt;&lt;pre&gt;$ sudo mv rdesktop-vrdp.bin /usr/bin/rdesktop-vrdp&lt;/pre&gt;Le damos permisos de ejecución&lt;br /&gt;&lt;pre&gt;$ sudo chmod a+x /usr/bin/rdesktop-vrdp&lt;/pre&gt; Nos queda aún el mapeo de teclado. Descargamos el archivo comprimido&lt;br /&gt;&lt;pre&gt;$ wget http://download.clientescc.com/kubuntu/rdesktop-vrdp-keymaps.tar&lt;/pre&gt;Lo descomprimimos&lt;br /&gt;&lt;pre&gt;$ tar xvf rdesktop-vrdp-keymaps.tar&lt;/pre&gt;Creamos la carpeta destino &lt;br /&gt;&lt;pre&gt;$ sudo mkdir /usr/share/virtualbox/&lt;/pre&gt;Movemos la carpeta para que configure correctamente el teclado&lt;br /&gt;&lt;pre&gt;$ sudo mv rdesktop-vrdp-keymaps/ /usr/share/virtualbox/&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Os pongo también un ejemplo de conexión por si a alguien le sirve de inspiración.&lt;br /&gt;&lt;pre&gt;$ rdesktop-vrdp -g1024x768 -zCN -a16 -xb IP_SERVIDO_RDP:PUERTO &lt;/pre&gt;&lt;br /&gt;Comentamos las opciones:&lt;br /&gt;&lt;pre&gt; -g1024x768  Ancho y alto de la pantalla&lt;br /&gt; -z          Habilita compresión. Muy importante si la hacemos via internet.&lt;br /&gt; -C          Mapa de colores propio&lt;br /&gt; -N          Sincroniza el bloque numérico&lt;br /&gt; -a16        Calidad de color. Cuanta menos calidad, más rapido irá pero peor se verá.&lt;br /&gt; -xb         Optimización para ancho de banda por internet.&lt;/pre&gt;Otras opciones interesantes:&lt;br /&gt;&lt;pre&gt; -T Ejemplo  Cambia el texto de la ventana a Ejemplo. Util para distinguir ventanas cuando abrimos varias.&lt;br /&gt; -D          Elimina el marco y la cabecera de la ventana. Util cuando queremos asignar todo el tamaño del escritorio&lt;br /&gt; -r disk:export=/home/USUARIO/&lt;br /&gt;             Enlaza la carpeta de USUARIO a la carpeta \\tsclient\export\ del servidor. Sólo funciona en Terminal Server.&lt;br /&gt; -r printer:Nombre_Impresora&lt;br /&gt;             Enlaza la impresora local Nombre_Impresora como predeterminada en la sesión. Se puedes poner más, y sólo funciona en Terminal Server.&lt;br /&gt; -u USUARIO  Asigna USUARIO como usuario predeterminado&lt;br /&gt; -p CONTRASEÑA&lt;br /&gt;             Asigna CONTRASEÑA como predeterminada. Si usamos a la vez -u y -p nos abrirá automaticamente la sesión. &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Como la gente de VirtualBox son gente seria, y sabiendo que rdesktop es GNU/GLP, nos ponen el &lt;a href="http://download.clientescc.com/kubuntu/rdesktop-vrdp.tar.gz"&gt;código fuente retocado&lt;/a&gt; por si lo necesitamos. Así da gusto.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Caps Lock&lt;/span&gt;&lt;br /&gt;En el caso particular del bloqueo de mayúsculas, podemos modificar el archivo common. Se trata de comentar la linea&lt;br /&gt;&lt;pre&gt;Caps_Lock 0x0 inhibit&lt;/pre&gt;que esta al final del archivo.&lt;br /&gt;Para rdesktop la ruta es /usr/share/rdesktop/keymaps/common&lt;br /&gt;Y para rdesktop-vrdp la ruta es /usr/share/virtualbox/rdesktop-vrdp-keymaps/common&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-7160485906716835807?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/7160485906716835807/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=7160485906716835807' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/7160485906716835807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/7160485906716835807'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2009/04/otro-rdesktop-como-solucionar-algunas.html' title='Otro rdesktop. Como solucionar algunas limitaciones. (Actualizado)'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-831912368397987041</id><published>2009-02-25T09:16:00.005+01:00</published><updated>2009-02-25T09:41:50.979+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='AppArmor'/><category scheme='http://www.blogger.com/atom/ns#' term='Akonadi'/><category scheme='http://www.blogger.com/atom/ns#' term='kde4'/><category scheme='http://www.blogger.com/atom/ns#' term='kubuntu'/><title type='text'>Actualizando a KDE 4.2 : error de Akonadi al iniciar</title><content type='html'>Ayer, al actualizar mi sistema (Kubuntu 8.10 64bits con KDE 4.1), me llevé la agridulce sorpresa de que el sistema, practicamente sin consultar, me actualizaba a KDE 4.2. En casa ya lo tenía instalado, y aunque me parece más estable que la 4.1, estaba esperando a la siguiente versión de Kubuntu para dar el salto.&lt;br /&gt;&lt;br /&gt;Hay un monton de webs y blogs que hablan del cambio de las bibliotecas de 4.1 a 4.2, que al parecer son importantes. Probablemente KDE 4.1 pase a la historia como una versión beta que no debería haber pasado de ahí. Pero a mí me gusta escribir de lo que no escriben otros, sobretodo de las soluciones a problemas que no se encuentran fácilmente.&lt;br /&gt;&lt;br /&gt;Pues vamos a comentar un fallo en un paquete nuevo Akonadi. Gran &lt;a href="http://techbase.kde.org/Troubleshooting_akonadi_in_kubuntu_8.10_kde_4.1_beta"&gt;parte de la solución&lt;/a&gt; ya está documentado, pero aun así no acababa de funcionar correctamente. &lt;br /&gt;&lt;br /&gt;Lo primero es parar apparmor, que es el "responsable" de que el MySQL asociado a Akonadi no arranque.&lt;br /&gt;&lt;pre&gt;# /etc/init.d/apparmor stop&lt;/pre&gt;Iniciamos Akonadi y miramos si funciona correctamente.&lt;br /&gt;&lt;pre&gt;$ akonadictl start&lt;br /&gt;$ akonadictl status&lt;/pre&gt;Si nos contesta lo siguiente, es que realmente AppArmor estaba lo bloqueando.&lt;br /&gt;&lt;pre&gt;Akonadi Control: running&lt;br /&gt;Akonadi Server: running&lt;/pre&gt;Ya hemos verificado el origen del problema, ahora ejecutamos la solución.&lt;br /&gt;&lt;pre&gt;# aa-complain mysqld&lt;br /&gt;# aa-complain mysqld-akonadi&lt;br /&gt;# /etc/init.d/apparmor reload&lt;/pre&gt;Ahora podemos reiniciar el sistema para ver que el error ha desaparecido.&lt;br /&gt;&lt;br /&gt;Ciencia y paciencia.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-831912368397987041?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/831912368397987041/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=831912368397987041' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/831912368397987041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/831912368397987041'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2009/02/actualizando-kde-42-error-de-akonadi-al.html' title='Actualizando a KDE 4.2 : error de Akonadi al iniciar'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-7675115044371572346</id><published>2009-02-20T08:11:00.003+01:00</published><updated>2009-02-20T20:10:28.495+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VirtualBox'/><category scheme='http://www.blogger.com/atom/ns#' term='kubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>VirtualBox : ejecutar una máquina virtual como servicio (actualizado)</title><content type='html'>Primero vamos a ver para que nos puede servir.&lt;br /&gt;Supongamos que tenemos una maquina virtual que contiene un determinado servicio o programa que queremos que se arranque y pare cuando se arraque y pare nuestro ubuntu/kubuntu. También sería interesante para una mv que tubiera algún programa que accedemos remotamente.&lt;br /&gt;Un caso típico sería un Windows con alguna vieja y/o pegajosa aplicación de gestión, la cual es necesaria pero no se quiere o puede migrar a linux.&lt;br /&gt;&lt;br /&gt;Pues para eso os propongo el siquiente script:&lt;br /&gt;&lt;pre&gt;#!/bin/sh                                                                   &lt;br /&gt;### BEGIN INIT INFO                                                         &lt;br /&gt;# Provides:          VB - ServidorXP                                        &lt;br /&gt;# Required-Start:    $local_fs $remote_fs vboxdrv vboxnet                   &lt;br /&gt;# Required-Stop:     $local_fs $remote_fs vboxdrv vboxnet                   &lt;br /&gt;# Default-Start:     2 3 4 5                                                &lt;br /&gt;# Default-Stop:      S 0 1 6                                                &lt;br /&gt;# Short-Description: Handles the ServidorXP virtual machine                 &lt;br /&gt;# Description:       This file should be used to construct scripts to be    &lt;br /&gt;#                    placed in /etc/init.d.                                 &lt;br /&gt;### END INIT INFO                                                           &lt;br /&gt;&lt;br /&gt;# AZULcasiNEGRO - x22bcn@gmail.com&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# CHANGE THESE AS NEEDED&lt;br /&gt;#                       &lt;br /&gt;# Name given to the virtual machine&lt;br /&gt;VM_NAME="ServidorXP"               &lt;br /&gt;&lt;br /&gt;# Name of this file, excluding /etc/init.d/&lt;br /&gt;THIS_FILE=vb-servidorxp                    &lt;br /&gt;&lt;br /&gt;# Username to run as&lt;br /&gt;RUNAS_USERNAME=usuario &lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# END CHANGE THESE AS NEEDED&lt;br /&gt;#                           &lt;br /&gt;PATH=/usr/sbin:/usr/bin:/sbin:/bin&lt;br /&gt;DESC="VirtualBox - ${VM_NAME}"    &lt;br /&gt;#DAEMON=/usr/bin/VBoxHeadless     &lt;br /&gt;DAEMON=/usr/bin/VBoxManage        &lt;br /&gt;DAEMON_ARGS="-startvm \"${VM_NAME}\""&lt;br /&gt;PIDFILE=/var/run/$THIS_FILE.pid      &lt;br /&gt;SCRIPTNAME=/etc/init.d/$THIS_FILE    &lt;br /&gt;&lt;br /&gt;# Exit if the package is not installed&lt;br /&gt;[ -x "$DAEMON" ] || exit 0            &lt;br /&gt;&lt;br /&gt;# Define LSB log_* functions.&lt;br /&gt;# Depend on lsb-base (&gt;= 3.0-6) to ensure that this file is present.&lt;br /&gt;. /lib/lsb/init-functions                                           &lt;br /&gt;&lt;br /&gt;is_running()&lt;br /&gt;{           &lt;br /&gt;    ISRUNNING=`su $RUNAS_USERNAME -c "$DAEMON showvminfo $VM_NAME | grep running"`&lt;br /&gt;#    echo "&gt;"$ISRUNNING"&lt;"                                                           &lt;br /&gt;    if [ -n "$ISRUNNING" ]; then                                                     &lt;br /&gt;        return 1                                                                     &lt;br /&gt;    else                                                                             &lt;br /&gt;        return 0                                                                     &lt;br /&gt;    fi                                                                               &lt;br /&gt;}                                                                                    &lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# Function that starts the daemon/service&lt;br /&gt;#                                        &lt;br /&gt;do_start()                               &lt;br /&gt;{                                        &lt;br /&gt;    # Return                             &lt;br /&gt;    #   0 if daemon has been started     &lt;br /&gt;    #   1 if daemon was already running  &lt;br /&gt;    #   2 if daemon could not be started &lt;br /&gt;    is_running                           &lt;br /&gt;    if [ $? -eq 1 ]; then return 1; fi   &lt;br /&gt;&lt;br /&gt;    su $RUNAS_USERNAME -c "$DAEMON startvm ${VM_NAME} -type vrdp " &amp;        &lt;br /&gt;    sleep 5                                                                 &lt;br /&gt;&lt;br /&gt;    is_running &lt;br /&gt;    if [ $? -eq 0 ]; then return 2; fi&lt;br /&gt;    return 0&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# Function that stops the daemon/service&lt;br /&gt;#&lt;br /&gt;do_stop()&lt;br /&gt;{&lt;br /&gt;    # Return&lt;br /&gt;    #   0 if daemon has been stopped&lt;br /&gt;    #   1 if daemon was already stopped&lt;br /&gt;    #   2 if daemon could not be stopped&lt;br /&gt;    is_running&lt;br /&gt;    if [ $? -eq 0 ]; then return 1; fi&lt;br /&gt;&lt;br /&gt;    su $RUNAS_USERNAME -c "$DAEMON controlvm ${VM_NAME} savestate "&lt;br /&gt;&lt;br /&gt;    is_running&lt;br /&gt;    if [ $? -eq 1 ]; then return 2; fi&lt;br /&gt;    return 0&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;case "$1" in&lt;br /&gt;    start)&lt;br /&gt;        log_daemon_msg "Starting $DESC" "$THIS_FILE"&lt;br /&gt;        do_start&lt;br /&gt;        case "$?" in&lt;br /&gt;            0) log_end_msg 0 ;;&lt;br /&gt;            1) log_end_msg 1; log_failure_msg "$DESC in running." ;;&lt;br /&gt;            2) log_end_msg 1 ;;&lt;br /&gt;        esac&lt;br /&gt;        ;;&lt;br /&gt;    stop)&lt;br /&gt;        log_daemon_msg "Stopping $DESC" "$THIS_FILE"&lt;br /&gt;        do_stop&lt;br /&gt;        case "$?" in&lt;br /&gt;            0) log_end_msg 0 ;;&lt;br /&gt;            1) log_end_msg 1; log_failure_msg "$DESC in stoped." ;;&lt;br /&gt;            2) log_end_msg 1 ;;&lt;br /&gt;        esac&lt;br /&gt;        ;;&lt;br /&gt;    status)&lt;br /&gt;        is_running&lt;br /&gt;        case "$?" in&lt;br /&gt;            0) log_success_msg "$DESC is stoped." ;;&lt;br /&gt;            1) log_success_msg "$DESC is running." ;;&lt;br /&gt;        esac&lt;br /&gt;        ;;&lt;br /&gt;    *)&lt;br /&gt;        echo "Usage: $SCRIPTNAME {start|stop|status}" &gt;&amp;2&lt;br /&gt;        exit 3&lt;br /&gt;        ;;&lt;br /&gt;esac&lt;br /&gt;:&lt;/pre&gt;&lt;br /&gt;¿ Como lo usamos ?&lt;br /&gt;Creamos un archivo con el contenido de este script en /etc/init.d&lt;br /&gt;Le ponemos un nombre archivo, en este caso vb-servidorxp. Nos acordamos de él ;)&lt;br /&gt;Configuramos esta parte del script&lt;br /&gt;&lt;pre&gt;#&lt;br /&gt;# CHANGE THESE AS NEEDED&lt;br /&gt;#                       &lt;br /&gt;# Name given to the virtual machine&lt;br /&gt;VM_NAME="ServidorXP"               &lt;br /&gt;&lt;br /&gt;# Name of this file, excluding /etc/init.d/&lt;br /&gt;THIS_FILE=vb-servidorxp                    &lt;br /&gt;&lt;br /&gt;# Username to run as&lt;br /&gt;RUNAS_USERNAME=usuario &lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# END CHANGE THESE AS NEEDED&lt;br /&gt;#                           &lt;br /&gt;&lt;/pre&gt;Donde VM_NAME es el nombre de la máquina virtual. THIS_FILE el nombre del script, y RUNAS_USERNAME el usuario con el que se debe ejecutar la máquina virtual.&lt;br /&gt;&lt;br /&gt;Le cambiamos el usuario y grupo &lt;br /&gt;&lt;pre&gt;# chown root:root /etc/init.d/vb-serverxp&lt;/pre&gt;&lt;br /&gt;Ahora le damos permisos de ejecución al script&lt;br /&gt;&lt;pre&gt;# chmod ug+x /etc/init.d/vb-serverxp&lt;/pre&gt;&lt;br /&gt;Sólo nos queda que se inicie y cierre con el ordenador. Aquí debemos tener una cosa en cuenta. Como dependemos de los servicios de VirtualBox (vboxdrv y vboxnet) para que funcione, debemos configurarlo para que se encienda despues y se apague antes. Si no lo hacemos, o no arrancará o puede dejar colgado el sistema al cerrar. En principio, esto ya lo conseguimos con los parámetros Required-Start y Required-Stop. El sistema ya se encargará de vigilar que se encienda despues y se apague antes que estos servicios. Entonces asignaremos a nuestro script para que se ejecute automáticamente de la siguiente manera:&lt;br /&gt;&lt;pre&gt;# update-rc.d vb-serverxp defaults&lt;/pre&gt;&lt;br /&gt;Pues ya tenemos nuestro pc complementario dentro de nuestro pc con linux, que arranca y apaga automáticamente.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Actualización:&lt;/span&gt; He añadido la restricción de servicios en Required-Start y Required-Stop porque es mucho más efectivo que la numeración de arranque. &lt;br /&gt;Para eliminar el arranque automático actual haremos:&lt;br /&gt;&lt;pre&gt;# update-rc.d -f vb-serverxp remove&lt;/pre&gt;Y luego volveremos a asignarlo con defaults.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Actualización (II):&lt;/span&gt; Este primer apaño no acaba de funcionar del todo. Al apagar si que funciona, pero al arrancar la vm no se inicia porque aún no están cargados los modulos de VirtualBox en el kernel. Creo que el error es debido a lo hace de forma asíncrona. Total, como lo queremos es que funcione, le cambiamos la configuración al script y listo.&lt;br /&gt;Para eliminar el arranque automático actual haremos:&lt;br /&gt;&lt;pre&gt;# update-rc.d -f vb-serverxp remove&lt;/pre&gt;Y luego volveremos a asignarlo con defaults, y 99 al arrancar (al final de todo) y 20 al apagar (tal y como estaba).&lt;br /&gt;&lt;pre&gt;# update-rc.d vb-serverxp defaults 99 20&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-7675115044371572346?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/7675115044371572346/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=7675115044371572346' title='5 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/7675115044371572346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/7675115044371572346'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2009/02/virtualbox-ejecutar-una-maquina-virtual.html' title='VirtualBox : ejecutar una máquina virtual como servicio (actualizado)'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-8870516906645812964</id><published>2009-01-27T10:45:00.005+01:00</published><updated>2009-01-27T11:49:14.323+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='singleclick'/><category scheme='http://www.blogger.com/atom/ns#' term='vnc'/><category scheme='http://www.blogger.com/atom/ns#' term='kubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>SingleClick y Ubuntu/Kubuntu</title><content type='html'>Esto es una de esas cosillas que con el tiempo dejan de funcionar. Que en realidad son una tontería ... vital !!!&lt;br /&gt;Para conectarme a estaciones Windows sin instalar nada uso &lt;a href="http://www.uvnc.com/addons/singleclick.html"&gt;SingleClick&lt;/a&gt;. La verdad es que va bien. Hace lo básico, se conecta inversamente mediante vnc, y colgado en una web es fácil de ejecutar para los usuarios corrientes. No hace falta abrir ningún puerto en el cliente, sólo en nuestra red.&lt;br /&gt;Pero resulta que al actualizar la versión a intrepid, ha dejado de funcionar. El motivo es que se ha actualizado a una nueva versión de vnc, la 4, y la anterior la ha desestimado. Y con esta nueva versión SingleClick no funciona.&lt;br /&gt;Todo esto se arreglaría instalando el paquete xvncviewer. Pero este ya no existe en esta versión, aunque sí en alguna anterior. Así que buscamos &lt;a href="http://packages.ubuntu.com/"&gt;en la web de paquetes de ubuntu&lt;/a&gt; seleccionando cualquier versión, porque hemos quedado que en las últimas no está.&lt;br /&gt;El &lt;a href="http://packages.ubuntu.com/search?keywords=xvncviewer&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all"&gt;resultado&lt;/a&gt; es el siguiente:&lt;br /&gt;&lt;h3&gt;Package xvncviewer&lt;/h3&gt;   &lt;ul&gt;&lt;li class="dapper"&gt;&lt;a class="resultlink" href="http://packages.ubuntu.com/dapper/xvncviewer"&gt;dapper&lt;/a&gt; (x11):  Virtual network computing client software for X        &lt;br /&gt;3.3.7-8ubuntu2: amd64 i386 powerpc               &lt;/li&gt;&lt;li class="feisty"&gt;&lt;a class="resultlink" href="http://packages.ubuntu.com/feisty/xvncviewer"&gt;feisty&lt;/a&gt; (x11):  Virtual network computing client software for X        &lt;br /&gt;3.3.7-13ubuntu2: amd64 i386 powerpc               &lt;/li&gt;&lt;li class="gutsy"&gt;&lt;a class="resultlink" href="http://packages.ubuntu.com/gutsy/xvncviewer"&gt;gutsy&lt;/a&gt; (x11):  Virtual network computing client software for X [&lt;strong class="pmarker" title="Community maintained open source software"&gt;universe&lt;/strong&gt;]         &lt;br /&gt;3.3.7-14ubuntu1: amd64 i386 powerpc&lt;/li&gt;&lt;/ul&gt;Estamos deacuerdo que la versión más reciente de las siguientes es Gutsy, aunque creo que funcionaría cualquiera de las demás.&lt;br /&gt;&lt;a href="http://packages.ubuntu.com/gutsy/xvncviewer"&gt;Nos vamos a Gutsy&lt;/a&gt; y nos aparece los siguientes paquetes disponibles:&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Download xvncviewer&lt;/h2&gt;               &lt;table summary="The download table links to the download of the package and a file overview. In addition it gives information about the package size and the installed size."&gt;&lt;caption class="hidecss"&gt;Download for all available architectures&lt;/caption&gt;     &lt;tbody&gt;&lt;tr&gt;&lt;th&gt;Architecture&lt;/th&gt;    &lt;th&gt;Package Size&lt;/th&gt;  &lt;th&gt;Installed Size&lt;/th&gt;  &lt;th&gt;Files&lt;/th&gt;     &lt;/tr&gt;  &lt;tr&gt;  &lt;th&gt;&lt;a href="http://packages.ubuntu.com/gutsy/amd64/xvncviewer/download"&gt;amd64&lt;/a&gt;&lt;/th&gt;   &lt;td class="size"&gt;64.0 kB&lt;/td&gt;&lt;td class="size"&gt;220 kB&lt;/td&gt; &lt;td&gt;    [&lt;a href="http://packages.ubuntu.com/gutsy/amd64/xvncviewer/filelist"&gt;list of files&lt;/a&gt;]  &lt;/td&gt; &lt;/tr&gt;          &lt;tr&gt;  &lt;th&gt;&lt;a href="http://packages.ubuntu.com/gutsy/i386/xvncviewer/download"&gt;i386&lt;/a&gt;&lt;/th&gt;   &lt;td class="size"&gt;59.2 kB&lt;/td&gt;&lt;td class="size"&gt;208 kB&lt;/td&gt; &lt;td&gt;    [&lt;a href="http://packages.ubuntu.com/gutsy/i386/xvncviewer/filelist"&gt;list of files&lt;/a&gt;]  &lt;/td&gt; &lt;/tr&gt;          &lt;tr&gt;  &lt;th&gt;&lt;a href="http://packages.ubuntu.com/gutsy/powerpc/xvncviewer/download"&gt;powerpc&lt;/a&gt;&lt;/th&gt;   &lt;td class="size"&gt;67.8 kB&lt;/td&gt;&lt;td class="size"&gt;224 kB&lt;/td&gt; &lt;td&gt;    [&lt;a href="http://packages.ubuntu.com/gutsy/powerpc/xvncviewer/filelist"&gt;list of files&lt;/a&gt;]  &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Escogemos el que corresponte a nuestra arquitectura y lo descargamos.&lt;br /&gt;Instalamos el paquete. En un entorno gráfico con clicar encima ya se nos abre un instalador. Sino, podemos instalarlo desde consola con:&lt;br /&gt;&lt;pre&gt;sudo dpkg -i nombre_paquete_deb&lt;/pre&gt;Ahora sólo tenemos que poner en una consola&lt;br /&gt;&lt;pre&gt;/usr/bin/xrealvncviewer -listen&lt;/pre&gt;Y a funcionar otra vez.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-8870516906645812964?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/8870516906645812964/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=8870516906645812964' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/8870516906645812964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/8870516906645812964'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2009/01/singleclick-y-ubuntukubuntu.html' title='SingleClick y Ubuntu/Kubuntu'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-6482120820216816818</id><published>2009-01-13T09:18:00.004+01:00</published><updated>2009-01-13T16:24:02.064+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlite'/><title type='text'>Compactar las bases de datos SQLite de Firefox 3</title><content type='html'>Haciendo mi repaso diario de blogs, he encontrado un truco muy interesante.&lt;br /&gt;Firefox 3 usa bases de datos sqlite para almacenar su información. Pues de tanto entrar, salir, guardar y borrar al final las bases de datos van "engordando" en espacio que no se usa.&lt;br /&gt;Para arreglar esto podemos compactar las bases de datos, osea quitar el espacio que no se usa.&lt;br /&gt;Para ello debemos instalar&lt;br /&gt;&lt;pre&gt;$ sudo apt-get install sqlite3&lt;/pre&gt;&lt;br /&gt;Cerramos Firefox, y pasamos es siguiente script&lt;br /&gt;&lt;pre&gt;$ for f in ~/.mozilla/firefox/*/*.sqlite; do sqlite3 $f 'VACUUM;'; done&lt;/pre&gt;&lt;br /&gt;En mi caso conseguí reducir el espacio de los archivos más grandes de un 25%-30%. &lt;br /&gt;Al arrancar otra vez Firefox la verdad es que se notaba más ágil.&lt;br /&gt;A ver si vosotros notais lo mismo.&lt;br /&gt;&lt;br /&gt;Fuente: &lt;a href="http://ubuntulife.wordpress.com/2009/01/12/tip-compactar-las-bases-de-datos-sqlite-de-firefox-3/"&gt;UbuntuLife&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-6482120820216816818?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/6482120820216816818/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=6482120820216816818' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/6482120820216816818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/6482120820216816818'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2009/01/compactar-las-bases-de-datos-sqlite-de.html' title='Compactar las bases de datos SQLite de Firefox 3'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-5149787679051241528</id><published>2009-01-12T12:50:00.008+01:00</published><updated>2009-02-05T07:52:13.452+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='plasmoids'/><category scheme='http://www.blogger.com/atom/ns#' term='kde4'/><category scheme='http://www.blogger.com/atom/ns#' term='kubuntu'/><title type='text'>KDE4 : Instalando plasmoids de kde-look</title><content type='html'>Hace un par de días que actualicé mi máquina de trabajo a Intrepid. Sí, he tardado. Pero es que es la del trabajo, y hasta que las de casa han demostrado ser estable con KDE4 no quería arriesgarme.&lt;br /&gt;Bueno, continuo. Esta mañana al arrancar, he verificado que todo funcionara sin problemas. Hasta aquí todo correcto. Pero usándolo me doy cuenta que faltan un par de cosillas: Información climatológica y una barra de lanzamiendo rápido con múltiples filas. Buscando en &lt;a href="http://www.kde-look.org/"&gt;KDE-Look&lt;/a&gt; veo las dos soluciones, que ahora os contaré como instalar.&lt;br /&gt;&lt;br /&gt;Antes de empezar con los plasmoids (se llaman así estos añadidos de KDE4), tenemos que instalar algunas cosillas para poder generar los binarios.&lt;br /&gt;&lt;pre&gt;sudo aptitude install cmake build-essential kdelibs5-dev libplasma-dev kdebase-workspace-dev&lt;br /&gt; gettext&lt;br /&gt;&lt;/pre&gt;En el paso anterior es donde está el "truco". Luego os cuento el porqué.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Instalando Yet Another Weather Plasmoid&lt;/h2&gt;&lt;br /&gt;Descargamos de la &lt;a href="http://www.kde-look.org/content/show.php/yaWP+%28Yet+Another+Weather+Plasmoid%29?content=94106"&gt;web de yaWP&lt;/a&gt; el código fuente. Y seguimos los pasos que describe la instalación general.&lt;br /&gt;&lt;pre&gt;tar -xvf nombre_paquete.tar.gz&lt;br /&gt;cd nombre_carpeta_donde_se_descomprimió&lt;br /&gt;mkdir build&lt;br /&gt;cd build&lt;br /&gt;cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` ..&lt;br /&gt;make&lt;br /&gt;sudo make install&lt;/pre&gt;&lt;br /&gt;Con esto ya os tendría que salir en la lista de componentes instalables. Después de configurarlo, el resultado es este :&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eEVEXcbh2Ik/SWsn1YL3ULI/AAAAAAAAAEs/u2_2XwxViC4/s1600-h/yaWP.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 301px; height: 283px;" src="http://2.bp.blogspot.com/_eEVEXcbh2Ik/SWsn1YL3ULI/AAAAAAAAAEs/u2_2XwxViC4/s400/yaWP.jpg" alt="" id="BLOGGER_PHOTO_ID_5290365985255542962" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Chulo, no ? Hay otro en los repositorios, pero sólo da la temperatura y gracias.&lt;br /&gt;Aunque parece una chorrada, a las personas que he instalado Kubuntu les ha parecido interesante tener esta información. Y migrar de KDE 3.5 a KDE 4 sin poder igualar o mejorar este detalle es la diferencia entre el éxito y el fracaso para un usuario de a pie.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Instalando QuickLauncher Applet&lt;/h2&gt;&lt;br /&gt;El proceso es similar al anterior.&lt;br /&gt;&lt;pre&gt;tar -xvf nombre_paquete.tar.gz&lt;br /&gt;cd nombre_carpeta_donde_se_descomprimió&lt;br /&gt;mkdir build&lt;br /&gt;cd build&lt;br /&gt;cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` ../src&lt;br /&gt;make&lt;br /&gt;sudo make install&lt;/pre&gt;&lt;br /&gt;Fijaros que cuando llamamos a cmake la carpeta que indicamos es ../src y no ..&lt;br /&gt;Y el resultado es este:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eEVEXcbh2Ik/SWsq33cniFI/AAAAAAAAAE0/_hk80ztTkmw/s1600-h/ql.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 65px;" src="http://4.bp.blogspot.com/_eEVEXcbh2Ik/SWsq33cniFI/AAAAAAAAAE0/_hk80ztTkmw/s400/ql.jpg" alt="" id="BLOGGER_PHOTO_ID_5290369326541932626" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Comentaros que podeis añadir nuevas aplicaciones arrastrando desde el menú, o buscando en /usr/share/applications y sus carpetas.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Como arreglar un fallo de compilación&lt;/h2&gt;&lt;br /&gt;Resulta que lo que os he descrito como paso previo no te lo cuentan. Y es que pueden salir errores de este tipo.&lt;br /&gt;&lt;pre&gt;$ make&lt;br /&gt;[ 25%] Generating ui_quicklauncherAdd.h&lt;br /&gt;Generating quicklauncher.moc&lt;br /&gt;[ 25%] Generating ui_quicklauncherConfig.h&lt;br /&gt;[ 25%] Building CXX object CMakeFiles/plasma_applet_quicklauncher.dir/plasma_applet_quicklauncher_automoc.o&lt;br /&gt;[ 25%] Building CXX object CMakeFiles/plasma_applet_quicklauncher.dir/quicklauncher.o&lt;br /&gt;/home/users/xavier/Plasmoids/plasma-applet-quicklauncher-0.5/src/quicklauncher.cpp:26:35:&lt;br /&gt;error: kworkspace/kworkspace.h: No existe el fichero ó directorio&lt;br /&gt;make[2]: *** [CMakeFiles/plasma_applet_quicklauncher.dir/quicklauncher.o] Error 1&lt;br /&gt;make[1]: *** [CMakeFiles/plasma_applet_quicklauncher.dir/all] Error 2&lt;br /&gt;make: *** [all] Error 2&lt;/pre&gt;&lt;br /&gt;¿ Qué ha pasado ? Pues que no encuentra kworkspace.h&lt;br /&gt;¿ De donde lo sacamos ? Bueno, lo primero es localizar el paquete que lo incluye. Para eso necesitamos instalar apt-file.&lt;br /&gt;Una vez lo tenemos instalado, actualizamos el listado interno de búsqueda mediante&lt;br /&gt;&lt;pre&gt;$ sudo apt-file update&lt;/pre&gt;&lt;br /&gt;No os preocupeis si tarda un ratito. Es normal. Lo que hace es crear un listado con todos los archivos de todos los paquetes(.deb) de todos los repositorios que tenemos configurados.&lt;br /&gt;Ahora ya podemos pedirle que busque dónde está.&lt;br /&gt;&lt;pre&gt;$ apt-file find kworkspace.h&lt;br /&gt;kdebase-workspace-dev: /usr/include/kworkspace/kworkspace.h&lt;/pre&gt;&lt;br /&gt;Nos contesta que esta kdebase-workspace-dev. Pues lo instalamos y veremos que ya no da este error.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-5149787679051241528?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/5149787679051241528/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=5149787679051241528' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/5149787679051241528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/5149787679051241528'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2009/01/kde4-instalando-plasmoids-de-kde-look.html' title='KDE4 : Instalando plasmoids de kde-look'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_eEVEXcbh2Ik/SWsn1YL3ULI/AAAAAAAAAEs/u2_2XwxViC4/s72-c/yaWP.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-6396127646910287473</id><published>2009-01-07T09:56:00.008+01:00</published><updated>2009-01-24T17:33:37.849+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VirtualBox'/><category scheme='http://www.blogger.com/atom/ns#' term='SATA'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows XP'/><title type='text'>Discos SATA en XP virtualizado con VirtualBox (Rectificado)</title><content type='html'>El otro día, trasteando con VirtualBox 2.1, vi la opción que poder gestionar discos duros SATA.&lt;br /&gt;Total que me animé a configurar mi xp de la siguiente forma&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_eEVEXcbh2Ik/SWRxCcF3Z_I/AAAAAAAAAEk/oWdlBSAq00I/s1600-h/vbsata.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 312px;" src="http://3.bp.blogspot.com/_eEVEXcbh2Ik/SWRxCcF3Z_I/AAAAAAAAAEk/oWdlBSAq00I/s400/vbsata.jpg" alt="" id="BLOGGER_PHOTO_ID_5288476149154277362" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;De esta manera lo que conseguimos es que Windows XP no arranque. Y no es que el VirtualBox falle, no. El problema es que Windows no reconoce el SATA. Es decir, no tiene controladores para SATA.&lt;br /&gt;La solución es sencilla, instalar los controladores. Pero aun queda una cuestión a resolver. ¿ Exactamente qué controlador ? Pues &lt;a href="http://downloadcenter.intel.com/Detail_Desc.aspx?agr=N&amp;amp;ProductID=2101&amp;amp;DwnldID=16012&amp;amp;strOSs=All&amp;amp;OSFullName=All%20Operating%20Systems&amp;amp;lang=eng"&gt;este de Intel&lt;/a&gt; es el que funciona correctamente.&lt;br /&gt;&lt;br /&gt;Osea, configuramos nuestro disco duro como IDE, pero con el controlador SATA de la máquina virtual activado. Descargamos e instalamos el controlador de Windows de Intel. Y volvemos a configurar el disco como SATA.&lt;br /&gt;&lt;br /&gt;En teoría, configurado como un disco SATA debería es algo más rápido. Si alguien hace pruebas que me lo diga, a ver que sale.&lt;br /&gt;&lt;br /&gt;Fuente : &lt;a href="http://forums.virtualbox.org/viewtopic.php?p=42861#42861"&gt;Foro de VirtualBox&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-6396127646910287473?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/6396127646910287473/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=6396127646910287473' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/6396127646910287473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/6396127646910287473'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2009/01/discos-sata-en-xp-virtualizado-con.html' title='Discos SATA en XP virtualizado con VirtualBox (Rectificado)'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_eEVEXcbh2Ik/SWRxCcF3Z_I/AAAAAAAAAEk/oWdlBSAq00I/s72-c/vbsata.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-7511885877333741720</id><published>2009-01-07T09:37:00.003+01:00</published><updated>2009-01-07T10:39:59.377+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='consola'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Cómo cambiar el editor de textos predeterminado de consola</title><content type='html'>Se realiza mediante la sentencia&lt;br /&gt;&lt;pre&gt;sudo update-alternatives --config editor&lt;/pre&gt;&lt;br /&gt;Sale una lista, y escogeis el que más os guste.&lt;br /&gt;&lt;pre&gt;Hay 4 alternativas que proveen `editor'.&lt;br /&gt;&lt;br /&gt;Selección     Alternativa&lt;br /&gt;-----------------------------------------------&lt;br /&gt;        1    /usr/bin/vim.tiny&lt;br /&gt;        2    /bin/ed&lt;br /&gt;+        3    /bin/nano&lt;br /&gt;*         4    /usr/bin/mcedit-debian&lt;br /&gt;&lt;br /&gt;Pulse &lt;intro&gt; para mantener el valor por omisión [*] o pulse un número de selección:&lt;/intro&gt;&lt;/pre&gt;&lt;br /&gt;Así de sencillo.&lt;br /&gt;&lt;br /&gt;Fuente : &lt;a href="http://www.muylinux.com/2009/01/06/como-cambiar-el-editor-de-textos-predeterminado-en-ubuntu-y-debian/"&gt;muylinux - Cómo cambiar el editor de textos&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-7511885877333741720?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/7511885877333741720/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=7511885877333741720' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/7511885877333741720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/7511885877333741720'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2009/01/cmo-cambiar-el-editor-de-textos.html' title='Cómo cambiar el editor de textos predeterminado de consola'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-7013619683025746949</id><published>2008-12-31T10:00:00.000+01:00</published><updated>2008-12-31T08:21:31.393+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VirtualBox'/><category scheme='http://www.blogger.com/atom/ns#' term='Bridge'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>VirtualBox : enlazar la red en modo bridge con un host ubuntu (actualizado)</title><content type='html'>Hace poco que probé VirtualBox 2.0, y la verdad me gustó mucho. Trabajo con VMWare Server y tambien me gusta, pero eso de tener que parchearlo para que vaya, y repetir el proceso a cada cambio de kernel, por no decir que no es soft libre, me esta hartando un poco.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Una de los problemas de VirtualBox en un host Ubuntu es el modo bridge, que a diferencia de VMWare, lo tienes que configurar en el sistema a mano.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Un poco de conceptos&lt;/span&gt;&lt;br /&gt;¿ Que es un bridge ? Un puente o bridge es un dispositivo de interconexión de redes de ordenadores, haciendo el pasaje de datos de una red hacia otra, con base en la dirección física de destino de cada paquete.&lt;br /&gt;¿ Para que nos sirve con una máquina virtual ? Nos sirve para que la conexión de red de la mv se comporte como si fuera totalmente autónoma, pudiendo configurar cualquier IP y usar cualquier puerto. Para eso necesitaremos hacer un puente(bridge) con una conexión física existente.&lt;br /&gt;&lt;br /&gt;Segundo, instalaremos los paquetes necesarios&lt;br /&gt;&lt;pre&gt;sudo apt-get install vtun bridge-utils uml-utilities&lt;/pre&gt;&lt;br /&gt;Tenemos 2 maneras de configurarlo:&lt;br /&gt; 1. Creando el bridge en el arranque del ordenador.&lt;br /&gt; 2. Activando y desactivando el bridge con scripts.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Crear el bridge en el arranque&lt;/h3&gt;&lt;br /&gt;Es la manera más cómoda si no nos importan los inconvenientes.&lt;br /&gt;Hay que editar el archivo /etc/network/interfaces&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Para IP dinámica&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;auto lo&lt;br /&gt;iface lo inet loopback&lt;br /&gt;&lt;br /&gt;iface eth0 inet dhcp&lt;br /&gt;&lt;br /&gt;# Bridge&lt;br /&gt;auto br0&lt;br /&gt;iface br0 inet dhcp&lt;br /&gt;bridge_ports eth0&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Para IP fija&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;auto lo&lt;br /&gt;iface lo inet loopback&lt;br /&gt;&lt;br /&gt;iface eth0 inet static&lt;br /&gt;&lt;br /&gt;# Bridge&lt;br /&gt;auto br0&lt;br /&gt;iface br0 inet static&lt;br /&gt;address 192.168.0.2    #ip de nuestro ordenador&lt;br /&gt;netmask 255.255.255.0&lt;br /&gt;gateway 192.168.0.1    #ip del router o servidor enrutador&lt;br /&gt;bridge_ports eth0&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Sólo nos faltará enlazar el bridge con el VirtualBox de esta manera&lt;br /&gt;&lt;pre&gt;sudo VBoxAddIF vbox0 usuario br0&lt;/pre&gt;&lt;br /&gt;En usuario pondremos el usuario del host que vaya a ejecutar la máquina virtual.&lt;br /&gt;&lt;br /&gt;Hay que tener en cuenta alguna cosillas. Con esta configuración, realmente la configuración de br0 es la que estará activa, y no la de eth0. Por ejemplo, si quereis aplicar alguna regla como la de limitación de la conectividad a un usuario debeis hacerlo sobre br0.&lt;br /&gt;Otra limitación del modo bridge es que no podemos usar WOL (wake-on-lan). Es decir, no podremos arrancar remotamente nuestro ordenador a través de la red. Para esto mejor usaremos los scripts.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Crear el bridge con scripts&lt;/h3&gt;&lt;br /&gt;Tenemos otra manera de crear el bridge sin tener que tocar nuestra actual configuración de red, y es creandolo y destruyendolo con un script.&lt;br /&gt;Pondré por ahora sólo la configuración para IP fija, pero para IP dinámica es aún más sencillo.&lt;br /&gt;Creamos el archivo para crear el bridge como bridge-up.sh, y añadimos:&lt;br /&gt;&lt;pre&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;# creamos el bridge&lt;br /&gt;brctl addbr br0&lt;br /&gt;brctl addif br0 eth0&lt;br /&gt;&lt;br /&gt;# configuramos el bridge&lt;br /&gt;ifconfig br0 192.168.0.2 netmask 255.255.255.0  #ip de nuestro ordenador&lt;br /&gt;route add default gw 192.168.0.1 dev br0   #ip del router o servidor enrutador&lt;br /&gt;&lt;br /&gt;# iniciamos/reiniciamos las conexiones implicadas&lt;br /&gt;ifconfig eth0 down&lt;br /&gt;ifconfig eth0 up&lt;br /&gt;ifconfig br0 up&lt;br /&gt;&lt;br /&gt;# enlazamos con VirtualBox&lt;br /&gt;VBoxAddIF vbox0 usuario br0&lt;/pre&gt;&lt;br /&gt;Le damos permisos de ejecución.&lt;br /&gt;&lt;pre&gt;sudo chmod 770 bridge-up.sh&lt;/pre&gt;&lt;br /&gt;Y lo ejecutamos como superusuario.&lt;br /&gt;Esto se puede hacer via SSH, pero debeis poner la misma ip en el bridge que en eth0 para que no se corte la conexión. Igualmente, cuando ejecuteis el script tardará unos segundos en quedar la consola operativa. No os asusteis. Es normal. Si hemos iniciado la sesión SSH con modo gráfico (-X) podremos ejecutar nuestra máquinas virtuales normalmente. Sino, podemos acceder a ellas mediante RDP arrancandolas como VBoxHeadless y usando un cliente RDP.&lt;br /&gt;&lt;br /&gt;Despues de apagar la máquina virtual, tendremos que ejecutar un script para dejarlo todo como estaba. Lo llamaremos bridge-down.sh&lt;br /&gt;&lt;pre&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;# desenlazamos con VirtualBox&lt;br /&gt;VBoxDeleteIF vbox0&lt;br /&gt;&lt;br /&gt;# eliminamos la puerta de enlace del bridge&lt;br /&gt;route del default gw 192.168.0.1 dev br0&lt;br /&gt;&lt;br /&gt;# desconectamos el bridge y lo eliminamos&lt;br /&gt;ifconfig br0 down&lt;br /&gt;brctl delif br0 eth0&lt;br /&gt;brctl delbr br0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#deberia ser suficiente con esto&lt;br /&gt;#  ifconfig eth0 up&lt;br /&gt;#pero como tambien tenemos instalado el vmware tendremos&lt;br /&gt;#que reiniciar todas las conexiones, al menos a mi me pasa&lt;br /&gt;ifdown -a --force&lt;br /&gt;ifup -a --force&lt;/pre&gt;&lt;br /&gt;Le damos permisos de ejecución.&lt;br /&gt;&lt;pre&gt;sudo chmod 770 bridge-down.sh&lt;/pre&gt;&lt;br /&gt;Y lo ejecutamos como superusuario.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Conclusión&lt;/h3&gt;&lt;br /&gt;Podemos enlazar nuestras máquinas virtuales de VirtualBox en modo bridge de varias maneras, cosa que nos permitirá tener nuestro guest como si fuera un ordenador más de nuestra red.&lt;br /&gt;Os recomiendo el primer método para máquinas virtuales que tengan que arrancar solas una vez iniciado el pc. El segundo es mejor para estaciones de trabajo en que habramos las mv en un momento dado.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Actualización (31/12/2008)&lt;/h3&gt;&lt;br /&gt;A partir de la versión 2.1 esto ya no es necesario. Se puede crear el bridge automáticamente y de manera transparente en la misma ventana de configuración de la máquina virtual. Así la versión de Linux se iguala a la versión Windows en este aspecto. Esperemos que a partir de ahora las mejoras vayan a la par.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-7013619683025746949?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/7013619683025746949/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=7013619683025746949' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/7013619683025746949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/7013619683025746949'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2008/09/auto-lo-iface-lo-inet-loopback-auto.html' title='VirtualBox : enlazar la red en modo bridge con un host ubuntu (actualizado)'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-9079204292366690589</id><published>2008-12-07T20:18:00.004+01:00</published><updated>2008-12-07T21:19:45.227+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wesnoth'/><title type='text'>Como regenerar un turno jugable en Wesnoth</title><content type='html'>Primero de todo. Lo siento. Actualmente no tengo tiempo de preparar artículos con la profundidad que me gustaría, así que a partir de ahora, os iré poniendo trucos que, al menos a mí, resultan útiles. Serán pequeñas soluciones a pequeños problemas que muchas veces nos bloquean un proyecto de más embergadura.&lt;br /&gt;Hoy le toca al ocio.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Problema&lt;/span&gt;&lt;br /&gt;Tenemos una repetición guardada de un nivel de juego de &lt;a href="http://www.wesnoth.org/"&gt;Wesnoth&lt;/a&gt;. Queremos jugar a partir de turno determinado de ese nivel que ya hemos pasado. ¿ Porqué ? Pues porque en el nivel siguiente necesitamos algo que perdimos o no cogimos en el nivel de la repetición.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Solución &lt;/span&gt;(Versión para Linux)&lt;br /&gt;&lt;br /&gt;En realidad, la solución es mucho más simple de lo que parece.&lt;br /&gt;&lt;br /&gt;1. Cargamos la repetición, y le vamos dando hasta llegar al turno que necesitamos revivir. Cuendo lleguemos, le damos a guardar turno. Lo que conseguimos es tener guardado un nivel en un turno de la repetición. Esto es casi lo que queríamos. Si recuperamos ese turno, no nos deja jugar, claro, porque es de una repetición.&lt;br /&gt;&lt;br /&gt;2. Descomprimimos la partida guardada. Salta al paso siguiente si no guardas las partidas comprimidas.&lt;br /&gt;Nos metemos en la carpeta donde se encuentran las partidas guardadas.&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;$ cd ~/.wesnoth/saves/&lt;/span&gt;&lt;br /&gt;Descomprimimos la partida.&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;$ gunzip -dv TRoW-El_dragón_Turno_repetición_17.gz&lt;/span&gt;&lt;br /&gt;Le ponemos un nombre decente.&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;$ mv TRoW-El_dragón_Turno_repetición_17&lt;/span&gt; &lt;span style="font-family:trebuchet ms;"&gt;TRoW-El_dragón_Turno_17&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3. Modificamos el archivo para poder jugar desde ese turno. El editor es lo de menos&lt;br /&gt;$ nano &lt;span style="font-family:trebuchet ms;"&gt;TRoW-El_dragón_Turno_17&lt;/span&gt;&lt;br /&gt;Aquí tenemos que modificar la linea que pone&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;  completion="victory"&lt;/span&gt;&lt;br /&gt;por&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;  completion="running"&lt;/span&gt;&lt;br /&gt;y guardamos. La linea está al principio del archivo.&lt;br /&gt;&lt;br /&gt;4. Comprimimos la partida guardada. Salta al paso siguiente si no guardas las partidas comprimidas.&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;  $ gzip TRoW-El_dragón_Turno_17&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;5. Cargamos normalmente la partida. Por arte de magia nos dejará seguir jugando.&lt;br /&gt;&lt;br /&gt;Hasta pronto !!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-9079204292366690589?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/9079204292366690589/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=9079204292366690589' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/9079204292366690589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/9079204292366690589'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2008/12/como-regenerar-un-turno-jugable-en.html' title='Como regenerar un turno jugable en Wesnoth'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-4382344951095700341</id><published>2008-10-28T19:11:00.011+01:00</published><updated>2008-12-07T12:27:59.582+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Virus'/><category scheme='http://www.blogger.com/atom/ns#' term='SystemRescueCD'/><title type='text'>Mi Windows tiene virus : Linux sálvame !!!</title><content type='html'>¿ Y que pasa cuando Windows "enferma" ? ¿ Que debo hacer ? ¿ Como lo curo ?&lt;br /&gt;Lo primero apagar el ordenador, si es que hemos logrado arrancarlo. La idea es no arrancar un sistema infectado, y menos conectado a una red. Así que nada de : me bajo un antivirus de internet, lo instalo y arreglado. Precisamente eso es lo que no hay que hacer porque no tendremos la seguridad de que el mismo virus no infecte el antivirus y empeorar el problema.&lt;br /&gt;&lt;br /&gt;Entonces, que hago ? Lo que necesitamos es un arranque en CD (cdlive) que contenga un antivirus actualizado que podamos usar en el disco duro. Si tubiera que resolver esto antes de conocer Linux lo haría con &lt;a href="http://www.nu2.nu/pebuilder/"&gt;BartPE&lt;/a&gt; , el cual permite arrancar un Windows XP "básico" y correr pequeñas utilidades, como gestores de archivos, navegadores, antivirus, etc. Pero hoy ya no sería esa mi respuesta, porque BartPE parece un proyecto abandonado, y que en muchas utilidades que se son interesantes de usar requieren licencia, por ejemplo norton ghost, mcafee virusscan, etc.&lt;br /&gt;&lt;br /&gt;Y la respuesta sería, tachaaaaaaaaaaan !!! LINUX (como siempre). En concreto mi querido &lt;a href="http://www.sysresccd.org/P%C3%A1gina_principal"&gt;SystemRescueCd&lt;/a&gt;, que como ya hemos hablado es un sistema Gnu/linux arrancable desde cdrom que sirve para reparar tu sistema y recuperar tus datos despues de un fallo, ademas de otras utilidades. Pues en este caso usaremos el antivirus que lleva incorporado, que es ClamAV. Pues allá vamos :&lt;br /&gt;&lt;h3&gt; Material necesario &lt;/h3&gt;&lt;li&gt;Un cd-rom con SystemRescueCd. Como nuestro sistema está infectado, nos lo descargamos en casa del vecino.&lt;/li&gt;&lt;li&gt;Para tener actualizado el antivirus, internet y/o una memoria USB&lt;/li&gt;&lt;h3&gt; Preparar el entorno &lt;/h3&gt;Arrancamos con el cd, hasta la consola linux. Acordaros de poner 13 a mitad del arranque para configurar el teclado en Español.&lt;br /&gt;&lt;br /&gt;Creamos un par de directorios temporales&lt;br /&gt;&lt;pre&gt;mkdir /virdefs /mnt/infectado&lt;/pre&gt;Para que un antivirus sirva de algo debemos tenerlo actualizado.&lt;br /&gt;&lt;br /&gt;Aquí tenemos 2 opciones :&lt;br /&gt;1. Actualizarnos cada vez conectándonos a internet mediante&lt;br /&gt;&lt;pre&gt;freshclam --datadir /virdefs&lt;/pre&gt;2. Grabar los 2 archivos que necesitamos desde la página de &lt;a href="http://www.clamav.com/"&gt;ClamAV&lt;/a&gt; y los copiamos en una memoria USB, para pasarlos luego a la carpeta /virdefs. Esto es útil si queremos evitar bajarnos de internet las 20 MB (aprox.) que ocupan la definición de virus.&lt;br /&gt;&lt;br /&gt;Para ver las particiones que tenemos y como la identifica el sistema ponemos&lt;br /&gt;&lt;pre&gt;fdisk -l&lt;/pre&gt;En mi caso, el disco duro tiene 3 particiones ntfs en /dev/sda2, /dev/sda5 y /dev/sda6, y la de la memoria USB directamente como /dev/sdb.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Siguiendo con el segundo plan, descargo los archivos main.cvd y daily.cvd, y los copio en la carpeta /virdefs de mi memoria USB. Lo más sencillo es descargarlos desde otro ordenador, pero también podemos hacerlo directamente en la carpeta que queramos con&lt;br /&gt;&lt;pre&gt;wget http://db.local.clamav.net/main.cvd&lt;br /&gt;wget http://db.local.clamav.net/daily.cvd&lt;/pre&gt;Recordad que para activar la red desde SystemRescueCD es con&lt;br /&gt;&lt;pre&gt;net-setup eth0&lt;/pre&gt;Montamos la memoria USB&lt;br /&gt;&lt;pre&gt;mount /dev/sdb /mnt/custom&lt;/pre&gt;Copiamos las definiciones&lt;br /&gt;&lt;pre&gt;cp /mnt/custom/virdefs/* /virdefs&lt;/pre&gt;Montamos la partición infectada, pero ojo!, con escritura para ntfs.&lt;br /&gt;&lt;pre&gt;ntfs-3g /dev/sda6 /mnt/infectado&lt;/pre&gt;&lt;h3&gt; Antivirus, al ataquerrrrrr !!! &lt;/h3&gt;Yo uso el antivirus así&lt;br /&gt;&lt;pre&gt;clamscan -d /virdefs -r -i --remove -l /virdefs/clamav.log /mnt/infectado&lt;/pre&gt;Clamscan tiene un montón parámetros opcionales.&lt;br /&gt;Os explico los que me parecen más interesantes&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;-d &lt;ruta&gt;&lt;/ruta&gt;&lt;/td&gt;&lt;td&gt;Donde tenemos los archivos de definición de los virus&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;-r&lt;/td&gt;&lt;td&gt;Escanea recursivamente (las subcarpetas pa los de Windows)&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;-i&lt;/td&gt;&lt;td&gt;Solo muestra los archivos infectados. Osea que se puede tirar un buen rato sin sacar nada por pantalla.&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;--remove&lt;/td&gt;&lt;td&gt;Elimina el archivo infectado. Hay que tener cuidado con esta opción porque nos puede borrar documentos importantes. Otra opción puede ser usar --move&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;--move=&lt;ruta&gt;&lt;/ruta&gt;&lt;/td&gt;&lt;td&gt;Mueve los archivos infectados.&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;--l &lt;archivo&gt;&lt;/archivo&gt;&lt;/td&gt;&lt;td&gt;Guarda el informe del escaneo&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Para ver más opciones mirad el manual&lt;br /&gt;&lt;pre&gt;man clamscan&lt;/pre&gt;Para desmontar haremos&lt;br /&gt;&lt;pre&gt;umount /mnt/infectado&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;RECOMENDACIONES NO OPCIONALES :P &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Debeis escanear todas las unidades del disco duro a las que vuestro Windows tiene acceso.&lt;br /&gt;Lo primero que debeis hacer al arrancar Windows es instalaros un antivirus y actualizarlo.  Arrancar a Modo prueba de fallos (opción que sale al arrancar Windows con F8) y pasar el antivirus a todas las particiones.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Conclusión&lt;/h3&gt;En Linux no solo no hay estos problemas, sino que a demás nos ayuda con los problemas de seguridad Windows.&lt;br /&gt;&lt;br /&gt;Moraleja, usa Linux.&lt;br /&gt;&lt;br /&gt;Enlace relacionado &lt;a href="http://www.sysresccd.org/Sysresccd-manual-es_Software_del_Sistema"&gt;http://www.sysresccd.org/Sysresccd-manual-es_Software_del_Sistema&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-4382344951095700341?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/4382344951095700341/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=4382344951095700341' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/4382344951095700341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/4382344951095700341'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2008/10/mi-windows-tiene-virus-linux-salvame.html' title='Mi Windows tiene virus : Linux sálvame !!!'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-5031189570154813082</id><published>2008-09-07T16:32:00.002+02:00</published><updated>2008-09-07T16:36:28.282+02:00</updated><title type='text'>Cambiando de "casa"</title><content type='html'>Hoy he migrado el blog aquí.&lt;br /&gt;Los motivos son básicamente técnicos : el intento de crear blogs a partir de dokuwiki consumía demasiado tiempo, tiempo del que actualmente no dispongo.&lt;br /&gt;Así que una vez más he depositado mi confianza en Google, que por ahora me a dado muchísimas más alegrias que tristezas.&lt;br /&gt;&lt;br /&gt;¿ Por cierto que os parece la nueva estética ?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-5031189570154813082?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/5031189570154813082/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=5031189570154813082' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/5031189570154813082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/5031189570154813082'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2008/09/cambiando-de-casa.html' title='Cambiando de &quot;casa&quot;'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-5507630298267010172</id><published>2008-09-02T11:07:00.000+02:00</published><updated>2008-09-07T11:42:23.140+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firestarter'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='hardy'/><title type='text'>Firestarter y Ubuntu 8.04 Hardy</title><content type='html'>&lt;div class="level1"&gt;  &lt;p&gt; Esta semana estoy actualizando diferentes máquinas de 7.10 a 8.04. Ya se que es un poco tarde, pero no me gustaba la idea de actualizar a un usuario normal a un Firefox beta.&lt;br /&gt;&lt;br /&gt;Al hacerlo me he encontrado con un par de problemas con firestarter. Y como no me voy a acordar, y alguien más tambien le puede servir, pues ala, soluciones al canto. &lt;/p&gt;  &lt;/div&gt;  &lt;h2&gt;&lt;a name="no_encuentra_conexion" id="no_encuentra_conexion"&gt;No encuentra conexión&lt;/a&gt;&lt;/h2&gt;   &lt;p&gt;  Esto de debe a que el sistema por defecto es en ingles, y nosotros, pobres mortales, en español.&lt;br /&gt;Para solucionarlo :&lt;br /&gt;1. Editar el script &lt;/p&gt; &lt;pre class="code"&gt;sudo kate /etc/firestarter/firestarter.sh&lt;/pre&gt;  &lt;p&gt; 2. Cambiar Mas por Más en esta linea (a principio de archivo) &lt;/p&gt; &lt;pre class="code"&gt;MASK=`/sbin/ifconfig $IF | grep Mas | cut -d : -f 4`&lt;/pre&gt;  &lt;p&gt; así &lt;/p&gt; &lt;pre class="code"&gt;MASK=`/sbin/ifconfig $IF | grep Más | cut -d : -f 4`&lt;/pre&gt;  &lt;p&gt; 3. Cambiar Mas por Más en esta otra linea (a principio de archivo) &lt;/p&gt; &lt;pre class="code"&gt;INMASK=`/sbin/ifconfig $INIF | grep Mas | cut -d : -f 4`&lt;/pre&gt;  &lt;p&gt; así &lt;/p&gt; &lt;pre class="code"&gt;INMASK=`/sbin/ifconfig $INIF | grep Más | cut -d : -f 4`&lt;/pre&gt;  &lt;p&gt; 4. Guardar e iniciar el servicio &lt;/p&gt; &lt;pre class="code"&gt;sudo /etc/init.d/firestarter start&lt;/pre&gt;  &lt;p&gt;  &lt;strong&gt;ATENCION&lt;/strong&gt; La solución antes citada, aunque funciona cuando arrancas el firestarter manualmente o al empezar la sesión, no funciona si la arrancamos como servicio porque los sercivios se arrancan en inglés. Entonces, es una mala solución configurar el script para español. Lo mejor es configurar para que funcione en inglés tal y como explican en el &lt;a href="https://bugs.launchpad.net/ubuntu/+source/firestarter/+bug/174436" class="urlextern" title="https://bugs.launchpad.net/ubuntu/+source/firestarter/+bug/174436" rel="nofollow"&gt;Launchpad&lt;/a&gt;. Entonces lo que hay que hacer es añadir esto a principio del archivo /etc/firestarter/firestarter.sh para que ejecute el script en el lenguaje base (inglés) : &lt;/p&gt; &lt;pre class="code"&gt;# Load base lenguage&lt;br /&gt;export LC_ALL=C&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-5507630298267010172?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/5507630298267010172/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=5507630298267010172' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/5507630298267010172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/5507630298267010172'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2008/09/firestarter-y-kubuntu-804-hardy.html' title='Firestarter y Ubuntu 8.04 Hardy'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-5768263520547149402</id><published>2008-07-24T11:06:00.000+02:00</published><updated>2008-09-07T11:45:02.411+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='control parental'/><category scheme='http://www.blogger.com/atom/ns#' term='iptables'/><title type='text'>Bloquear internet a un usuario</title><content type='html'>&lt;p&gt;  En realidad sería más correcto decir cortar toda comunicación a un usuario.&lt;br /&gt;El motivo de esto es simple : un niño de 5 añitos no esta preparado a tener acceso a internet, incluidos chats y páginas de todo tipo.&lt;br /&gt;&lt;br /&gt;Para realizar el bloqueo editamos el archivo &lt;em class="u"&gt;/etc/network/interfaces&lt;/em&gt; y añadimos junto debajo de la conexión que queramos esta linea : &lt;/p&gt; &lt;pre class="code"&gt;pre-up iptables -A OUTPUT -p tcp -m owner --uid-owner usuario -j DROP&lt;/pre&gt;  &lt;p&gt; Hay que sustituir &lt;em&gt;usuario&lt;/em&gt; por el nombre de usuario que queramos y reiniciar el servicio de red con &lt;em class="u"&gt;/etc/init.d/networking restart&lt;/em&gt;&lt;br /&gt;El resultado final podría ser este &lt;/p&gt; &lt;pre class="code"&gt;auto eth0&lt;br /&gt;iface eth0 inet dhcp&lt;br /&gt;pre-up iptables -A OUTPUT -p tcp -m owner --uid-owner joan -j DROP&lt;/pre&gt;  &lt;p&gt; Os recuerdo que debeis quitarle derechos de administrador al usuario que queremos limitar. Sino él mismo podrá desbloquear la conexión. &lt;/p&gt;  &lt;p&gt; &lt;em class="u"&gt;&lt;strong&gt;ACTUALIZACION&lt;/strong&gt;&lt;/em&gt; Poco después de añadir este post me surgió un nuevo problema.&lt;br /&gt;¿ Y no que queremos que tenga acceso a internet pero si a la red interna ? Es que los juegos en red son los más guais, eso me lo teneis q reconocer.&lt;br /&gt;Bueno, manos a la obra. Sería bloquear todo lo q este fuera de nuestro rango, en este caso 192.168.0.0/24, y quedaría así &lt;/p&gt; &lt;pre class="code"&gt;pre-up iptables -A OUTPUT -p tcp -d ! 192.168.0.0/24 -m owner --uid-owner joan -j DROP&lt;/pre&gt;  &lt;p&gt; Con -d le marcamos el destino a bloquear, y con ! que no sea. Por tanto   &lt;/p&gt; &lt;pre class="code"&gt;-d ! 192.168.0.0/24&lt;/pre&gt;  &lt;p&gt;  Y a jugar !!! &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-5768263520547149402?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/5768263520547149402/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=5768263520547149402' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/5768263520547149402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/5768263520547149402'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2008/07/bloquear-internet-un-usuario.html' title='Bloquear internet a un usuario'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-6528287454116905548</id><published>2008-07-24T11:04:00.001+02:00</published><updated>2008-10-03T17:49:43.201+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firebird'/><category scheme='http://www.blogger.com/atom/ns#' term='wine'/><category scheme='http://www.blogger.com/atom/ns#' term='csharp'/><title type='text'>.NET Framework 2.0 sobre Linux con Wine (Actualizado)</title><content type='html'>&lt;div class="level1"&gt;  &lt;p&gt;  Visto el interés de algunos por saber más del tema, os cuento la jugada.&lt;br /&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;h2&gt;&lt;a name="introduccion" id="introduccion"&gt;Introducción&lt;/a&gt;&lt;/h2&gt; &lt;div class="level2"&gt;  &lt;p&gt;  Como ya sabreis, se puede hacer correr código c# nativamente con &lt;a href="http://www.mono-project.com/" class="urlextern" title="http://www.mono-project.com" rel="nofollow"&gt;mono&lt;/a&gt;, pero sólo ejecuta c#. Es decir, si el código que tenemos llama en algún momento a algo que no sea .NET 100%, mono da un error de ejecución. &lt;img src="http://www.clientescc.com/lib/images/smileys/icon_sad.gif" class="middle" alt=":-(" /&gt;&lt;br /&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;h2&gt;&lt;a name="problema" id="problema"&gt;Problema&lt;/a&gt;&lt;/h2&gt; &lt;div class="level2"&gt;  &lt;p&gt; ¿ Que problema tenemos el trabajo ? usamos el paquete de controles que, aunque se anunciaban como 100% .NET, en realidad hacen llamadas a la &lt;acronym title="Application Programming Interface"&gt;API&lt;/acronym&gt; de windows. &lt;img src="http://www.clientescc.com/lib/images/smileys/icon_confused.gif" class="middle" alt=":-?" /&gt;&lt;br /&gt;Así que sobre Linux no funcionarán. &lt;/p&gt;  &lt;/div&gt;  &lt;h2&gt;&lt;a name="solucion" id="solucion"&gt;Solución&lt;/a&gt;&lt;/h2&gt; &lt;div class="level2"&gt;  &lt;p&gt;  Si Mahoma no va a la montaña, la montaña va a Mahoma.&lt;br /&gt;En vez de intentar ejecutar de forma nativa con mono, lo ejecutamos como windows pero sobre linux con el emulador/traductor &lt;a href="http://www.winehq.org/" class="urlextern" title="http://www.winehq.org" rel="nofollow"&gt;Wine&lt;/a&gt;.&lt;br /&gt;Hasta hace poco esto no era posible, pero ahora la gente de Wine han conseguido hacer correr &lt;a href="http://appdb.winehq.org/objectManager.php?sClass=version&amp;amp;iId=3754" class="urlextern" title="http://appdb.winehq.org/objectManager.php?sClass=version&amp;amp;iId=3754" rel="nofollow"&gt;Framework 2.0&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Vamos a ver como. Para instalar seguimos los siguientes pasos :&lt;br /&gt;&lt;br /&gt;1. Instalamos wine v1.0. La versión de repositorio de Ubuntu/Kubuntu 8.04 ya nos sirve. 2. Descargamos la última versión de &lt;a href="http://wiki.winehq.org/winetricks" class="urlextern" title="http://wiki.winehq.org/winetricks" rel="nofollow"&gt;winetricks&lt;/a&gt; &lt;/p&gt; &lt;pre class="code"&gt;wget http://www.kegel.com/wine/winetricks&lt;/pre&gt;  &lt;p&gt; 3. Instalamos &lt;acronym title="Microsoft"&gt;MS&lt;/acronym&gt; Installer 2.0  &lt;/p&gt; &lt;pre class="code"&gt;sh winetricks msi2&lt;/pre&gt;  &lt;p&gt; 4. Instalamos Framework 2.0 ( OJO, la versión SP1 no funciona ) &lt;/p&gt; &lt;pre class="code"&gt;sh winetricks win2k&lt;br /&gt;sh winetricks corefonts dotnet20&lt;br /&gt;sh winetricks winxp&lt;/pre&gt;  &lt;p&gt; 5. Copiamos los archivos necesarios a Linux. Las dll, exe y el resto de archivos (configuración, imagenes, etc) si los hay.&lt;br /&gt;6. Nos vamos a la carpeta y ejecutamos  &lt;/p&gt; &lt;pre class="code"&gt;wine nuestra_aplicación.exe &lt;/pre&gt;  &lt;p&gt; Sencillo, no ? &lt;/p&gt;  &lt;/div&gt;  &lt;h2&gt;&lt;a name="conclusion" id="conclusion"&gt;Conclusión&lt;/a&gt;&lt;/h2&gt;   &lt;p&gt;  Si nuestra única limitación era la de llamadas a la &lt;acronym title="Application Programming Interface"&gt;API&lt;/acronym&gt; de Windows desde nuestro programa realizado con Framework 2.0, ya podemos correr nuestras aplicaciones sobre linux+wine sin problemas.&lt;br /&gt;No hacen falta máquinas virtuales ni sesiones remotas. Sólo Linux. (El tema de las licencias es otra historia).&lt;br /&gt;&lt;br /&gt;Para los que usais bases de datos, os recomiendo usar alguna que funcione bajo linux y tenga controlador para .NET 2.0.&lt;br /&gt;En concreto yo uso Firebird 2.1 para Linux, y no tengo ningún problema. &lt;/p&gt;  &lt;p&gt; Espero que este hallazgo os de tantas alegrías como a mí. (O más &lt;img src="http://www.clientescc.com/lib/images/smileys/icon_biggrin.gif" class="middle" alt=":-D" /&gt; ) &lt;/p&gt; &lt;span&gt;  &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-6528287454116905548?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/6528287454116905548/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=6528287454116905548' title='13 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/6528287454116905548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/6528287454116905548'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2008/07/net-framework-20-sobre-linux-con-wine.html' title='.NET Framework 2.0 sobre Linux con Wine (Actualizado)'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-5767663371860857037</id><published>2008-07-24T11:02:00.000+02:00</published><updated>2008-09-07T11:45:55.354+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='multimedia'/><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='kubuntu'/><title type='text'>Reproducir multimedia desde Firefox</title><content type='html'>&lt;p&gt;  Justo estaba mirando esta mañana los blogs amigos, cuando me encuentro con &lt;a href="http://lasnoyas.wordpress.com/2008/06/25/luis-aragones-y-media-markt" class="urlextern" title="http://lasnoyas.wordpress.com/2008/06/25/luis-aragones-y-media-markt" rel="nofollow"&gt;este comentario&lt;/a&gt;. He pensado : &lt;em class="u"&gt;esto no me lo pierdo&lt;/em&gt;.&lt;br /&gt;Pero ups … Al cargar la página ha salido la típica ficha de juego de construcción gris indicando que no tenía el plugin. Como mucho sabeis, uso kubuntu y para navegar firefox (actualmente 3.0). Pues nada, ajo y agua. O ... buscar una solución.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Y, jejeje, claro que la hay. Se trata de instalar el paquete &lt;strong&gt;mozilla-mplayer&lt;/strong&gt; del &lt;em class="u"&gt;repositorio multiverse&lt;/em&gt;. Nos instalará plugins para DivX, RealPlayer, QuickTime y Windows Media, y algunos más que ya nos reproducía mplayer.&lt;br /&gt;Sólo nos quedará configurarlo. Para ello haremos click con la derecha encima del plugin. (A mí me sale sólo un cuadrado en gris la primera vez que cargo la página). Le damos a configurar, y asignamos : &lt;/p&gt; &lt;ul&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; salida de video : gl&lt;/div&gt; &lt;/li&gt;&lt;li class="level1"&gt;&lt;div class="li"&gt; salida de audio : alsa&lt;/div&gt; &lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;Si no se pone ha reproducir automáticamente (esperando a que llene cache, claro), podemos darle con el botón de la derecha … y a disfrutar. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-5767663371860857037?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/5767663371860857037/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=5767663371860857037' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/5767663371860857037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/5767663371860857037'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2008/07/reproducir-multimedia-desde-firefox.html' title='Reproducir multimedia desde Firefox'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-8906490327041749996</id><published>2008-07-23T11:09:00.000+02:00</published><updated>2008-09-07T11:47:12.490+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='repositorios'/><category scheme='http://www.blogger.com/atom/ns#' term='apt-cacher'/><title type='text'>Simplificando el cliente de apt-cacher</title><content type='html'>Hoy, configurando clientes para usar con apt-cacher, me he dado cuenta que a veces nos complicamos demasiado la vida.&lt;br /&gt;En el trabajo, cuando viene una máquina configurada con este sistema, o simplemente instalando una nueva, nos toca estar retocando las lineas que apuntan al servicio apt-cacher cuando en realidad, si lo hacemos con las opciones que nos da apt, podemos hacerlo de una manera más sencilla.&lt;br /&gt;El método está explicado en la wiki como &lt;a href="http://www.clientescc.com/doku.php?id=admin:servers:services:aptcacher#configuracion_de_los_clientes" class="urlextern" title="http://www.clientescc.com/doku.php?id=admin:servers:services:aptcacher#configuracion_de_los_clientes" rel="nofollow"&gt;método 2&lt;/a&gt;.&lt;br /&gt;Consiste simplemente en no tocar nada de los archivos que indican los repositorios, e indicar a apt que use un proxy.&lt;br /&gt;Así de simple. &lt;img src="http://www.clientescc.com/lib/images/smileys/icon_biggrin.gif" class="middle" alt=":-D" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-8906490327041749996?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/8906490327041749996/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=8906490327041749996' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/8906490327041749996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/8906490327041749996'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2008/07/simplificando-el-cliente-de-apt-cacher.html' title='Simplificando el cliente de apt-cacher'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-3348335334882990595</id><published>2008-06-25T10:45:00.000+02:00</published><updated>2008-09-07T11:47:42.138+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tango'/><category scheme='http://www.blogger.com/atom/ns#' term='csharp'/><title type='text'>Paleta de Colores Tango en C#</title><content type='html'>Mi primer artículo sobre programación.&lt;br /&gt;Es algo relativamente simple, pero que hay que hacerlo. El código propuesto implementa los colores de la paleta del proyecto &lt;a href="http://tango.freedesktop.org/Tango_Desktop_Project" class="urlextern" title="http://tango.freedesktop.org/Tango_Desktop_Project" rel="nofollow"&gt;Tango&lt;/a&gt;.&lt;br /&gt;Esto es muy útil si usais iconos Tango, o del mismo estilo, y necesitáis colorear zonas con sólidos o degradados desde código.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://tango.freedesktop.org/static/cvs/tango-art-tools/palettes/Tango-Palette.png"&gt;&lt;img style="cursor: pointer; width: 647px; height: 647px;" src="http://tango.freedesktop.org/static/cvs/tango-art-tools/palettes/Tango-Palette.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Código&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;pre class="code c#"&gt;using System;&lt;br /&gt;using System.&lt;span class="me1"&gt;Drawing&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;namespace CC.&lt;span class="me1"&gt;Drawing&lt;/span&gt;&lt;br /&gt;&lt;span class="br0"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span class="co1"&gt;/// &lt;summary&gt;&lt;/summary&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="co1"&gt;/// Paleta de colores propuestos en http://tango.freedesktop.org/Tango_Desktop_Project&lt;/span&gt;&lt;br /&gt;&lt;span class="co1"&gt;/// &lt;/span&gt;&lt;br /&gt;public &lt;span class="kw4"&gt;struct&lt;/span&gt; Tango&lt;br /&gt;&lt;span class="br0"&gt;{&lt;/span&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color FromKnown&lt;span class="br0"&gt;(&lt;/span&gt;KnownTango color&lt;span class="br0"&gt;)&lt;/span&gt;&lt;br /&gt;   &lt;span class="br0"&gt;{&lt;/span&gt;&lt;br /&gt;      &lt;span class="kw1"&gt;switch&lt;/span&gt; &lt;span class="br0"&gt;(&lt;/span&gt;color&lt;span class="br0"&gt;)&lt;/span&gt;&lt;br /&gt;      &lt;span class="br0"&gt;{&lt;/span&gt;&lt;br /&gt;         &lt;span class="kw1"&gt;case&lt;/span&gt; KnownTango.&lt;span class="me1"&gt;Butter1&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Butter1;&lt;br /&gt;         &lt;span class="kw1"&gt;case&lt;/span&gt; KnownTango.&lt;span class="me1"&gt;Butter2&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Butter2;&lt;br /&gt;         &lt;span class="kw1"&gt;case&lt;/span&gt; KnownTango.&lt;span class="me1"&gt;Butter3&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Butter3;&lt;br /&gt;         &lt;span class="kw1"&gt;case&lt;/span&gt; KnownTango.&lt;span class="me1"&gt;Chameleon1&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Chameleon1;&lt;br /&gt;         &lt;span class="kw1"&gt;case&lt;/span&gt; KnownTango.&lt;span class="me1"&gt;Chameleon2&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Chameleon2;&lt;br /&gt;         &lt;span class="kw1"&gt;case&lt;/span&gt; KnownTango.&lt;span class="me1"&gt;Chameleon3&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Chameleon3;&lt;br /&gt;         &lt;span class="kw1"&gt;case&lt;/span&gt; KnownTango.&lt;span class="me1"&gt;Orange1&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Orange1;&lt;br /&gt;         &lt;span class="kw1"&gt;case&lt;/span&gt; KnownTango.&lt;span class="me1"&gt;Orange2&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Orange2;&lt;br /&gt;         &lt;span class="kw1"&gt;case&lt;/span&gt; KnownTango.&lt;span class="me1"&gt;Orange3&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Orange3;&lt;br /&gt;         &lt;span class="kw1"&gt;case&lt;/span&gt; KnownTango.&lt;span class="me1"&gt;SkyBlue1&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; SkyBlue1;&lt;br /&gt;         &lt;span class="kw1"&gt;case&lt;/span&gt; KnownTango.&lt;span class="me1"&gt;SkyBlue2&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; SkyBlue2;&lt;br /&gt;         &lt;span class="kw1"&gt;case&lt;/span&gt; KnownTango.&lt;span class="me1"&gt;SkyBlue3&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; SkyBlue3;&lt;br /&gt;         &lt;span class="kw1"&gt;case&lt;/span&gt; KnownTango.&lt;span class="me1"&gt;Plum1&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Plum1;&lt;br /&gt;         &lt;span class="kw1"&gt;case&lt;/span&gt; KnownTango.&lt;span class="me1"&gt;Plum2&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Plum2;&lt;br /&gt;         &lt;span class="kw1"&gt;case&lt;/span&gt; KnownTango.&lt;span class="me1"&gt;Plum3&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Plum3;&lt;br /&gt;         &lt;span class="kw1"&gt;case&lt;/span&gt; KnownTango.&lt;span class="me1"&gt;Chocolate1&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Chocolate1;&lt;br /&gt;         &lt;span class="kw1"&gt;case&lt;/span&gt; KnownTango.&lt;span class="me1"&gt;Chocolate2&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Chocolate2;&lt;br /&gt;         &lt;span class="kw1"&gt;case&lt;/span&gt; KnownTango.&lt;span class="me1"&gt;Chocolate3&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Chocolate3;&lt;br /&gt;         &lt;span class="kw1"&gt;case&lt;/span&gt; KnownTango.&lt;span class="me1"&gt;ScarletRed1&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; ScarletRed1;&lt;br /&gt;         &lt;span class="kw1"&gt;case&lt;/span&gt; KnownTango.&lt;span class="me1"&gt;ScarletRed2&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; ScarletRed2;&lt;br /&gt;         &lt;span class="kw1"&gt;case&lt;/span&gt; KnownTango.&lt;span class="me1"&gt;ScarletRed3&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; ScarletRed3;&lt;br /&gt;         &lt;span class="kw1"&gt;case&lt;/span&gt; KnownTango.&lt;span class="me1"&gt;Aluminium1&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Aluminium1;&lt;br /&gt;         &lt;span class="kw1"&gt;case&lt;/span&gt; KnownTango.&lt;span class="me1"&gt;Aluminium2&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Aluminium2;&lt;br /&gt;         &lt;span class="kw1"&gt;case&lt;/span&gt; KnownTango.&lt;span class="me1"&gt;Aluminium3&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Aluminium3;&lt;br /&gt;         &lt;span class="kw1"&gt;case&lt;/span&gt; KnownTango.&lt;span class="me1"&gt;Aluminium4&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Aluminium4;&lt;br /&gt;         &lt;span class="kw1"&gt;case&lt;/span&gt; KnownTango.&lt;span class="me1"&gt;Aluminium5&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Aluminium5;&lt;br /&gt;         &lt;span class="kw1"&gt;case&lt;/span&gt; KnownTango.&lt;span class="me1"&gt;Aluminium6&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Aluminium6;&lt;br /&gt;         &lt;span class="kw1"&gt;default&lt;/span&gt;&lt;span class="sy0"&gt;:&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;Empty&lt;/span&gt;;&lt;br /&gt;      &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;   &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color Butter1 &lt;span class="br0"&gt;{&lt;/span&gt; get &lt;span class="br0"&gt;{&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;FromArgb&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="nu0"&gt;252&lt;/span&gt;, &lt;span class="nu0"&gt;233&lt;/span&gt;, &lt;span class="nu0"&gt;79&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color Butter2 &lt;span class="br0"&gt;{&lt;/span&gt; get &lt;span class="br0"&gt;{&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;FromArgb&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="nu0"&gt;237&lt;/span&gt;, &lt;span class="nu0"&gt;212&lt;/span&gt;, &lt;span class="nu0"&gt;0&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color Butter3 &lt;span class="br0"&gt;{&lt;/span&gt; get &lt;span class="br0"&gt;{&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;FromArgb&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="nu0"&gt;196&lt;/span&gt;, &lt;span class="nu0"&gt;160&lt;/span&gt;, &lt;span class="nu0"&gt;0&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color Chameleon1 &lt;span class="br0"&gt;{&lt;/span&gt; get &lt;span class="br0"&gt;{&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;FromArgb&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="nu0"&gt;138&lt;/span&gt;, &lt;span class="nu0"&gt;226&lt;/span&gt;, &lt;span class="nu0"&gt;52&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color Chameleon2 &lt;span class="br0"&gt;{&lt;/span&gt; get &lt;span class="br0"&gt;{&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;FromArgb&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="nu0"&gt;115&lt;/span&gt;, &lt;span class="nu0"&gt;210&lt;/span&gt;, &lt;span class="nu0"&gt;22&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color Chameleon3 &lt;span class="br0"&gt;{&lt;/span&gt; get &lt;span class="br0"&gt;{&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;FromArgb&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="nu0"&gt;78&lt;/span&gt;, &lt;span class="nu0"&gt;154&lt;/span&gt;, &lt;span class="nu0"&gt;6&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color Orange1 &lt;span class="br0"&gt;{&lt;/span&gt; get &lt;span class="br0"&gt;{&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;FromArgb&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="nu0"&gt;252&lt;/span&gt;, &lt;span class="nu0"&gt;175&lt;/span&gt;, &lt;span class="nu0"&gt;62&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color Orange2 &lt;span class="br0"&gt;{&lt;/span&gt; get &lt;span class="br0"&gt;{&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;FromArgb&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="nu0"&gt;245&lt;/span&gt;, &lt;span class="nu0"&gt;121&lt;/span&gt;, &lt;span class="nu0"&gt;0&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color Orange3 &lt;span class="br0"&gt;{&lt;/span&gt; get &lt;span class="br0"&gt;{&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;FromArgb&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="nu0"&gt;206&lt;/span&gt;, &lt;span class="nu0"&gt;92&lt;/span&gt;, &lt;span class="nu0"&gt;0&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color SkyBlue1 &lt;span class="br0"&gt;{&lt;/span&gt; get &lt;span class="br0"&gt;{&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;FromArgb&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="nu0"&gt;114&lt;/span&gt;, &lt;span class="nu0"&gt;159&lt;/span&gt;, &lt;span class="nu0"&gt;207&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color SkyBlue2 &lt;span class="br0"&gt;{&lt;/span&gt; get &lt;span class="br0"&gt;{&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;FromArgb&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="nu0"&gt;52&lt;/span&gt;, &lt;span class="nu0"&gt;101&lt;/span&gt;, &lt;span class="nu0"&gt;164&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color SkyBlue3 &lt;span class="br0"&gt;{&lt;/span&gt; get &lt;span class="br0"&gt;{&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;FromArgb&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="nu0"&gt;32&lt;/span&gt;,  &lt;span class="nu0"&gt;74&lt;/span&gt;, &lt;span class="nu0"&gt;135&lt;/span&gt; &lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color Plum1 &lt;span class="br0"&gt;{&lt;/span&gt; get &lt;span class="br0"&gt;{&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;FromArgb&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="nu0"&gt;173&lt;/span&gt;, &lt;span class="nu0"&gt;127&lt;/span&gt;, &lt;span class="nu0"&gt;168&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color Plum2 &lt;span class="br0"&gt;{&lt;/span&gt; get &lt;span class="br0"&gt;{&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;FromArgb&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="nu0"&gt;117&lt;/span&gt;,  &lt;span class="nu0"&gt;80&lt;/span&gt;, &lt;span class="nu0"&gt;123&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color Plum3 &lt;span class="br0"&gt;{&lt;/span&gt; get &lt;span class="br0"&gt;{&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;FromArgb&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="nu0"&gt;92&lt;/span&gt;,  &lt;span class="nu0"&gt;53&lt;/span&gt;, &lt;span class="nu0"&gt;102&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color Chocolate1 &lt;span class="br0"&gt;{&lt;/span&gt; get &lt;span class="br0"&gt;{&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;FromArgb&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="nu0"&gt;233&lt;/span&gt;, &lt;span class="nu0"&gt;185&lt;/span&gt;, &lt;span class="nu0"&gt;110&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color Chocolate2 &lt;span class="br0"&gt;{&lt;/span&gt; get &lt;span class="br0"&gt;{&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;FromArgb&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="nu0"&gt;193&lt;/span&gt;, &lt;span class="nu0"&gt;125&lt;/span&gt;, &lt;span class="nu0"&gt;17&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color Chocolate3 &lt;span class="br0"&gt;{&lt;/span&gt; get &lt;span class="br0"&gt;{&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;FromArgb&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="nu0"&gt;143&lt;/span&gt;, &lt;span class="nu0"&gt;89&lt;/span&gt;, &lt;span class="nu0"&gt;2&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color ScarletRed1 &lt;span class="br0"&gt;{&lt;/span&gt; get &lt;span class="br0"&gt;{&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;FromArgb&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="nu0"&gt;239&lt;/span&gt;, &lt;span class="nu0"&gt;41&lt;/span&gt;, &lt;span class="nu0"&gt;41&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color ScarletRed2 &lt;span class="br0"&gt;{&lt;/span&gt; get &lt;span class="br0"&gt;{&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;FromArgb&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="nu0"&gt;204&lt;/span&gt;, &lt;span class="nu0"&gt;0&lt;/span&gt;, &lt;span class="nu0"&gt;0&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color ScarletRed3 &lt;span class="br0"&gt;{&lt;/span&gt; get &lt;span class="br0"&gt;{&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;FromArgb&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="nu0"&gt;164&lt;/span&gt;, &lt;span class="nu0"&gt;0&lt;/span&gt;, &lt;span class="nu0"&gt;0&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color Aluminium1 &lt;span class="br0"&gt;{&lt;/span&gt; get &lt;span class="br0"&gt;{&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;FromArgb&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="nu0"&gt;238&lt;/span&gt;, &lt;span class="nu0"&gt;238&lt;/span&gt;, &lt;span class="nu0"&gt;236&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color Aluminium2 &lt;span class="br0"&gt;{&lt;/span&gt; get &lt;span class="br0"&gt;{&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;FromArgb&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="nu0"&gt;211&lt;/span&gt;, &lt;span class="nu0"&gt;215&lt;/span&gt;, &lt;span class="nu0"&gt;207&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color Aluminium3 &lt;span class="br0"&gt;{&lt;/span&gt; get &lt;span class="br0"&gt;{&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;FromArgb&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="nu0"&gt;186&lt;/span&gt;, &lt;span class="nu0"&gt;189&lt;/span&gt;, &lt;span class="nu0"&gt;182&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color Aluminium4 &lt;span class="br0"&gt;{&lt;/span&gt; get &lt;span class="br0"&gt;{&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;FromArgb&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="nu0"&gt;136&lt;/span&gt;, &lt;span class="nu0"&gt;138&lt;/span&gt;, &lt;span class="nu0"&gt;133&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color Aluminium5 &lt;span class="br0"&gt;{&lt;/span&gt; get &lt;span class="br0"&gt;{&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;FromArgb&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="nu0"&gt;85&lt;/span&gt;, &lt;span class="nu0"&gt;87&lt;/span&gt;, &lt;span class="nu0"&gt;83&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;   public &lt;span class="kw4"&gt;static&lt;/span&gt; Color Aluminium6 &lt;span class="br0"&gt;{&lt;/span&gt; get &lt;span class="br0"&gt;{&lt;/span&gt; &lt;span class="kw1"&gt;return&lt;/span&gt; Color.&lt;span class="me1"&gt;FromArgb&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="nu0"&gt;46&lt;/span&gt;, &lt;span class="nu0"&gt;52&lt;/span&gt;, &lt;span class="nu0"&gt;54&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;; &lt;span class="br0"&gt;}&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;public &lt;span class="kw2"&gt;enum&lt;/span&gt; KnownTango&lt;br /&gt;&lt;span class="br0"&gt;{&lt;/span&gt;&lt;br /&gt;   Butter1, Butter2, Butter3,&lt;br /&gt;   Chameleon1, Chameleon2, Chameleon3,&lt;br /&gt;   Orange1, Orange2, Orange3,&lt;br /&gt;   SkyBlue1, SkyBlue2, SkyBlue3,&lt;br /&gt;   Plum1, Plum2, Plum3,&lt;br /&gt;   Chocolate1, Chocolate2, Chocolate3,&lt;br /&gt;   ScarletRed1, ScarletRed2, ScarletRed3,&lt;br /&gt;   Aluminium1, Aluminium2, Aluminium3, Aluminium4, Aluminium5, Aluminium6&lt;br /&gt;&lt;span class="br0"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="br0"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-3348335334882990595?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/3348335334882990595/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=3348335334882990595' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/3348335334882990595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/3348335334882990595'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2008/06/paleta-de-colores-tango-en-c.html' title='Paleta de Colores Tango en C#'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8825995782398077022.post-9181823490846075649</id><published>2008-06-24T10:57:00.000+02:00</published><updated>2008-09-07T11:48:24.407+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='estandares'/><title type='text'>Como deletrear (como en las pelis)</title><content type='html'>&lt;div class="level1"&gt;  &lt;p&gt;  Buscando información sobre otro tema, he encontrado algo muy curioso. El &lt;a href="http://es.wikipedia.org/wiki/Alfabeto_fon%C3%A9tico_aeron%C3%A1utico" class="urlextern" title="http://es.wikipedia.org/wiki/Alfabeto_fon%C3%A9tico_aeron%C3%A1utico" rel="nofollow"&gt;alfabeto fonético aeronáutico&lt;/a&gt; para deletrear. Yo uso normalmente provincias y paises, pero siempre me quedo pensativo en alguna letra. Como casi siempre, es mejor estandarizar la comunicación para que todos podamos entendernos mejor. Al menos lo intentaré &lt;img src="http://www.clientescc.com/lib/images/smileys/icon_wink.gif" class="middle" alt=";-)" /&gt; &lt;/p&gt;  &lt;/div&gt;  &lt;h2&gt;&lt;a name="tabla" id="tabla"&gt;Tabla&lt;/a&gt;&lt;/h2&gt;    &lt;table class="inline"&gt;&lt;tbody&gt;&lt;tr class="row0"&gt;   &lt;th class="col0 leftalign"&gt; Carácter  &lt;/th&gt;&lt;th class="col1 leftalign"&gt; Palabra  &lt;/th&gt;&lt;th class="col2 leftalign"&gt; Pronunciación en inglés  &lt;/th&gt;&lt;th class="col3"&gt; Pronunciación en castellano &lt;/th&gt;  &lt;/tr&gt;  &lt;tr class="row1"&gt;   &lt;td class="col0 leftalign"&gt; A  &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Alfa  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Alfah  &lt;/td&gt;&lt;td class="col3"&gt; Alfa &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row2"&gt;   &lt;td class="col0 leftalign"&gt; B  &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Bravo  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Bravoh  &lt;/td&gt;&lt;td class="col3"&gt; Bravo &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row3"&gt;   &lt;td class="col0 leftalign"&gt; C  &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Charlie  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Charlee  &lt;/td&gt;&lt;td class="col3"&gt; Charli &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row4"&gt;   &lt;td class="col0 leftalign"&gt; D  &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Delta  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Delltah  &lt;/td&gt;&lt;td class="col3"&gt; Delta &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row5"&gt;   &lt;td class="col0 leftalign"&gt; E  &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Echo  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Eckoh  &lt;/td&gt;&lt;td class="col3"&gt; Eco &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row6"&gt;   &lt;td class="col0 leftalign"&gt; F  &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Foxtrot  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Fokstrot  &lt;/td&gt;&lt;td class="col3"&gt; foxtrot &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row7"&gt;   &lt;td class="col0 leftalign"&gt; G  &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Golf  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Golf  &lt;/td&gt;&lt;td class="col3"&gt; Golf &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row8"&gt;   &lt;td class="col0 leftalign"&gt; H  &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Hotel  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Hohtell  &lt;/td&gt;&lt;td class="col3"&gt; Hotel &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row9"&gt;   &lt;td class="col0 leftalign"&gt; I  &lt;/td&gt;&lt;td class="col1 leftalign"&gt; India  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Indee ah  &lt;/td&gt;&lt;td class="col3"&gt; India &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row10"&gt;   &lt;td class="col0 leftalign"&gt; J  &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Juliett  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Jewli ett  &lt;/td&gt;&lt;td class="col3"&gt; Yuliet &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row11"&gt;   &lt;td class="col0 leftalign"&gt; K  &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Kilo  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Keyloh  &lt;/td&gt;&lt;td class="col3"&gt; Kilo &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row12"&gt;   &lt;td class="col0 leftalign"&gt; L  &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Lima  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Leemah  &lt;/td&gt;&lt;td class="col3"&gt; Lima &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row13"&gt;   &lt;td class="col0 leftalign"&gt; M  &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Mike  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Mike  &lt;/td&gt;&lt;td class="col3"&gt; Maik &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row14"&gt;   &lt;td class="col0 leftalign"&gt; N  &lt;/td&gt;&lt;td class="col1 leftalign"&gt; November  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; November  &lt;/td&gt;&lt;td class="col3"&gt; no-vem-ber &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row15"&gt;   &lt;td class="col0 leftalign"&gt; O  &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Oscar  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Osscah  &lt;/td&gt;&lt;td class="col3"&gt; Oscar &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row16"&gt;   &lt;td class="col0 leftalign"&gt; P  &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Papa  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Pahpah  &lt;/td&gt;&lt;td class="col3"&gt; Papa &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row17"&gt;   &lt;td class="col0 leftalign"&gt; Q  &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Quebec  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Kebeck  &lt;/td&gt;&lt;td class="col3"&gt; Quebec &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row18"&gt;   &lt;td class="col0 leftalign"&gt; R  &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Romeo  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Rowmwe-oh  &lt;/td&gt;&lt;td class="col3"&gt; Romeo &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row19"&gt;   &lt;td class="col0 leftalign"&gt; S  &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Sierra  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Seeairah  &lt;/td&gt;&lt;td class="col3"&gt; Sierra &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row20"&gt;   &lt;td class="col0 leftalign"&gt; T  &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Tango  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Tanggo  &lt;/td&gt;&lt;td class="col3"&gt; Tango &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row21"&gt;   &lt;td class="col0 leftalign"&gt; U  &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Uniform  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Yuonee form  &lt;/td&gt;&lt;td class="col3"&gt; Yuniform &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row22"&gt;   &lt;td class="col0 leftalign"&gt; V  &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Victor  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Viktah  &lt;/td&gt;&lt;td class="col3"&gt; Victor &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row23"&gt;   &lt;td class="col0 leftalign"&gt; W  &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Whiskey  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Wisskey  &lt;/td&gt;&lt;td class="col3"&gt; Whiskey &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row24"&gt;   &lt;td class="col0 leftalign"&gt; X  &lt;/td&gt;&lt;td class="col1 leftalign"&gt; X-ray  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Ex-ray  &lt;/td&gt;&lt;td class="col3"&gt; Ex-rei &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row25"&gt;   &lt;td class="col0 leftalign"&gt; Y  &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Yankee  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Yangkey  &lt;/td&gt;&lt;td class="col3"&gt; Yanqui &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row26"&gt;   &lt;td class="col0 leftalign"&gt; Z  &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Zulu  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Zooloo  &lt;/td&gt;&lt;td class="col3"&gt; Zulú &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row27"&gt;   &lt;td class="col0"&gt; 1 &lt;/td&gt;&lt;td class="col1 leftalign"&gt; One  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Ooahn  &lt;/td&gt;&lt;td class="col3"&gt; Uán &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row28"&gt;   &lt;td class="col0"&gt; 2 &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Two  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Too  &lt;/td&gt;&lt;td class="col3"&gt; Tu &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row29"&gt;   &lt;td class="col0"&gt; 3 &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Three  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Three  &lt;/td&gt;&lt;td class="col3"&gt; Zri &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row30"&gt;   &lt;td class="col0"&gt; 4 &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Four  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; For  &lt;/td&gt;&lt;td class="col3"&gt; For &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row31"&gt;   &lt;td class="col0"&gt; 5 &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Five  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Fif  &lt;/td&gt;&lt;td class="col3"&gt; Faif &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row32"&gt;   &lt;td class="col0"&gt; 6 &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Six  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Seaks  &lt;/td&gt;&lt;td class="col3"&gt; Siks &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row33"&gt;   &lt;td class="col0"&gt; 7 &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Seven  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Seven  &lt;/td&gt;&lt;td class="col3"&gt; Seven &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row34"&gt;   &lt;td class="col0"&gt; 8 &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Eight  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Ait  &lt;/td&gt;&lt;td class="col3"&gt; Eit &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row35"&gt;   &lt;td class="col0"&gt; 9 &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Nine  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Naih ner  &lt;/td&gt;&lt;td class="col3"&gt; Nain &lt;/td&gt;  &lt;/tr&gt;  &lt;tr class="row36"&gt;   &lt;td class="col0"&gt; 0 &lt;/td&gt;&lt;td class="col1 leftalign"&gt; Zero  &lt;/td&gt;&lt;td class="col2 leftalign"&gt; Zeeroh  &lt;/td&gt;&lt;td class="col3 leftalign"&gt; Sirou  &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8825995782398077022-9181823490846075649?l=azulcasinegro.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://azulcasinegro.blogspot.com/feeds/9181823490846075649/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8825995782398077022&amp;postID=9181823490846075649' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/9181823490846075649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8825995782398077022/posts/default/9181823490846075649'/><link rel='alternate' type='text/html' href='http://azulcasinegro.blogspot.com/2008/09/como-deletrear-como-en-las-pelis.html' title='Como deletrear (como en las pelis)'/><author><name>AZULcasiNEGRO</name><uri>http://www.blogger.com/profile/01525506051871263552</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
