如何在不编译的情况下安装最新的ImageMagick上游版本?

我有一些与ImageMagick的问题,我被告知Ubuntu的默认ImageMagick包是一个古老版本 ,我应该升级以解决我的问题。

我怎样才能做到这一点? 我有最新的Ubuntu版本(12.10)。 Synaptic向我展示了8:6.7.7.10-2ubuntu4作为IM的最新版本。 这意味着我的IM版本是6.7.7.10convert --version输出相同)。 IM 本身不提供deb二进制文件 。 Debian 有一些更新的东西 ,但在一些测试/实验分支中,如果我理解得很好。 我在Launchpad上发现了IM ,但没有说明如何将其添加到我的源代码中,它似乎不是我在搜索最新/ beta软件时遇到的常见PPA之一。 我不知道如何使用这个。

有没有办法如何标记从一些前沿来源获取的包,并让我的系统的其余部分从标准来源中取出? 升级到IM( 6.8 )的最后一个稳定版本可能是最好的,但这可能是sci-fi,因为它甚至不在Debian中。 但是,我至少需要6.7.9


注意:我想避免从源代码编译。 我讨厌安装一些东西,而不能用apt-get或Synaptic轻松操作它。 此外,编译程序没有更新。 总是我编译我觉得要反对系统,如使用胶水,电线和鸭子胶带。 不,我不想肯定地编译它。

请注意:尽管Honza最初表示他不想编译,但我们讨论了使用checkinstall在上面的评论中安装已编译的软件包。 这正是Honza想要的,因为安装了checkinstall程序可以像包管理器一样被删除。


当我们在构建之后使用checkinstall安装到/opt ,我们可以保留原始的imagemagick包。 (事实上​​,如果尚未安装存储库版本,请安装它。)可以保留依赖关系,并且对于最新版本的imagemagick它们也没有区别。 我们需要做的是首先安装构建依赖项和其他一些工具:

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

从官方网站下载源代码,使用终端, cd到源包的位置并提取它:

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

现在转到该文件夹

 cd Imagemagick-6.8.3-9 

现在,如果要查找构建的可用选项,请运行

 ./configure --help 

但是,大部分内容都已设置为enabled ,因此除了必要的--prefix之外,几乎不需要进一步指定任何内容。 您可以使用其他位置,但我们将在这里使用/opt 。 现在运行configuremake

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

现在,最后要做的是使用checkinstall来安装软件包。 确保您位于Imagemagick-6.8.3-9文件夹中并运行

 sudo checkinstall 

您当然可以使用--pkgversion=等参数运行checkinstall ,或者在运行sudo checkinstall后选择它们,但是所有默认值都可以。 将创建的包名称将被称为imagemagick-6.8.3-9 ,它将安装在/opt/imagemagick-6.8

您现在还可以在Synaptic查看包并像其他任何包一样管理它,并且删除它不会导致其他包出现问题。

如果要运行新版本,则需要使用/opt/imagemagick-6.8/convert ,例如, /opt不在$PATH ,只运行convert将调用repo版本。 如果要始终运行程序的/opt版本,可以创建一些符号链接。

请注意 ,这是Honza想要的,即使他最初反对编译,直到讨论checkinstall