¿Puedo actualizar el software instalado desde el código fuente directamente


14

Aunque ha pasado casi un año desde que comencé a usar Ubuntu, no he intentado instalar el software desde la fuente. En realidad no encontré la necesidad de hacerlo. Pero ahora estoy trabajando en un software que se encuentra en la etapa de lanzamiento de candidatos en los repositorios, pero el código fuente de la última versión estable está disponible en la página de inicio del software.

Aprendí que instalar desde el código fuente puede ser difícil si el software tiene muchas dependencias. Sin embargo, si abordo eso, puedo estar feliz con la última versión. Pero sigo preguntándome si dicho software puede actualizarse automáticamente o si tendré que ejecutar algunos scripts para actualizar el paquete. ¿O peor aún, tendré que reinstalar cada actualización desde cero?

También estoy ansioso por saber si hay alguna ventaja específica de instalar desde una fuente distinta a la anterior.


Respuestas:


10

Es mejor tener en cuenta que las dependencias de un software rara vez cambian. Si ha compilado correctamente el software una vez, cualquier versión posterior debería ser fácil de compilar; todas las dependencias ya deberían estar satisfechas.

Si compiló desde la fuente, no existe .debun paquete similar que pueda usar para actualizar, a menos que espere a que la distribución incluya ese software en sus repositorios, o espere hasta que se actualice el PPA de los desarrolladores.

En pocas palabras, alguien tiene que compilarlo primero para convertirlo en un deb. Compilar una versión anterior no le daría la posibilidad de actualizar automáticamente, todavía tiene que pasar por todo el proceso "descargar-configurar-compilar-instalar".

Sin embargo , si desea instalar la misma versión en varias computadoras, tendría sentido empaquetar su versión compilada como .deb(o similar) y distribuirla a esas computadoras. Si se hace correctamente, las dependencias se incorporarían automáticamente.

En cuanto a las ventajas de instalar desde la fuente, los únicos dos que puedo pensar son:

  • Obtiene acceso a la última revisión del código, y tiene la opción de una versión estable o una versión de vanguardia (generalmente llamada versiones nocturnas, última revisión, etc.)
  • Ubuntu / other-distribution podría no querer incluir el software en sus repositorios. En ese caso, está atascado con el código fuente o los paquetes proporcionados por los desarrolladores o la comunidad. Es decir, no tiene más remedio que usar las fuentes.

44
Incluso si compila algo usted mismo para usarlo en 1 computadora, siempre es útil hacer un paquete .deb usted mismo, ya que lo ayuda a mantener una visión general del software instalado en un solo lugar y hace que la desinstalación o actualización también sea más fácil para usted.
JanC

4

De acuerdo a esto publicación , puede generar un paquete .deb después de compilar las fuentes. Luego, en lugar de "make install", puede instalar desde el paquete .deb. Eso facilita la actualización (si estaba en algún repositorio) porque el paquete será administrado por el administrador de paquetes que rastrea la actualización.

En el caso de compilar el paquete "algún paquete" desde las fuentes, y existen dependencias, puede intentar "apt-get build-dep some-package" para instalar automáticamente todas las dependencias necesarias para que pueda compilar su paquete, sin realizar un seguimiento manual de cada uno dependencia de ti mismo. De esa manera, las dependencias también son administradas por el administrador de paquetes y también deben actualizarse automáticamente.


3

gitVale la pena mencionar otra alternativa para los usuarios:

También puede usar git pulldespués de un anterior git clonepara actualizar su código fuente y luego recompilar su programa si lo desea. (También puede usar gitpara realizar un seguimiento adicional de los archivos: consulte la respuesta aquí ).

Si originalmente solía git cloneobtener el código fuente, como en, por ejemplo,

git clone git://github.com/person/programname.git

y retuvo la carpeta después de compilar e instalar, puede cd a la carpeta y ejecutar git pullpara obtener las últimas confirmaciones. Luego, elimine los directorios de compilación que haya creado y / o ejecutado make clean(si corresponde) y luego vuelva a compilar el software e instálelo concheckinstall , lo que también crea un paquete para usted (aunque no es adecuado para la distribución).

Sin embargo, si está ayudando con el desarrollo de un programa y necesita volver a compilar después de cada día, git pullentonces probablemente lo instalará en la carpeta de inicio, ya que sería innecesario instalarlo en la /usr/local/jerarquía cada vez.

A modo de ejemplo, si estoy probando y recompilando un programa de manera tan regular, me gustaría cd a mi carpeta de compilación después de obtener los últimos commits git pully ejecutar (para este programa en particular):

cmake .. -DCMAKE_BUILD_TYPE=Debug -DLAYOUT=home -DPREFIX=home

y luego compila la versión de depuración para probar.

Sin embargo, si simplemente quisiera compilar una nueva versión de su programa clonado git cada mes más o menos (y no lo estaba probando o depurando), generalmente lo instalaría en la /usr/local/jerarquía checkinstall.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.