¿Cómo puedo instalar la última versión anterior de ImageMagick sin compilar?

15

Tuve algunos problemas con ImageMagick y me dijeron que el paquete predeterminado ImageMagick de Ubuntu es una versión antigua y que debería actualizar para resolver mis problemas.

¿Cómo puedo hacer eso? Tengo la última versión de Ubuntu (12.10). Synaptic me muestra 8:6.7.7.10-2ubuntu4como la última versión de IM. Significa que mi versión de IM es 6.7.7.10( convert --versionproduce lo mismo). IM no proporciona binarios deb en sí. Debian tiene algo más nuevo , pero en algunas ramas experimentales / de prueba si lo entiendo bien. Encontré IM en Launchpad , pero no hay instrucciones de cómo agregar esto a mis fuentes, parece que no es uno de los PPA habituales que encuentro cuando busco el último software / beta. No sé cómo trabajar con este.

¿Hay alguna manera de marcar un paquete que se tomará de algunas fuentes innovadoras y dejar que el resto de mi sistema se tome de fuentes estándar? Probablemente sería lo mejor actualizar a la última versión estable de IM ( 6.8), pero eso es probablemente ciencia ficción, ya que ni siquiera está en Debian. Sin embargo, necesito al menos 6.7.9.


Nota: Quiero evitar la compilación de la fuente. Odio haber instalado algo y no poder manipularlo fácilmente con apt-getSynaptic. Además, no hay actualizaciones para programas compilados. Siempre compilo tengo ganas de ir en contra del sistema, como usar pegamento, cables y cinta adhesiva. No, no quiero compilarlo con seguridad.

Honza Javorek
fuente
La forma más fácil de obtener nuevas versiones es ayudar a empaquetar la nueva versión y cargarla para los encargados del mantenimiento. Sugiera unirse al equipo de launchpad.net/imagemagick o preferiblemente trabaje en sentido ascendente.
fossfreedom
Eso sería bueno, pero soy desarrollador de Python sin ningún conocimiento profundo del empaquetado de Ubuntu / Debian, por lo que es una tarea más bien para las personas que están más cerca de la administración de DevOps / packaging / UNIX.
Ayudaré
Por lo que puedo ver, realmente no hay una respuesta que no sea compilar y empaquetar, de ahí la sugerencia.
fossfreedom
Sé que dijiste que no quieres compilar, pero esto puede ser interesante: puedes mantener tu imagemagickpaquete existente y sus dependencias con este método. Puede ejecutar configure with --prefix=/opt, compilar el programa y luego instalarlo /optcon checkinstall, para que pueda administrar la versión compilada como un paquete a través de apt-get. Si desea utilizar la nueva versión, debe especificar /opt/bin/convertcuándo se ejecuta convert, a menos que cree algunos enlaces simbólicos. De cualquier manera, puede conservar tanto la versión del paquete estándar como la versión compilada
1
Bueno, no lo sabía checkinstall. Si lo entiendo bien, debería instalar una versión compilada del programa en mi sistema y luego representarlo como un paquete en Synaptic, lo que significa que puedo eliminarlo de manera segura y fácil más adelante. ¡Eso seria genial!
Honza Javorek

Respuestas:

18

Nota: aunque Honza inicialmente dijo que no quería compilar, discutimos el uso checkinstallpara instalar el paquete compilado en los comentarios anteriores. Eso era justo lo que Honza quería, ya que los programas instalados con checkinstallse pueden eliminar como cualquier otro paquete con el administrador de paquetes.


Como estamos instalando para /optusar checkinstalldespués de la compilación, podemos dejar el imagemagickpaquete original en su lugar. (De hecho, instale la versión del repositorio si aún no está instalada). Las dependencias se pueden dejar instaladas y no son diferentes para la versión más reciente de imagemagick. Lo que debemos hacer es instalar las dependencias de compilación y algunas otras herramientas antes que nada:

sudo apt-get install build-essential checkinstall && sudo apt-get build-dep imagemagick

Descargue el código fuente del sitio oficial y, utilizando la terminal, cda donde está el paquete fuente y extráigalo:

tar -xzvf ImageMagick-6.8.3-9.tar.gz

Ahora muévase a esa carpeta con

cd Imagemagick-6.8.3-9

Ahora, si desea conocer las opciones disponibles para la compilación, ejecute

./configure --help

Sin embargo, en su mayoría todo ya está configurado enabled, por lo que hay poca necesidad de especificar algo más, aparte de lo necesario --prefix. Podrías usar otras ubicaciones, pero usaremos /optaquí. Ahora corre configurey make:

./configure --prefix=/opt/imagemagick-6.8 && make

Ahora, lo último que debe hacer es usar checkinstallpara instalar el paquete. Asegúrate de estar en la Imagemagick-6.8.3-9carpeta y ejecuta

sudo checkinstall

Por supuesto, puede ejecutar checkinstallcon parámetros como --pkgversion=o elegirlos después de haber ejecutado sudo checkinstall, pero todos los valores predeterminados están bien aquí. Se llamará al nombre del paquete que se creará imagemagick-6.8.3-9y se instalará en /opt/imagemagick-6.8.

Ahora también podrá ver el paquete Synapticy administrarlo como cualquier otro paquete, y eliminarlo no causará problemas con otros paquetes.

Si desea ejecutar sus nuevas versiones, deberá usar /opt/imagemagick-6.8/convert, por ejemplo, como /optno está $PATH, y solo ejecutar ejecutará convertla versión de repositorio. Podrías crear algunos enlaces simbólicos si quisieras ejecutar siempre la /optversión de los programas.

Tenga en cuenta que esto es lo que Honza quería, a pesar de que inicialmente era reacio a compilar, hasta que checkinstallse discutió.

Comunidad
fuente
¡Gracias! En realidad, mi pregunta era originalmente "¿Cómo puedo instalar la última versión actual de ImageMagick?", El moderador fossfreedom agregó la parte "sin compilar" , probablemente después de leer mi nota al final de mi pregunta.
Honza Javorek
1
El camino adecuado a convertes /opt/imagemagick-6.x/bin/convert. Al menos es así para la versión 6.9.1 que instalé ahora. Tu camino falta /bin/.
Rafal
Tengo el siguiente error al intentar instalar las dependencias de compilación: Unable to find a source package for imagemagick. Pude instalar dependencias de esta manera: sudo apt-get install imagemagick libmagick++-devcomo se detalla aquí .
bwroga
Otra razón que puede ver Unable to find a source package for imagemagickes que necesita descomentar las fuentes deb-src en /etc/apt/source.list para que se encuentre ese paquete.
Michael
Tenga en cuenta que tuve que hacer ldconfigdespués checkinstallpara actualizar los enlaces.
Joshua Pinter el