De vez en cuando, es posible que tengamos que instalar algo desde la fuente debido a varias razones. Si bien es bastante estándar cómo instalar el software dadas las dependencias apropiadas, no me queda claro cómo administrar dicha instalación para su conveniencia futura.
Más específicamente:
¿Qué podemos hacer para garantizar una desinstalación fácil y limpia (incluidas las dependencias que se instalan justo antes y solo para el software instalado desde la fuente)?
¿Qué podemos hacer para garantizar una actualización fácil y limpia del mismo software, que probablemente se volverá a instalar desde la fuente?
¿Qué podemos hacer para minimizar el conflicto potencial si hay un paquete predeterminado (instalado usando apt-get), así como la versión (más reciente) del paquete (instalada desde la fuente)?
apt-get src
probablemente no pueda ayudar en tales casos.En primer lugar, mucho depende de cómo gestione sus códigos fuente. Hago un directorio como
~/sources
y pongo cada programa en sus subdirectorios, mientras que otros crearán un nuevo directorio para cada programa.Del mismo modo, algunos como yo, crean un nuevo subdirectorio para cada nueva versión y eliminan las versiones anteriores solo cuando se garantiza que no haya errores significativos en la nueva versión que detenga mi trabajo.
No existe una única forma de hacer esto, pero de cualquier forma que elija, elija la que le resulte más fácil de administrar .
Desinstalación limpia
Sugeriría crear un
rem_dep.sh
script que se vea así.¿Dónde
dep1, dep2, depn
están las dependencias?Actualización limpia y fácil
Si obtiene el código fuente de un sistema de versiones automatizado como
git
obazaar
o si los enlaces son predecibles, puede crear un script de shell queEn otros casos también, puede crear tales scripts con trabajo manual hasta cierto punto.
Manejo de conflictos
--prefix
opción mientras instala softwares y dependencias.fuente
Construir dependencias:
AFAIK deben registrarse manualmente. Puede crear un archivo como README para mantener una lista de dependencias instaladas manualmente.
Si ese software ya tiene un binario integrado en los repositorios Ubuntu o PPA. El seguimiento de las dependencias durante la instalación debería ser más fácil:
Desinstalación limpia:
Mantenga la carpeta de origen configurada e instalada. Mejor si reúne todas las fuentes en una carpeta específica con el archivo de dependencias instaladas.
Actualización limpia y aislamiento de archivos instalados:
Instalarlos en específico
--prefix
(preferiblemente--prefix=/opt/software_name-version/
).Esto resolverá muchos problemas: versiones concurrentes con la del repositorio; actualización limpia; más fácil para la desinstalación sucia en caso de que se elimine la fuente.
Más sofisticado o la mejor manera, como @muru responde, Cree un paquete Debian (para paquetes disponibles en repositorios Ubuntu / PPA)
fuente