如何在不编译的情况下安装最新的ImageMagick上游版本?
我有一些与ImageMagick的问题,我被告知Ubuntu的默认ImageMagick包是一个古老版本 ,我应该升级以解决我的问题。
我怎样才能做到这一点? 我有最新的Ubuntu版本(12.10)。 Synaptic向我展示了8:6.7.7.10-2ubuntu4
作为IM的最新版本。 这意味着我的IM版本是6.7.7.10
( convert --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
。 现在运行configure
和make
:
./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
。