Hola a todos, como bien dice el título de este artículos vamos a ver como crear nuestro propio paquete .deb. En mi caso me he basado en las maquinas que he tenido que migrar con la salida de XP y aprovechando algo que se compartió por acá para disminuir el impacto con los usuarios de mi joven club, aquí les va…
- Pasos a seguir:
1. Creamos un directorio, podemos usar cualquier nombre, pero luego mantener esa referencia. En el ejemplo yo uso crea.
mkdir crea
2. Sobre ese directorio recién creado, tenemos que recrear la estructura destino que queremos utilizar. Como yo quiero copiar mi script sh en /usr/bin, entonces creo el directorio /crea/usr/bin:
mkdir -p ./crea/usr/bin
3. Ahora copiamos el script a ese directorio (o los ficheros que quiera añadir). Si quisiera copiar a otro directorio tendríamos que reconstruir a partir de crea esos directorios nuevos.
cp ./crea.sh ./crea/usr/bin
4. En mi caso particular agrego tambien /crea/etc/opt para su futuro uso:
mkdir -p ./crea/etc/opt/
5. Ahora creamos un subdirectorio llamado DEBIAN, que contendrá el fichero de paquete de control. Este es un fichero con un determinado formato y que proporciona información del contenido del paquete .deb.
mkdir ./crea/DEBIAN
6. Creamos un fichero de control con el siguiente comando:
nano ./crea/DEBIAN/control
7. Abrimos el fichero de control y copiamos el siguiente texto, modificando las partes que sean necesarias.
-
Package: Aquielnombredelpaquete (cuidado, no se permiten espacios o caracteres _ )
Priority: optional
Section: misc
Maintainer: aquielnombredelcreadorysuemail
Architecture: all
Version: 1.0
Depends: package1, package2, ……… (si tiene alguna dependencia por aqui el nombre)
Description: aqui_una_descripcion_corta_del_paquete
Y aquí una descripcion larga (Ojo, no elimines el espacio inicial al comienzo de esta linea)
(y por ultimo elimina esta linea y deja una linea vacía)
- Aquí un ejemplo:
-
Package: sol
Version: 1.0
Section: utils
Maintainer: Perico Perez
Homepage: www.gutl.jovenclub.cu
Priority: optional
Architecture: all
Description: Herramienta para trabajo en sistema
8. Ahora ejecutamos como superusuario:
# dpkg -b ./crea /ruta/donde/quieres/dejar/el/nombre_paquete.deb
9. Por ultimo damos permisos al .deb creado anteriormente:
chmod 777 /ruta/donde/se/encuentra el/paquete.deb
Listo, esta es una forma de crear .deb, aunque no es la única, existen aplicaciones que nos facilitan el trabajo, en proximos artículos les comento al respecto. En los días que dedique a investigar sobre el tema se me ocurrieron algunas ideas para mi deb, por ahora me he creado una aplicación para instalar XpGnome con solo algunos clic y sin necesidad de consola, algo para modificar mi sources.list y para el trabajo con .ISOS.
Aquí les dejo una imagen:
Espero como siempre les sea útil.
Fuente: http://ubuntulife.wordpress.com
Según he leído no es muy aconsejable establecer los permisos de las aplicaciones a 777, aunque yo lo hago todo el tiempo por costumbre; pero hay que tener cuidado, en el caso de los paquetes .deb los permisos asignados son 0644.
Saludos.
hola, cuando trato de generar el archivo me dice:
dpkg-deb: error: control directory has bad permissions 700 (must be >=0755 and <=0775)
tendre que cambiar primero los permisos al directorio DEBIAN ?
Pues si, la costumbre, por acá explican bien el tema de los permisos.
http://blog.desdelinux.net/permisos-basicos-en-gnulinux-con-chmod/
Oh interesante ese sitio, no lo conocía … LOL!
@KZKG^Gaara, de verdad es que es un sitio nuevo, dicen que lo administran unos tipejos de una isla del Caribe que creo que se llama Cuba.
si eh!!!…es nuevo para ti 😆 😛 😀 😆
Gracias por el escrito, necesito aprender bastante del uso de paquetes .deb
Pregunta: Sabes sobre la manipulacion de paquetes .rpm
SALUDOS
@nedhard necesito comunicarme contigo para un proyecto grande…un OS, despues t explico
brother, no es por quitarte la inspiración ni nada de eso pero, no has probado hacer primero un LFS (Linux from scratch), digo ya esa idea es bastante peliaguda así que ni hablar de hacerlo todo de 0. Si logras un LFS puedes empaquetarlo como te dé la gana y sigue siendo compatible con todo, y para colmo le puedes poner un nombre bonito (kairOS??) 🙂
el problema es q es libre pero no es basado en linux…todo va mas alla d cuanto puedan imaginar…despues q coordine con mi companhero d proyecto publico aqui una entrada…porque no es mio solo, y ademas, va mas alla de cuanto puedan imaginar, pero necesito ayuda d programadores d todos lados…por eso necesito a nedhard y otros d la UH, despues vere si encuentro personal en la CUJAE…no hay d q preocuparse porque a pesar d q yo y mi socio estudiemos en la UCI la uci no tiene nada q ver en esta idea
Y que kernel piensan usar Hurd? Unix? BSD?
por ahora…uno q esta descontinuado…el de openSOLARIS
UFF Solaris!!! que tiempos aquellos, cuando los equipos de procesamiento corrian una especie de UNIX sobre estos servidores, recuerdo que era bastante estable pero muy enfocado a estos servidores de procesamiento que ahora cualquier i7 les da tubo! Creo que deberías leerte un poco el kernel hurd o el de BSD para que veas que son mejores pues han sido actualizados para funcionar con equipos modernos, además en el caso de hurd está pensado para ser el mejor de todos los kernels, lástima que no se le haya echado un peso arriba, pero bueno los entusiastas dicen que trabajar en él es la panacea.
pienso usar illumOS para derivarme de el…hurd no, es libre en EXCESO , y defiendo el software libre, pero eso no quiere decir software GRATIS…me derivare de illumOS
no obstnte en cuanto al kernel, estoy dedicandome a estudia en mis tiempos libres sobre kernels hibridos y exokernels…(stan tufaos)
Tu idea esta bastante buena cuenta con nosotros, los informáticos del Oncológico, tambien hemos hecho nuestras cositas y un poquito mas de ayuda no te vendrianada mal. . . . . . saludos
gracias…claro que la ayuda nunca esta de mas…muchisimas gracias, mintras mas ayuda mejor
http://gutl.jovenclub.cu/tienes-un-proyecto-open-source-te-ayudamos-a-elegir-una-licencia/#comment-35885
gracias…ya t respondi y tuve mucho en cuenta tu comentario y el d bishopwolf
Entonces espero por esa entrada para saber de que va tu proyecto.
A lo mejor podemos ayudar en algo.
dejame terminar d coordinar…recuerden q la idea surgio a modo d entretenimiento…pero si se le pone seriedad, puede salir algo bueno d ahi…
Excelente artículo, muy bueno y muy útil.
Saludos,
se que este tema es muy importante, pero gracias a nuestro buen amigo Delio Orozco conoci a Debreate, un excelente GUI para realizar exactamente esto mismo, y creanme que funciona a las 1000 maravillas… para los desarrolladores que se inician en esto de empaquetar sus programas etc… es mi recomendacion.
LordFord.
Tienes toda la razón Debreate es excelente, que versión tienes?
Personalmente uso debreate, muy pero muy bueno, nunca me ha fallado
Llamaret no había tenido la posibilidad de probar IndomiTUX, lo hice ayer y me a gustado, fácil de instalar, no consume, excelente la verdad, voy a instalarlo en algunas maquinas por acá para ver que opinan los usuarios. Saludos
Vaya, que sorpresa, ya ni me acordaba de IndomiTUX. Te recuerdo que esa version que anda suelta por ahi es basada en Debian 6. La version 2.x basada en Wheezy la cancele. Capaz y me animo luego y la continuo, pero por el momento no tengo motivos ni nada que me incentiva a retomar el proyecto 🙁
Gracias por usarla y dejarlo saber. La version que cancele llevaba un toque visual mejor que esa que estas probando, pero bueno, espero te sirve y a los usuarios les resulte menos traumatico el paso de Win a Linx
La verdad funciona perfectamente, por lo menos hasta ahora, estoy pensando en enviar algunas capturas de escritorio. Si te embullas con la otra ya veré como la descargo, con esta estuve 3 noches para lograrlo. Tengo algún problema para instalar vlc
Haciendo un poco de memoria, me parece que para instalar VLC vas a tener que hacerlo con el que esta en los repos Backports de Debian 6, porque use varios paquetes y dependencias de esos repos y estoy casi seguro que el VLC de los repos normales no se va a dejar instalar. tienes acceso a los backports?????
Yo lo usaba, pero no me trabaja en ubuntu 14.04, me da este error:
antonio@co6rj-desktop:~$ debreate
Traceback (most recent call last):
File «/usr/bin/debreate», line 235, in
TestConfig()
File «/usr/bin/debreate», line 232, in TestConfig
Run(pos, size, maximize, center, dias, cwd)
File «/usr/bin/debreate», line 81, in Run
frame = debreate.MainWindow(None, -1, «», pos, size)
File «/usr/share/debreate/debreate.py», line 218, in __init__
self.page_build = panbuild.Panel(self.Wizard, ID_BUILD)
File «/usr/share/debreate/panbuild.py», line 36, in __init__
self.md5 = _md5.MD5()
AttributeError: ‘module’ object has no attribute ‘MD5’
antonio@co6rj-desktop:~$
Si me puedes ayudar te lo agradecería.
Yo lo usaba, pero no me trabaja en ubuntu 14.04, me da este error:
antonio@co6rj-desktop:~$ debreate
Traceback (most recent call last):
File “/usr/bin/debreate”, line 235, in
TestConfig()
File “/usr/bin/debreate”, line 232, in TestConfig
Run(pos, size, maximize, center, dias, cwd)
File “/usr/bin/debreate”, line 81, in Run
frame = debreate.MainWindow(None, -1, “”, pos, size)
File “/usr/share/debreate/debreate.py”, line 218, in __init__
self.page_build = panbuild.Panel(self.Wizard, ID_BUILD)
File “/usr/share/debreate/panbuild.py”, line 36, in __init__
self.md5 = _md5.MD5()
AttributeError: ‘module’ object has no attribute ‘MD5′
antonio@co6rj-desktop:~$
Si me puedes ayudar te lo agradecería.
No lo creo, aquí conexión bieeeeeen lentaaaa