web-dev-qa-db-fra.com

Comment puis-je installer la dernière version amont d'ImageMagick sans la compiler?

J'ai eu quelques problèmes avec ImageMagick et on m'a dit que le paquet ImageMagick par défaut d'Ubuntu est une version ancienne et que je devrais effectuer une mise à niveau pour résoudre mes problèmes.

Comment puis je faire ça? J'ai la dernière version d'Ubuntu (12.10). Synaptic me montre 8:6.7.7.10-2ubuntu4 en tant que dernière version de IM. Cela signifie que ma version de messagerie instantanée est 6.7.7.10 (convert --version affiche le même résultat). IM ne fournit pas les binaires deb lui-même. Debian a quelque chose de plus récent , mais dans certaines branches test/expérimentales si je le comprends bien. J'ai trouvé MI sur Launchpad , mais il n'y a pas d'instructions pour l'ajouter à mes sources, il semble que ce ne soit pas l'un des PPA habituels que je rencontre lorsque je cherche le dernier logiciel/bêta. Je ne sais pas comment travailler avec celui-ci.

Existe-t-il un moyen de marquer un paquet à partir de sources bleeding Edge et à laisser le reste de mon système à partir de sources standard? Il serait probablement préférable de passer à la dernière version stable de IM (6.8), mais c'est probablement de la science-fiction car ce n'est même pas dans Debian. Cependant, j'ai besoin d'au moins 6.7.9.


Remarque: Je souhaite éviter la compilation à partir de la source. Je déteste avoir installé quelque chose et ne pas être capable de le manipuler facilement avec apt-get ou Synaptic. De plus, il n'y a pas de mises à jour pour les programmes compilés. Toujours je compile, je sens que je vais à l’encontre du système, en utilisant de la colle, des fils et du ruban adhésif. Non, je ne veux pas le compiler à coup sûr.

14
Honza Javorek

Remarque: Même si Honza avait initialement indiqué qu'il ne voulait pas compiler, nous avons discuté de l'utilisation de checkinstallpour installer le paquet compilé. dans les commentaires ci-dessus. C’était justement ce que Honza voulait, car les programmes installés avec checkinstallpeuvent être supprimés comme tout autre paquet avec le gestionnaire de paquets.


Lors de l'installation de /opt à l'aide de checkinstallaprès la construction, nous pouvons laisser le package imagemagickd'origine à la place. (Enfait, installez la version du référentiel si ce n'est déjà fait.) Les dépendances peuvent être laissées installées, et elles ne sont pas différentes pour la version la plus récente de imagemagickname__. Ce que nous devons faire, c’est d’abord installer les dépendances de construction et quelques autres outils:

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

Téléchargez le code source de site officiel et, à l'aide du terminal, cdname__, où se trouve le paquet source, et extrayez-le:

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

Maintenant, déplacez vers ce dossier avec

cd Imagemagick-6.8.3-9

Maintenant, si vous voulez connaître les options disponibles pour la construction, lancez

./configure --help

Cependant, la plupart du temps, tout est déjà défini sur enabledname__; il est donc inutile de spécifier quoi que ce soit, à part le --prefix nécessaire. Vous pouvez utiliser d'autres emplacements, mais nous utiliserons /opt ici. Exécutez maintenant configureet makename__:

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

La dernière chose à faire est d’utiliser checkinstallpour installer le paquet. Assurez-vous que vous êtes dans le dossier Imagemagick-6.8.3-9 et exécutez

Sudo checkinstall

Vous pouvez bien sûr exécuter checkinstallavec des paramètres tels que --pkgversion= ou les choisir après avoir exécuté Sudo checkinstall, mais toutes les valeurs par défaut sont correctes ici. Le nom du paquet qui sera créé s'appellera imagemagick-6.8.3-9 et sera installé dans /opt/imagemagick-6.8.

Vous pourrez maintenant voir le paquet dans Synapticet le gérer comme n'importe quel autre paquet; sa suppression ne causera pas de problèmes avec les autres paquets.

Si vous souhaitez exécuter vos nouvelles versions, vous devrez utiliser /opt/imagemagick-6.8/convert, par exemple, car /opt ne se trouve pas dans $PATH et l'exécution de convertappellera la version du référentiel. Vous pouvez créer des liens symboliques si vous souhaitez toujours exécuter la version /opt des programmes.

Veuillez noter que c'est ce que Honza voulait, même s'il était initialement opposé à la compilation, jusqu'à ce que checkinstallsoit discuté.

17
user76204