diff --git a/content/posts/2022/portable-imagemagick.md b/content/posts/2022/portable-imagemagick.md new file mode 100644 index 0000000..dfb97a3 --- /dev/null +++ b/content/posts/2022/portable-imagemagick.md @@ -0,0 +1,78 @@ +--- +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 ;)