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

如何在不编译的情况下安装 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 上的即时通讯,但没有说明如何将其添加到我的源中,似乎这不是我在搜索最新/测试版软件时遇到的常见 PPA 之一。我不知道如何使用这个。

有没有办法标记要从某些前沿技术源,而让系统的其余部分从标准源获取?升级到 IM 的最后一个稳定版本 ( 6.8) 可能是最好的选择,但这可能太过科幻,因为 Debian 中甚至没有。但是,我至少需要6.7.9


笔记:我想避免从源代码编译。我讨厌安装了某些东西却不能用apt-get或 Synaptic 轻松操作它。此外,编译后的程序没有更新。每次我编译时,我都觉得是​​在与系统作对,就像使用胶水、电线和胶带一样。不,我肯定不想编译它。

答案1

请注意:虽然洪扎最初说他不想编译,我们checkinstall在上面的评论中讨论了使用安装编译好的包。那正是洪扎需要,因为安装的程序checkinstall可以像任何其他包一样通过包管理器删除。


由于我们在构建后安装/opt使用,因此我们可以保留原始包。(事实上,如果尚未安装,请安装存储库版本。)依赖项可以保留安装,对于最新版本的,它们没有什么不同。我们需要做的是首先安装构建依赖项和一些其他工具:checkinstallimagemagickimagemagick

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

当然,您可以checkinstall使用诸如 之类的参数来运行--pkgversion=,或者在运行 之后选择它们sudo checkinstall,但这里所有默认值都可以。将要创建的包名称将被调用,imagemagick-6.8.3-9并将安装在 中/opt/imagemagick-6.8

现在您还可以查看该包Synaptic并像管理其他包一样对其进行管理,并且删除它不会对其他包造成问题。

如果您想要运行新版本,则需要使用/opt/imagemagick-6.8/convert,例如,因为/opt中没有$PATH,只需运行convert即可调用 repo 版本。如果您想始终运行/opt程序的版本,则可以创建一些符号链接。

请注意这就是洪扎尽管他最初不愿意编译,但直到checkinstall讨论之后才同意。

答案2

现在你可以获得一个用于 ImageMagick 的 AppImage (这里)。您只需将文件标记为可执行文件,chmod +x magick例如,然后将文件放在属于您的 PATH 的某个文件夹中(发出命令echo $PATH有效文件夹)。我通常将这些文件放在 下$HOME/.local/bin

当然,如果您不想使用终端,这些操作也可以通过图形实用程序(例如 Nautilus)完成。

使用这种方法,您可以有效地“安装而不编译”。请注意,您必须拥有 FUSE 和 libc(许多 Linux 发行版中已经具备)。

假设您有 wget,您可以使用以下命令:

cd ~
wget https://download.imagemagick.org/ImageMagick/download/binaries/magick
chmod +x magick
mkdir -p ~/.local/bin
mv magick ~/.local/bin 

相关内容