Blog/content/posts/2022/portable-imagemagick.md

79 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "🖼️ Портативный ImageMagick в Linux"
date: 2022-09-17T22:23:58+03:00
draft: false
tags: [guide, linux, imagemagick]
---
## ImageMagick
Набор программ для чтения и редактирования файлов множества графических форматов.
Является свободным и кроссплатформенным программным обеспечением. _(с) Википедия_
Во многих дистрибутивах продукт поставляется из коробки (скорее всего как зависимость),
однако у меня в [Porteus](http://porteus.org/) (основан на [Slackware](http://www.slackware.com/))
пакет отсутсвует.
Более чем начинающий пользователь ОС на базе ядра Linux
знаком с [AppImage](https://appimage.org/).
**AppImage** - это приложения, которые запускаются в любом месте.
На странице загрузки [ImageMagick](https://imagemagick.org/script/download.php#linux)
первым в списке представлен вариант AppImage.
Я даже не могу вспомнить, кто из разработчиков ПО
предлагал загрузить их программу в пакете AppImage
по умолчанию.
В релизах на странице проекта на [GitHub](https://github.com/ImageMagick/ImageMagick/releases)
представлены для загрузки исключительно AppImage пакеты.
Даже в двух вариантах, собранных GCC и Clang.
На сайте ImageMagick написано, что образ AppImage имеет открытую политику безопасности.
Они также настоятельно рекомендуют настроить политику безопасности.
Для этого необходимо просто добавить [пользовательскую политику](https://imagemagick.org/script/security-policy.php)
безопасности в свой локальный путь,
например, `~/.config/ImageMagick/policy.xml` и проверьте с помощью этой команды:
```sh
./magick -list policy
```
## Использование
В других дистрибутивах, где ImageMagick собирается из исходных кодов
доступна команда `convert`.
В сети множество примеров обработки изображений посредством этой утилиты.
В случае использования образа AppImage необходимо запускать `convert` как аргумент.
```sh
magick convert
```
## GCC or Clang
Несмотря на то, что я загрузил **Clang** версию `ImageMagick--clang-x86_64.AppImage` (7.1.0-48)
со страницы [GitHub](https://github.com/ImageMagick/ImageMagick/releases/tag/7.1.0-48),
запуск утилиты с параметром `--version` говорить мне, что программа собрана **GCC**.
```text
magick --version
Version: ImageMagick 7.1.0-48 Q16-HDRI x86_64 c1ca24765:20220910 https://imagemagick.org
Copyright: (C) 1999 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI OpenMP(3.1)
Delegates (built-in): bzlib djvu fontconfig freetype jbig jng jpeg lcms lqr lzma openexr png raqm tiff webp x xml zlib
Compiler: gcc (4.2)
```
ХЗ почему так, работает и пофиг.
## Размеры
AppImage пакет занимает ~27MB, против ~11MB в том же ArchLinux.
Да больше, но зато я не буду увеличивать энтропию,
тратить процессорное время и собирать из исходных кодов.
Use AppImage, Luke ;)