У меня были некоторые проблемы с ImageMagick, и мне сказали, что стандартный пакет Ubuntu ImageMagick является древней версией , и мне нужно обновить его, чтобы решить мои проблемы.
Как я могу это сделать? У меня последняя версия Ubuntu (12.10). Synaptic показывает мне 8:6.7.7.10-2ubuntu4
как последнюю версию IM. Это означает, что моя версия IM - 6.7.7.10
(convert --version
выводит то же самое). IM не предоставляет deb binaries . В Debian есть что-то более новое , но в некоторых ветках тестирования / эксперимента, если я правильно понимаю. Я нашел IM на Launchpad , но нет никаких инструкций, как добавить это в мои источники, похоже, это не один из обычных PPA, с которыми я встречаюсь при поиске последней / бета-версии программного обеспечения. Я не знаю, как с этим работать.
Есть ли способ, как пометить упаковку, которая будет взята из некоторых передовых источников, и оставить оставшуюся часть моей системы из стандартных источников? Вероятно, было бы лучше обновить его до последней стабильной версии IM (6.8
), но это, вероятно, научно, так как даже в Debian это не так. Однако мне нужно хотя бы 6.7.9
.
Примечание: Я хочу избежать компиляции из источника. Я ненавижу устанавливать что-то и не могу с этим легко манипулировать с помощью apt-get
или Synaptic. Более того, нет обновлений для скомпилированных программ. Всегда я собираю, я чувствую, что иду против системы, как с помощью клея, проводов и скотча. Нет, я не хочу компилировать это точно.
Обратите внимание: Хотя Хонза первоначально сказал, что не хочет компилировать, мы обсуждали использование checkinstall
для установки скомпилированного пакета в комментариях выше. Это было именно то, чего хотел Хонза , поскольку программы, установленные с checkinstall
, можно удалить, как и любой другой пакет, с помощью менеджера пакетов.
Поскольку мы устанавливаем в /opt
, используя checkinstall
после сборки, мы можем оставить оригинальный пакет 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
Теперь, если вы хотите узнать доступные параметры для сборки, запустите [ 1140]
./configure --help
Однако, в основном все уже установлено на enabled
, поэтому нет необходимости указывать что-либо еще, кроме необходимого --prefix
. Вы можете использовать другие местоположения, но мы будем использовать /opt
здесь. Теперь запустите configure
и make
:
./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
вызовет версию репо. Вы можете создать несколько символических ссылок, если хотите всегда запускать версию программ /opt
.
Пожалуйста, обратите внимание , что именно этого хотел Хонза , хотя он изначально был склонен к компиляции, пока не обсуждался checkinstall
.
В настоящее время вы можете получить AppImage для ImageMagick (здесь). Вам нужно только пометить файл как исполняемый, например, с помощью 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