{"id":487,"date":"2011-05-27T18:27:51","date_gmt":"2011-05-27T18:27:51","guid":{"rendered":"http:\/\/esferas.org\/msqlu\/2011\/05\/27\/cambiando-de-versian-iii\/"},"modified":"2016-04-17T08:58:59","modified_gmt":"2016-04-17T08:58:59","slug":"cambiando-de-versian-iii","status":"publish","type":"post","link":"https:\/\/esferas.org\/msqlu\/2011\/05\/27\/cambiando-de-versian-iii\/","title":{"rendered":"Cambiando de versi\u00f3n (III) &#8230;"},"content":{"rendered":"<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:1599,&quot;href&quot;:&quot;http:\\\/\\\/kitenet.net\\\/~joey\\\/code\\\/etckeeper&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;https:\\\/\\\/kitenet.net\\\/~joey\\\/code\\\/etckeeper&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:1600,&quot;href&quot;:&quot;http:\\\/\\\/www.linuxbase.org&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:1601,&quot;href&quot;:&quot;http:\\\/\\\/serverfault.com\\\/questions\\\/232782\\\/debian-squeeze-upgrade-breaks-apache-ssl\\\/232808#232808&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;https:\\\/\\\/serverfault.com\\\/questions\\\/232782\\\/debian-squeeze-upgrade-breaks-apache-ssl\\\/232808&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;}]'><\/div>\n<p>&#8230; siguiendo un gui\u00f3n riguroso a la par que accidentado.<\/p>\n<p><!--more--><\/p>\n<h4>Salvando la configuraci\u00f3n<\/h4>\n<p>Recuperar lista de paquetes selectos y salvar, adem\u00e1s de la configuraci\u00f3n normal del sistema, las bases de datos de paqueter\u00eda en un archivo comprimido. Luego enviar el archivo a un servidor externo.<\/p>\n<pre>\n# dpkg --get-selections &quot;*&quot; &gt; \/etc\/apt\/dpkg-selections\n# tar cvfz \/root\/albion.tgz \/etc \/var\/lib\/dpkg \/var\/lib\/apt\/extended_states \/var\/lib\/aptitude\/pkgstates\n...\n...\n\/var\/lib\/dpkg\/diversions-old\n\/var\/lib\/dpkg\/statoverride-old\n\/var\/lib\/dpkg\/triggers\/\n\/var\/lib\/dpkg\/triggers\/Lock\n\/var\/lib\/dpkg\/triggers\/pysupport\n\/var\/lib\/dpkg\/triggers\/Unincorp\n\/var\/lib\/dpkg\/triggers\/File\n\/var\/lib\/dpkg\/methlock\n\/var\/lib\/dpkg\/parts\/\n\/var\/lib\/apt\/extended_states\n\/var\/lib\/aptitude\/pkgstates\n# scp albion.tgz victor@example.com\nalbion.tgz                                                                                            100%   32MB 733.3KB\/s   00:44\n#\n<\/pre>\n<h4>Comprobando el estado del sistema<\/h4>\n<p>Lo primero es verificar que est\u00e1 actualizado a la \u00faltima en <em>Lenny<\/em> empleando la orden <\/p>\n<pre class=\"inline:true decode:1 \" >apt-get upgrade<\/pre>\n<p> y s\u00ed es as\u00ed, verificar tambi\u00e9n que el programa <\/p>\n<pre class=\"inline:true decode:1 \" >aptitude<\/pre>\n<p> tiene la misma idea sobre un sistema <em>a la \u00faltima<\/em>.<\/p>\n<p>Despu\u00e9s desactivamos el mecanismo de puntuaci\u00f3n de paquetes (<em>APT pinning<\/em>) y auditamos el estado general de los mismos con la orden <\/p>\n<pre class=\"inline:true decode:1 \" >dpkg --audit<\/pre>\n<p>. Tambi\u00e9n nos aseguramos de desactivar las fuentes de paquetes de terceros y los procedentes del repositorio <em>backports<\/em> antes de actualizar los or\u00edgenes de la versi\u00f3n a la versi\u00f3n <em>stable<\/em> actual.<\/p>\n<h4>Comenzamos entonces la actualizaci\u00f3n<\/h4>\n<p>Como queremos registrar todo lo que vamos a hacer empleamos el programa <\/p>\n<pre class=\"inline:true decode:1 \" >script<\/pre>\n<p> de esta forma:<\/p>\n<pre>\nalbion:~# script -a ~\/upgrade-squeeze1 -t 2&gt;~\/upgrade-squeeze1.time\nScript started, file is \/root\/upgrade-squeeze1\nalbion:~# apt-get update\n....\nalbion:~# apt-get dist-upgrade\n....\n<\/pre>\n<p>Y todo comienza a suceder a gran velocidad. <a href=\"\/dotclear\/index.php?tag\/Bytemark\">Bytemark<\/a> dispone de copias espejo de los repositorios <a href=\"\/dotclear\/index.php?tag\/Debian\">Debian<\/a> por lo que bajar los paquetes es cosa de segundos en lugar de minutos u horas. La m\u00e1quina tambi\u00e9n es r\u00e1pida para estas cosas y las preguntas aparecen regularmente y la actualizaci\u00f3n avanza.<\/p>\n<h4>Tropiezos<\/h4>\n<h3>Anotaciones en la configuraci\u00f3n<\/h3>\n<p>Para variar he olvidado que uso el programa <a href=\"http:\/\/kitenet.net\/~joey\/code\/etckeeper\/\">etckeeper<\/a> de Joey Hess sobre el directorio <\/p>\n<pre class=\"inline:true decode:1 \" >\/etc<\/pre>\n<p> y que puedo poner una etiqueta o marca en la configuraci\u00f3n del sistema. Algo muy \u00fatil para revisar cambios m\u00e1s adelante, aunque quiz\u00e1s todav\u00eda sea posible. No llego a tanto con el programa <em>Git<\/em>.<\/p>\n<p>Eso s\u00ed, esta versi\u00f3n de Git ya anima a configurar bien el repositorio para que todos los registros contengan informaci\u00f3n precisa:<\/p>\n<pre>\ngit config --global user.name &quot;Your Name&quot;\ngit config --global user.email you@example.com\n<\/pre>\n<h3>Arranque de servicios<\/h3>\n<p>Esta versi\u00f3n incluye ahora la posibilidad de cambiar el arranque de los servicios a la nueva propuesta del <a href=\"http:\/\/www.linuxbase.org\/\">Linux Standard Base<\/a> que emplea dependencias entre ellos. El paquete <em>sysv-rc<\/em> se encarga de realizar el cambio (que no es reversible) y antes de ello comprueba que sea factible. Como he podido comprobar que es cierto que el sistema arranca m\u00e1s r\u00e1pidamente de esta forma, y aunque es un servidor que no espero tener que reiniciar en mucho tiempo, me he decidido a hacerle caso y a purgar del sistema una buena colecci\u00f3n de paquetes antiguos y en desuso <sup>[<a href=\"#pnote-253-1\" id=\"rev-pnote-253-1\">1<\/a>]<\/sup>.<\/p>\n<pre>\n# dpkg-reconfigure sysv-rc\ninfo: Checking if it is safe to convert to dependency based boot.\n...\n#\n<\/pre>\n<h3>Cortafuegos<\/h3>\n<p>El cortafuegos empleado -llamado <a href=\"www.shorewall.net\/\">shorewall<\/a>&#8211; ha sufrido tambi\u00e9n algunas modificaciones en su configuraci\u00f3n y que, bas\u00e1ndome en otra instalaci\u00f3n menor que tengo en funcionamiento, he conseguido solucionar f\u00e1cilmente.<\/p>\n<p>Concretamente ha sido la forma de nombrar zonas (y de obligar a que exista una representando al cortafuegos en s\u00ed), indicadores obsoletos en los interfaces de red (como <\/p>\n<pre class=\"inline:true decode:1 \" >norfc1918<\/pre>\n<p>) y algunos valores en el archivo <\/p>\n<pre class=\"inline:true decode:1 \" >\/etc\/shorewall\/shorewall.conf<\/pre>\n<p>.<\/p>\n<h3><a href=\"\/dotclear\/index.php?tag\/Apache\">Apache<\/a><\/h3>\n<p>Con el servidor web he patinado pero bien. Y todo por no leerme del todo el aviso del mantenedor del paquete. Si lo hubiese hecho me hubiese ahorrado el esfuerzo bald\u00edo de revisar una configuraci\u00f3n que estaba casi bien.<\/p>\n<p>El error aparec\u00eda cont\u00ednuamente en el registro y consist\u00eda en una l\u00ednea como<\/p>\n<pre>\nServer should be SSL-aware but has no certificate configured [Hint: SSLCertificateFile]\n<\/pre>\n<p>perfectamente in\u00fatil por cuanto no indica d\u00f3nde aparece o deber\u00eda estar la directiva con el certificado. Buscando en la red me encuentro la soluci\u00f3n en el comentario de <a href=\"http:\/\/serverfault.com\/questions\/232782\/debian-squeeze-upgrade-breaks-apache-ssl\/232808#232808\">Fussy Salsify<\/a> en el sitio <em>Server Fault<\/em>. Por lo visto desde la versi\u00f3n 2.2.12 de Apache \u00e9ste ya no acepta configuraciones de host virtuales con conexiones seguras si la configuraci\u00f3n no es la adecuada y correcta.<\/p>\n<p>He tenido que a\u00f1adir las directivas<\/p>\n<pre>\n&lt;VirtualHost *:443&gt;\n...\nSSLEngine       On\nSSLCertificateFile \/etc\/apache2\/ssl\/server.pem\nSSLCertificateKeyFile \/etc\/apache2\/ssl\/key.pem\n...\nRedirect permanent \/ https:\/\/ejemplo.com\/wiki\n&lt;\/VirtualHost&gt;\n<\/pre>\n<p>a una instancia virtual que \u00fanicamente redirecciona a otro sitio. Antes era aceptable, ya no.<\/p>\n<h3>Servidor de bases de datos relacionales<\/h3>\n<p>En este caso el programa <a href=\"\/dotclear\/index.php?tag\/MySQL\">MySQL<\/a> que en principio no arranca porque &#8230; bueno, porque me lo he cepillado accidentalmente en alg\u00fan momento de la instalaci\u00f3n. Lo cual, realmente, es una buena noticia: la configuraci\u00f3n no es err\u00f3nea, es inexistente.<\/p>\n<p>Como hice caso a la gu\u00eda de Debian y registr\u00e9 toda la sesi\u00f3n en un archivo he podido averiguar que comet\u00ed alg\u00fan error en el orden de las actualizaciones y en un momento dado se elimin\u00f3 el paquete <em>mysql-server<\/em> y no ha sido reclamado por nadie, ni siquiera por <a href=\"\/dotclear\/index.php?tag\/Drupal\">Drupal<\/a>, que es el que lo utiliza realmente. En este caso ya que los datos pueden estar en otra m\u00e1quina el mantenedor del paquete \u00fanicamente recomienda su instalaci\u00f3n <sup>[<a href=\"#pnote-253-2\" id=\"rev-pnote-253-2\">2<\/a>]<\/sup>.<\/p>\n<p>Bien, procedo a reinstalarlo y veo que salvo alg\u00fan detalle que otro la configuraci\u00f3n permanece (normal porque el paquete no fue purgado) y que est\u00e1 funcionando correctamente.<\/p>\n<div class=\"footnotes\">\n<h4>Notes<\/h4>\n<p>[<a href=\"#rev-pnote-253-1\" id=\"pnote-253-1\">1<\/a>] Entre ellos est\u00e1 apache, at, cnews, courier-authdaemon, exim, fetchmail, lm-sensors, mysql-server-5.0, sendmail-bin, tomcat y webmin<\/p>\n<p>[<a href=\"#rev-pnote-253-2\" id=\"pnote-253-2\">2<\/a>] Antes de que alguien piense que soy un insensato debo recordar que la instalaci\u00f3n de Drupal en esta m\u00e1quina es puramente experimental por el momento; en caso contrario ya estar\u00eda incorporada en las copias de seguridad<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>&#8230; siguiendo un gui\u00f3n riguroso a la par que accidentado.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","webmentions_disabled_pings":false,"webmentions_disabled":false,"footnotes":""},"categories":[2],"tags":[75,72,41,363,286,341],"class_list":["post-487","post","type-post","status-publish","format-standard","hentry","category-software","tag-apache","tag-bytemark","tag-debian","tag-drupal","tag-mysql","tag-squeeze"],"_links":{"self":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/487","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/comments?post=487"}],"version-history":[{"count":0,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/487\/revisions"}],"wp:attachment":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/media?parent=487"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/categories?post=487"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/tags?post=487"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}