Як я можу встановити останню версію версії ImageMagick без компіляції?


15

У мене виникли деякі проблеми із ImageMagick, і мені сказали, що пакет Ubuntu за замовчуванням ImageMagick - це давня версія, і мені слід оновити, щоб вирішити свої проблеми.

Як я можу це зробити? У мене остання версія Ubuntu (12.10). Synaptic показує мене 8:6.7.7.10-2ubuntu4як останню версію чату. Це означає, що моя версія IM 6.7.7.10( convert --versionвиходить однакова). IM не надає самих бінарних даних . У Debian є щось більш нове , але в деяких тестових / експериментальних галузях, якщо я це добре розумію. Я знайшов чат на Launchpad , але немає вказівок, як додати це до своїх джерел. Здається, це не один із звичайних PPA, з якими я зустрічаюсь під час пошуку останнього / бета-програмного забезпечення. Я не знаю, як з цим працювати.

Чи є спосіб, як позначити пакунок, який потрібно взяти з деяких джерел кровотоку, а решту моєї системи взяти зі стандартних джерел? Було б, мабуть, найкраще оновити до останньої стабільної версії IM ( 6.8), але це, мабуть, наукова фантастика, як це навіть не в Debian. Однак мені потрібно щонайменше 6.7.9.


Примітка. Я хочу уникати компіляції з джерела. Я ненавиджу, що я щось встановив і не мав змоги з ним легко маніпулювати apt-getабо Synaptic. Більше того, оновлень для складених програм немає. Завжди компілюючи, я відчуваю, що йду проти системи, як, наприклад, використовуючи клей, дроти та качкову стрічку. Ні, я не хочу його точно складати.


Найпростіший спосіб отримати нові версії - це фактично допомогти з упаковкою нової версії та завантаженням її для обслуговуючого персоналу. Запропонуйте приєднатися до команди startpad.net/imagemagick або бажано працювати вище за течією.
fossfreedom

Це було б добре, але я розробник Python з абсолютно не глибокими знаннями упаковки Ubuntu / Debian, тому це завдання, а не для людей, які ближче до управління DevOps / Packaging / UNIX. Я допоможу світові, написавши бібліотеки Python з відкритим кодом :)
Honza Javorek

Насправді немає відповіді, наскільки я бачу, крім компіляції та упаковки, отже, пропозиція.
fossfreedom

Я знаю, ви сказали, що не хочете збирати, але це може зацікавити: Ви можете зберегти свій існуючий imagemagickпакет та його залежності за допомогою цього методу. Ви можете запустити Configure з --prefix=/opt, скомпілювати програму, а потім встановити на /optз checkinstall, так що ви можете керувати скомпільовану версію у вигляді пакету з допомогою apt-get. Якщо ви хочете скористатися новою версією, вам потрібно вказати /opt/bin/convertчас запуску convert, якщо ви не створили кілька посилань. У будь-якому випадку ви можете зберегти як стандартну версію пакета, так і компільовану версію

1
Ну, я про це не знав checkinstall. Якщо я правильно це розумію, він повинен встановити в мою систему скомпільовану версію програми, а потім представити її як пакет в Synaptic або близько того, що означає, що я можу їх безпечно і легко видалити пізніше. Було б чудово!
Honza Javorek

Відповіді:


18

Зверніть увагу: Хоча Honza спочатку сказав, що він не хоче компілювати, ми обговорили використання checkinstallдля встановлення компільованого пакета у коментарях вище. Це було саме те, що хотів Honza , оскільки програми, встановлені за допомогою, checkinstallможна видалити, як і будь-який інший пакет із менеджером пакунків.


Оскільки ми встановлюємо /optвикористання checkinstallпісля збирання, ми можемо залишити оригінальний imagemagickпакет на місці. (Infact, встановіть версію сховища, якщо вона ще не встановлена.) Залежності можна залишити встановленими, і вони не відрізняються для останньої версії 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

Ви, звичайно, можете запускати 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було обговорено.


Дякую! Власне, моє запитання спочатку було лише "Як я можу встановити поточну останню версію ImageMagick", "без компіляції" частину додав модератор fossfreedom , ймовірно, прочитавши мою записку в кінці запитання.
Honza Javorek

1
Правильний шлях до convertє /opt/imagemagick-6.x/bin/convert. Принаймні, саме так для версії 6.9.1, яку я встановив зараз. Ваш шлях відсутній /bin/.
Рафал

Я отримав наступне повідомлення про помилку при спробі встановити залежності для збирання: Unable to find a source package for imagemagick. Мені вдалося встановити залежності таким чином: sudo apt-get install imagemagick libmagick++-devяк детальніше тут .
bwroga

Ще одна причина, яку ви можете побачити, Unable to find a source package for imagemagick- вам потрібно скасувати джерела deb-src в /etc/apt/source.list, щоб знайти пакет.
Майкл

Зауважте, мені довелося це зробити ldconfigпісля того, checkinstallщоб оновити зв'язки.
Джошуа Пінтер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.