Compilando fuente en un paquete DEB

34

Siempre tuve problemas para instalar y eliminar el software compilado, así que decidí que me gustaría construir el software desde la fuente en un paquete .deb para facilitar la instalación / eliminación.

Como usuario final , me gustaría conocer una manera fácil y corta de construir código fuente en un paquete .deb .

Yo he tratado:

  • ubucompilator , que no funcionó para mí
  • Así es como guiar, pero lo encontré demasiado largo
Ashu
fuente
1
Ubucompilator es un proyecto interesante, y aplaudo sus esfuerzos hasta la fecha. Sin embargo, como descubrió, solo proporciona una interfaz gráfica de usuario para cuatro o cinco comandos de bajo nivel. Y, NO, no puede usarlo para crear fácilmente un paquete '.deb' adecuado.
david6

Respuestas:

47

checkinstall hace lo que desea lograr: controlará qué archivos se instalan y los colocará en un paquete .deb, que luego se puede instalar y eliminar

Instalarlo con

apt-get install checkinstall

luego realiza la instalación normal desde el procedimiento de origen, reemplazando 'sudo make install' por 'sudo checkinstall':

  ./configure
  make
  sudo checkinstall

Referencia: https://help.ubuntu.com/community/CheckInstall

Floyd
fuente
9

Tenemos una muy buena Guía de empaque que tiene una sección sobre el tema de los nuevos paquetes .

planta rodadora
fuente
1
Recomiendo este enlace, ya que contiene toda la información que alguien necesitaría. Además, si hay preguntas específicas, puedo ayudar con ellas, pero no para explicar todo el procedimiento de creación de un paquete debian desde la fuente.
Thomas Ward
@ppumkin: actualizado.
planta rodadora
6

He usado el make checkinstallcomando en varias ocasiones para crear un .debpaquete en una máquina para instalarlo en mis otros servidores. Es una forma rápida de instalar una versión Beta. Funciona, pero debe usarse con precaución. Hay dificultades para el usuario que no comprende las muchas funciones del .debpaquete.

Tengo unos veinte servidores que usan las mismas aplicaciones locales. Agregar el soporte de compilación y el compilador a cada host no es tan difícil.

Introducir los comandos para descargar y compilar una nueva versión veinte veces lleva mucho tiempo. La alternativa es cargar un script para hacer la tarea y luego ejecutar el script. Pero a menudo es más fácil actualizar aplicaciones usando el .debarchivo creado con checkinstall.

C Schuman
fuente
0

La tarea de empaquetar una pieza aleatoria de código de software en un .deb es bastante complicada si el software ya no viene en esa forma, especialmente en comparación con solo make, make install. Si quieres que las cosas sean más simples, creo que te estás moviendo en la dirección equivocada.

No digo que no puedas hacerlo, los desarrolladores de Debian lo hacen mucho. Pero no parece ser la forma más sencilla de hacer lo que quieres.

Tal vez debería concentrarse más en aprender cómo compilar e instalar el software de la fuente "funciona". A su favor está el hecho de que todo lo que haya instalado usted mismo debería terminar en / usr / local

thomasrutter
fuente
gracias por la sugestión, pero ya sé cómo compilar softwares, he guardado algunos de ellos compilados en mi sistema. Lo único que encuentro difícil es actualizarlos o eliminarlos. Así que pensé que un archivo deb sería más útil
Ashu
La razón por la que un paquete Deb puede actualizarse o eliminarse sin problemas es que alguien ha escrito scripts minuciosamente que hacen esto, para cada paquete. Además, han tenido que agregar muchos otros metadatos descriptivos que dpkg puede usar para determinar qué archivos son. Tendrás tu trabajo cortado por ti.
thomasrutter
1
En realidad, solo ve con la respuesta de Floyd. ¡Parece una solución mucho mejor en general, si realmente hace lo que dice!
thomasrutter
Sip. La solución de Floyd es excelente. Especialmente ahora, es extremadamente maduro. Ahora no tengo que construir desde la fuente en toneladas de servidores. :)
Jack_Hu