- Установка программ в Linux Mint.
- Для начала немного теории, для лучшего понимания сути.
- Пакетный менеджер дистрибутива.
- Системы развертывания и управления пакетами (Flatpak и Snap).
- Самодостаточные пакеты Appimage.
- Пакетом для пакетного менеджера дистрибутива с сайта разработчика.
- Сборка из исходного кода.
- Теперь перейдем к практике.
- Установка из штатного репозитория.
- Установочные пакеты linux mint
Установка программ в Linux Mint.
Перед тем, как начать серию статей с обзором софта под Линукс, будет разумно написать о том, как его в систему устанавливать. Это реализуется несколькими путями.
Для начала немного теории, для лучшего понимания сути.
Пакетный менеджер дистрибутива.
Система управления пакетами считается основным способом работы с софтом в Линукс. Пакеты — это (если грубо обобщить) архивы, содержащие в себе программы, а также различные компоненты, необходимые для их работы (библиотеки, иконки, звуки и прочее) и информацию о пакете (название, версия, зависимости, имя сборщика, email разработчика и т.д.). Пакеты хранятся в специальных защищенных сетевых хранилищах (репозиториях). В пакете с программой, обычно, находятся только компоненты, не встречающиеся больше нигде (есть дистрибутивы, где в одном пакете сразу полный фарш, но сейчас не о них). Всё остальное выносится в отдельные пакеты, которые указываются как зависимости и пакетный менеджер доустанавливает их самостоятельно (при их отсутствии. Если они уже установлены, то этот этап пропускается). Так делается, потому что многие компоненты используются разными программами (например, установка пакета language-pack-gnome-ru русифицирует сразу массу программ, прямо или косвенно относящихся к GTK средам (GNOME, Cinnamon, XFCE и т.д.) и тащить их каждый раз (если они уже установлены) нет никакого смысла.
Пакетных менеджеров существует несколько разновидностей. Как правило, большинство дистрибутивов являются производными от каких-либо других и используют пакетный менеджер и пакетную базу своего «предка». Например, Linux Mint основан на Ubuntu, который, в свою очередь, основан на Debian Sid, но все они используют пакетный менеджер APT и плюс/минус общую пакетную базу (она модифицируется разработчиками отдельных дистрибутивов под свои реалии, но не особо радикально).
Плюс такого подхода в том, что пользователю достаточно лишь отдать команду на установку/обновление/удаление мышкой в графике или текстом в консоли (всё остальное пакетный менеджер сделает сам), также скачиваться пакеты будут из защищенного хранилища (что почти исключает вероятность поймать что-нибудь вредоносное). Минус в том, что в стандартных репозиториях хранится только тот софт, который туда посчитали нужным добавить разработчики. Чего-то может не быть, что-то может быть устаревших версий, что-то может быть собрано не так, как нужно и.т.д. Существуют, также, сторонние репозитории, но их использование обусловлено некоторым риском — начиная от проблем совместимости, заканчивая вероятностью, что разработчик не чист на руку. Риски есть, но в подавляющем большинстве случаев сторонние репозитории выручают, чем приносят проблемы.
Системы развертывания и управления пакетами (Flatpak и Snap).
Помимо пакетного менеджера дистрибутива, софт в Линукс может распространяться с помощью специальных систем. Их две (названия указаны в заголовке). Суть в том, что там софт устанавливается и работает в специальных изолированных (от основной системы) средах. Поставляется тоже в виде пакетов, только пакеты эти организованы не для ОС, а именно для своей среды и идут из своих собственных репозиториев. Сделано это для унификации — среду исполнения можно установить на дистрибутив его пакетным менеджером, после чего, устанавливать программы уже в неё. Плюсы метода: через эти системы можно поставить софт свежайшей версии в дистрибутивы с устаревшей пакетной базой (тот же Debian Stable, например); устранение проблем совместимости (зависимости поставляются вместе с программой в этой среде и не имеет значения есть ли они в основной ОС); изолированность программ от основной системы не даст сломать её при обновлениях; некоторый софт можно найти только там. Минусы: всё это добро очень много весит (запросто может быть больше раз в 10-20, чем при установке из пакетного менеджера дистрибутива); внешний вид этих программ не будет соответствовать настройкам системы (разработчики, конечно, стараются оформить своё детище посимпатичнее, но выглядеть оно будет не так, как Вы настроили свою ОС, что мамкиным перфекционистам (типа меня) может не понравиться); работа через прослойку порождает проблемы с производительностью (обычно не критично, но многие софтины стартуют заметно дольше).
В Linux Mint используется Flatpak. От Snap из прародителя Ubuntu разработчики отказались в силу ряда причин, например агрессивного его нявязывания (популярные браузеры Firefox и Chromium там сейчас, например, поставляются только в виде snap-версий), но можно подключить его вручную, хоть смысла от этого мало — набор софта в обеих системах плюс/минус одинаковый, а технические их особенности конечному пользователю не особо важны (внешне работа будет одинакова).
Самодостаточные пакеты Appimage.
Это программы, собранные в один файл с необходимыми компонентами. В систему не устанавливаются, работают как portable программы в Windows. Плюсы: простота (скачал, права на исполнение выдал, двойным кликом запустил). Минусы: особого распространения формат не получил, поэтому нет многих нужных программ в таком виде; нет централизованного информационного ресурса — все пакеты нужно искать самостоятельно по одному (и не факт, что они существуют); отсутствие какой-либо изоляции может привести к проблемам с основной ОС, причем не обязательно из злого умысла — может разработчик не учёл какие-то особенности именно вашего дистрибутива; большой вес; обновления, чаще всего, вручную (правда, разработчики иногда добавляют возможности для автоматизации); интергация в систему чаще тоже руками (будет отдельная статья).
Пакетом для пакетного менеджера дистрибутива с сайта разработчика.
Ряд программ для Линукс предоставляются в виде отдельных пакетов для определенных дистрибутивов, которые можно скачать с сайта разработчика и установить себе. Без репозиториев и прочего. Плюсы: просто (скачал, установил). Минусы: если разработчик не включил данный софт в репозиторий, то у него на это, наверняка, были основания; с фишингового сайта можно скачать и установить себе совсем не то, что Вы ожидали (на текущий момент сценарий маловероятный, но вполне реальный, учитывая рост популярности Линукс (хотя я не верю, что он когда-нибудь займёт больше 5% на домашних компах. По крайней мере в современном виде); не факт что будет поддержка именно вашего дистрибутива.
Сборка из исходного кода.
Иногда возникают ситуации, когда пакет приходится собирать из исходного кода (предоставляемого разработчиком) самостоятельно. Возникает она когда никто не предоставил готовых пакетов или нужно осуществить сборку с опциями, отличными от принятых по умолчанию (зачастую с этой целью, например, самостоятельно собирают ядро ОС). В двух словах процесс не описать, да и он требует от пользователя некоторой подготовки, поэтому я подробно останавливаться не буду. Может в дальнейшем напишу отдельную статью на эту тему.
В дальнейшем я планирую серию статей на тему подборок программ по категориям (браузеры, офис, плееры, редакторы и т.д.). В этой же статье будет описываться сам процесс установки. Лично я придерживаюсь следующего алгоритма поиска источника (подразумевается, что я уже точно знаю какая именно программа мне нужна) и установки в Linux Mint:
- Поискать программу в штатных репозиториях. Если она там есть, устанавливаю.
- Если программы там не нашлось или она неподходящей версии (может быть слишком старой), ищу сторонний репозиторий. Чаще всего, это т.н. PPA — репозитории для Ubuntu и её производных (в частности, Linux Mint), что создаются и поддерживаются разработчиками программы или другими заинтересованными лицами. Если он существует, подключаю его, обновляю базу пакетов, устанавливаю. Стоит заметить, что это лично мой подход, сложившийся ещё до появления Flatpak. Вы же (если нет желания возиться со сторонними репозиториями, например) можете этот пункт пропустить.
- Если нет ни там ни тут, ищу Flatpak версию.
- Если не получилось с вышеперечисленными пунктами, ищу решение на сайте разработчика. Это может быть отдельный пакет, appimage и т.д.
- Если и там нет, собираю из исходников. Тут всё сильно неоднозначно, много зависит от разработчика и от дистрибутива — может пройти легко и просто, а может обернуться атомным мозгосексом.
Теперь перейдем к практике.
Для работы с пакетами в Linux Mint есть несколько графических утилит. Фокусироваться буду,в первую очередь на них, так как пишу для новичков, но буду также предоставлять и консольные команды. Их можно скопировать в терминал и применить клавишей «Enter». Единственно хотел бы уточнить, что если Вы решили для этого использовать хоткеи, то, если «копировать» из браузера осуществляется стандартным хоткеем Ctrl + C, то в терминал нужно вставлять с помощью Ctrl + Shift + V (Ctrl + V там используется с другими целями). Также можно использовать буфер мышки — выделить нужный текст мышкой, после чего вставить его в терминал на среднюю кнопку мыши (навести курсор на поле ввода и кликнуть колесом).
Утилита, которой я буду пользоваться — это Менеджер программ Linux Mint. Очень удобная софтина, позволяющая устанавливать и удалять пакеты из пакетного менеджера и из Flatpak.
Установка из штатного репозитория.
Для примера установим браузер Chromium, отсутствующий в Linux Mint искаропке, но присутствующий в штатном репозитории в актуальной версии.
Установочные пакеты linux mint
Существует несколько способов установить программное обеспечение в Linux Mint (или любой другой дистрибутив Linux). Загрузка файлов .deb и двойной клик по ним для установки программного обеспечения отсутсвующего в репозиториях — один из самых удобных способов.
В последнее время все чаще некоторые приложения предлагают к загрузке файлы с расширением .appimage . Попробуем пошагово разобрать данный формать дистрибуции программ и использование подобных файлов в Linux MInt
Что такое AppImage? :
Уже много лет мы используем пакеты формата DEB для дистрибутивов Linux на базе Debian / Ubuntu и RPM для дистрибутивов Linux на базе RedHat / SUSE.
Несмотря на то, что эти пакеты уже давно стали стандартом и обеспечивают удобный способ установки программного обеспечения для пользователей, а также сопровождения для мейнтейнеров дистрибутивов, разработчикам приложений готовить различные форматы пакетов под разные дистрибутивы видимо стало очень лениво.
AppImage — это универсальный формат пакетировани ПО. Упаковывая программное обеспечение в AppImage, разработчик предоставляет только один файл «для всех». Пользователь может одинаково устанавливать его в большинстве (если не всех) современных дистрибутивов Linux
AppImage не устанавливает программное обеспечение традиционным способом
Типичное программное обеспечение Linux будет при установке создавать файлы в различных директориях, требуя прав root для внесения этих изменений в систему.
AppImage этого не делает. Фактически, AppImage на самом деле не устанавливает программное обеспечение. Это сжатый образ со всеми зависимостями и библиотеками, необходимыми для запуска программы.
При запуске файла AppImage, вы запускаете программное обеспечение. Нет ни извлечения, ни установки. Вы удаляете файл AppImage, программное обеспечение удаляется (об этом далее). Вы можете сравнить его с .exe-файлами в Windows, которые позволяют запускать программное обеспечение без фактического прохождения процедуры установки.
- Может работать в разных дистрибутивах Linux
- Нет необходимости устанавливать и компилировать программное обеспечение
- Нет необходимости в правах root: системные файлы не затрагиваются
- Портативность: можно запускать в любом месте, включая Live-окружения
- Программное обеспечение удаляется, просто удалив файл AppImage
Все готово к запуску. Теперь обычном двойным кликом запускаем файл, и первым делом нас спрашивают хотим ли мы создать ярлык для запуска программы на рабочем столе.
Как удалять программы AppImage
Т.к. программы не устанавливаются — то и для удаления программы — достаточно удалить сам файл .appimage
Стоит только иметь ввиду, что те же ярлыки созданные программой автоматически не удалятся, т.к. никаких postrm-сценариев уже выполняться не будет.
Также стоит учесть что не каждая программа в данном формате поддерживает обновление встроенными механизмами, поэтому зачастую для перехода на новую версию — надо будет её скачать заново и удалить старую.
Подводя итог — AppImage справляется со своей задачей по унификации процесса дистрибуции по для различных дистрибутивов и может быть полезен конечным пользователям в плане удобства использования прикладных программ, пусть и ценой несколько раздутых объемов таких образов, включающих в себя все необходимые зависимости.