{"id":467,"date":"2011-03-02T11:09:48","date_gmt":"2011-03-02T11:09:48","guid":{"rendered":"http:\/\/esferas.org\/msqlu\/2011\/03\/02\/el-servidor-lpd-deja-de-funcionar\/"},"modified":"2016-04-17T08:58:59","modified_gmt":"2016-04-17T08:58:59","slug":"el-servidor-lpd-deja-de-funcionar","status":"publish","type":"post","link":"https:\/\/esferas.org\/msqlu\/2011\/03\/02\/el-servidor-lpd-deja-de-funcionar\/","title":{"rendered":"El servidor LPD deja de funcionar &#8230;"},"content":{"rendered":"<p>&#8230; despu\u00e9s de actualizar <a href=\"http:\/\/www.cups.org\">CUPS<\/a> en una m\u00e1quina <a href=\"http:\/\/www.debian.org\">Debian<\/a>. \u00bf Y qu\u00e9 es lo peor ? Que no tengo ni idea de d\u00f3nde anotarlo una vez descubierto y resuelto.<\/p>\n<p><!--more--><\/p>\n<p>El escenario inicial es un servidor de impresi\u00f3n funcionado bajo la versi\u00f3n Lenny de Debian con sus correspondientes actualizaciones de seguridad. Tambi\u00e9n dispone del servicio  <a href=\"http:\/\/en.wikipedia.org\/wiki\/Line_Printer_Daemon_protocol\">LDP<\/a> instalado para que una antigua -pero vital- m\u00e1quina  y sus programas puedan imprimir en el resto de las impresoras de la red.<\/p>\n<p>Hoy ten\u00edamos actualizaci\u00f3n de seguridad as\u00ed que me he puesto a ello. Al rato de hacerlo comienza a sonar el tel\u00e9fono y llegan las primeras quejas: las facturas <em>no salen<\/em>. Entonces veo la luz y me doy cuenta de que existe un patr\u00f3n. Que siempre que actualizo CUPS en esa m\u00e1quina aparece el mismito error. \u00bf C\u00f3mo he sido tan mel\u00f3n antes ? Ya s\u00e9 qu\u00e9 ocurre.<\/p>\n<p>Este servicio de impresi\u00f3n est\u00e1 en el puerto 515 y no dispone de un programa propio sino que est\u00e1 integrado en  <a href=\"http:\/\/www.freebsd.org\/doc\/es\/books\/handbook\/network-inetd.html\">inetd<\/a>. Reviso la configuraci\u00f3n y en el archivo <\/p>\n<pre class=\"inline:true decode:1 \" >\/etc\/inetd.conf<\/pre>\n<p> aparece la famosa l\u00ednea<\/p>\n<pre>\n#&lt;off&gt;#printer stream tcp nowait lp \/usr\/lib\/cups\/daemon\/cups-lpd cups-lpd\n<\/pre>\n<p>que se\u00f1ala que el servicio est\u00e1 desactivado. Para solucionarlo basta con eliminar ese prefijo y reiniciar el servidor <\/p>\n<pre class=\"inline:true decode:1 \" >inetd<\/pre>\n<p>.<\/p>\n<p>\u00bf Por qu\u00e9 suced\u00eda ? Pues porque el paquete en el que se incluye este servicio (<\/p>\n<pre class=\"inline:true decode:1 \" >cups-bsd<\/pre>\n<p>) emplea la base de datos de configuraci\u00f3n <a href=\"http:\/\/en.wikipedia.org\/wiki\/Debconf_%28software_package%29\">Debian<\/a> y all\u00ed estaba indicado claramente que el servicio debe estar desactivado.<\/p>\n<pre>\n# debconf-show cups-bsd\ncups-bsd\/setuplpd: false\n<\/pre>\n<p>Supongo que hace mucho tiempo le indiqu\u00e9 que no lo hiciese y luego se me olvid\u00f3 por completo. Como las actualizaciones de seguridad no han sido muchas no llegaba a establecer la relaci\u00f3n y los \u00faltimos a\u00f1os me limitaba a actualizar el programa, sufrir y detectar el problema y activar el servicio. Hoy le he echado un vistazo a los <em>scripts<\/em> que acompa\u00f1an al paquete y he visto que en llamado <em>prerm<\/em> est\u00e1 la siguiente l\u00ednea:<\/p>\n<pre>\nupdate-inetd --pattern cups-lpd --disable printer\n<\/pre>\n<p>Como este programa es ejecutado <a href=\"http:\/\/www.debian.org\/doc\/debian-policy\/ch-maintainerscripts.html#s-unpackphase\">durante una actualizaci\u00f3n<\/a> de paquete el servicio quedaba desactivado. Una vez que el paquete est\u00e1 instalado se ejecuta <em>postinst<\/em> que comprueba si la configuraci\u00f3n guardada indica que tiene que activar y si es que no se ignora:<\/p>\n<pre>\n...\ndb_get cups-bsd\/setuplpd\nif [ &quot;$RET&quot; = &quot;true&quot; ]; then\nupdate-inetd --add 'printer stream tcp nowait lp \/usr\/lib\/cups\/daemon\/cups-lpd cups-lpd'\nfi\n...\n<\/pre>\n<p>Ha bastado con cambiarlo para que las pr\u00f3ximas ocasiones no tenga que sufrir tanto.<\/p>\n<h4>\u00bf Y  todo esto &#8230;<\/h4>\n<p>&#8230; deber\u00eda ir en el <a href=\"https:\/\/astillas.net\/wiki\">wiki<\/a> ? Es toda una pregunta. Este tipo de cuestiones son las que m\u00e1s trabajo dan para situar dentro de una estructura jerarquizada como yo quiero que sea mi wiki. Pero lo mismo tengo que habilitar un caj\u00f3n para esto porque aumenta su n\u00famero.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8230; despu\u00e9s de actualizar CUPS en una m\u00e1quina Debian. \u00bf Y qu\u00e9 es lo peor ? Que no tengo ni idea de d\u00f3nde anotarlo una vez descubierto y resuelto.<\/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":[250,41,19],"class_list":["post-467","post","type-post","status-publish","format-standard","hentry","category-software","tag-cups","tag-debian","tag-errores"],"_links":{"self":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/467","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=467"}],"version-history":[{"count":0,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/467\/revisions"}],"wp:attachment":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/media?parent=467"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/categories?post=467"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/tags?post=467"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}