{"id":2433,"date":"2021-09-23T18:18:59","date_gmt":"2021-09-24T00:18:59","guid":{"rendered":"https:\/\/www.lastdragon.net\/?p=2433"},"modified":"2021-09-23T18:18:59","modified_gmt":"2021-09-24T00:18:59","slug":"construir-un-paquetes-debian-un-archivo-deb","status":"publish","type":"post","link":"https:\/\/www.lastdragon.net\/?p=2433","title":{"rendered":"Construir un paquetes debian, un archivo.deb"},"content":{"rendered":"\n<p>Crear un paquete DEB es una de las cosas mas sencillas que se puede hacer, su proceso de creacion es mucho mas facil que un RPM<\/p>\n\n\n\n<p><strong>Empezar el proyecto<\/strong><\/p>\n\n\n\n<p>El proyecto empiza con un directorio vacio, el directorio debe contener un directorio obligado. DEBIAN en mayusculas y dentro de este directorio existira un archivo llamado control con la informacion del paquete.<\/p>\n\n\n\n<p><em>La informacion es la siguiente tomada del paquete NGINX:<\/em><\/p>\n\n\n\n<p>Package: nginx<br \/>Version: 1.18.0-6.1<br \/>Architecture: all<br \/>Maintainer: Debian Nginx Maintainers <a href=\"mailto:pkg-nginx-maintainers@alioth-lists.debian.net\">pkg-nginx-maintainers@alioth-lists.debian.net<\/a><br \/>Installed-Size: 102<br \/>Depends: nginx-core (&lt;&lt; 1.18.0-6.1.1~) | nginx-full (&lt;&lt; 1.18.0-6.1.1~) | nginx-light (&lt;&lt; 1.18.0-6.1.1~) | nginx-extras (&lt;&lt; 1.18.0-6.1.1~), nginx-core (&gt;= 1.18.0-6.1) | nginx-full (&gt;= 1.18.0-6.1) | nginx-light (&gt;= 1.18.0-6.1) | nginx-extras (&gt;= 1.18.0-6.1)<br \/>Section: httpd<br \/>Priority: optional<br \/>Homepage: https:\/\/nginx.net<br \/>Description: small, powerful, scalable web\/proxy server<br \/>Nginx (&#8220;engine X&#8221;) is a high-performance web and reverse proxy server<br \/>created by Igor Sysoev. It can be used both as a standalone web server<br \/>and as a proxy to reduce the load on back-end HTTP or mail servers.<br \/>.<br \/>This is a dependency package to install either nginx-core (by default),<br \/>nginx-full, nginx-light or nginx-extras.<\/p>\n\n\n\n<p><em>Para un programa como holamundo, seria lo siguiente:<\/em><\/p>\n\n\n\n<p>Package: holahundo<br \/>Version: 1.0<br \/>Architecture: amd64<br \/>Maintainer: Last Dragon <a href=\"mailto:avisos@lastdragon.net\">avisos@lastdragon.net<\/a><br \/>Installed-Size: 782<br \/>Depends:<br \/>Section: terminal<br \/>Priority: optional<br \/>Homepage: https:\/\/www.lastdragon.net<br \/>Description: Programa estatico de 64 bits compilado sin dependencias<\/p>\n\n\n\n<p><strong>El directorio del proyecto<\/strong><\/p>\n\n\n\n<p>El directorio del proyecto es una simulacion del sistema de archivos, por lo que fuera del directorio DEBIAN, todos los directorios adicionales hacen referencia a la estructura del sistema de archivos. Si se desea instalar un binario en \/bin, habira que crear un dictorio llamado bin y poner adentro del el, los archivos que queremos para nuestro paquete.<\/p>\n\n\n\n<p><em>Ejemplo de como debe verse el directorio del proyecto:<\/em><\/p>\n\n\n\n<p>\u251c\u2500\u2500 bin<br \/>\u2502&nbsp;&nbsp; \u2514\u2500\u2500 holamundo<br \/>\u2514\u2500\u2500 DEBIAN<br \/>\u2514\u2500\u2500 control<\/p>\n\n\n\n<p><strong>Generacion del paquete<\/strong><\/p>\n\n\n\n<p>El programa dpkg el encargado de administrar paquetes tambien tiene la funcion de crear nuevos paquetes.<\/p>\n\n\n\n<p><em>Ejemplo:<br \/><\/em>$ dpkg RutaDirectorioProyecto RutaDestinoArchivoDeb<\/p>\n\n\n\n<p>Si se esta posicionado en el directorio proyecto .\/ es el mismo directorio y ..\/ el directorio padre, por lo que el archivo.deb se generaria un nivel arriba del directorio proyecto<\/p>\n\n\n\n<p>$ dpkg -b .\/ ..\/<\/p>\n\n\n\n<p><strong>Resultado final<\/strong><\/p>\n\n\n\n<p>El archivo sera holamundo_1.0_amd64.deb y puede ser instalado con apt o dpkg<\/p>\n\n\n\n<p>apt install .\/holamundo_1.0_amd64.deb<br \/>Leyendo lista de paquetes\u2026 Hecho<br \/>Creando \u00e1rbol de dependencias\u2026 Hecho<br \/>Leyendo la informaci\u00f3n de estado\u2026 Hecho<br \/>Nota, seleccionando \u00abholamundo\u00bb en lugar de \u00ab.\/holamundo_1.0_amd64.deb\u00bb<br \/>Se instalar\u00e1n los siguientes paquetes NUEVOS:<br \/>holamundo<br \/>0 actualizados, 1 nuevos se instalar\u00e1n, 0 para eliminar y 0 no actualizados.<br \/>Se necesita descargar 0 B\/518 kB de archivos.<br \/>Se utilizar\u00e1n 801 kB de espacio de disco adicional despu\u00e9s de esta operaci\u00f3n.<br \/>Des:1 \/home\/lastdragon\/holamundo_1.0_amd64.deb holamundo amd64 1.0 [518 kB]<br \/>Seleccionando el paquete holamundo previamente no seleccionado.<br \/>(Leyendo la base de datos \u2026 162938 ficheros o directorios instalados actualmente.)<br \/>Preparando para desempaquetar \u2026\/holamundo_1.0_amd64.deb \u2026<br \/>Desempaquetando holamundo (1.0) \u2026<br \/>Configurando holamundo (1.0) \u2026<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Crear un paquete DEB es una de las cosas mas sencillas que se puede hacer, su proceso de creacion es mucho mas facil que un RPM Empezar el proyecto El proyecto empiza con un directorio vacio, el directorio debe contener un directorio obligado. DEBIAN en mayusculas y dentro de este directorio existira un archivo llamado&#8230;<\/p>\n","protected":false},"author":1,"featured_media":1924,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-2433","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-consultoria-y-manuales"],"_links":{"self":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/2433","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2433"}],"version-history":[{"count":1,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/2433\/revisions"}],"predecessor-version":[{"id":2434,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/2433\/revisions\/2434"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/media\/1924"}],"wp:attachment":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2433"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2433"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2433"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}