Добавить в корзинуПозвонить
Найти в Дзене

ЛИН_4. Варианты установки ПО в линуксах (часть 2)

Продолжение. Начало - здесь. Универсальное средство распространения программных пакетов линукс. Можно установить один и тот же пакет на разные дистрибутивы, независимо от того, какие системные пакеты они используют, в этом они схожи с AppImage. С другой стороны, в случае обновления пакета система предупредит об этом, в то время как за обновлениями AppImage-пакета нужно следить «вручную» - заходить в хранилище и смотреть, не обновился ли пакет. В технические подробности реализации их механизмов в данной публикации погружаться не будем, так как основная задача - показать как пользоваться данными инструментами. Это будет рассмотрено отдельными статьями (flatpak, snap и AppImage), но сильно позже. В статье про рабочее место РП мы уже сталкивались с данными пакетами, когда устанавливали OnlyOffice. Это не сильно бросалось в глаза, так как пользовались для установки графическим инструментом «Менеджер приложений». Если не обращать внимание, что на плашке была надпись «flatpak», то установка т
Оглавление

Продолжение. Начало - здесь.

Пакеты flatpak и snap

Универсальное средство распространения программных пакетов линукс. Можно установить один и тот же пакет на разные дистрибутивы, независимо от того, какие системные пакеты они используют, в этом они схожи с AppImage. С другой стороны, в случае обновления пакета система предупредит об этом, в то время как за обновлениями AppImage-пакета нужно следить «вручную» - заходить в хранилище и смотреть, не обновился ли пакет.

В технические подробности реализации их механизмов в данной публикации погружаться не будем, так как основная задача - показать как пользоваться данными инструментами. Это будет рассмотрено отдельными статьями (flatpak, snap и AppImage), но сильно позже.

Пакеты flatpak

В статье про рабочее место РП мы уже сталкивались с данными пакетами, когда устанавливали OnlyOffice. Это не сильно бросалось в глаза, так как пользовались для установки графическим инструментом «Менеджер приложений». Если не обращать внимание, что на плашке была надпись «flatpak», то установка такого пакета в «Менеджере приложений» ничем не отличается от установки системного пакета.

В Linux Mint возможность использования flatpak-пакетов доступна уже «из коробки». Тем не менее такое - не во всех дистрибутивах. Поэтому первым делом давайте посмотрим, как подключить использование flatpak-пакетов в дистрибутивах, где такая опция не настроена, как, например, в Debian LXDE.

Первым делом надо установить пакет flatpak:

sudo apt install flatpak

-2

Следующим шагом - нужно подключиться к репозитарию flatpak. Их - несколько, но наиболее крупный - Flathub. Для подключения необходимо выполнить следующую команду:

flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

-3

В процессе подключения ОС запросит авторизацию:

-4

После этого следует перезагрузить компьютер.

Работа с flatpak через графический интерфейс

После этого нам нужно установить и настроить «Центр приложений» (gnome-software). Установку gnome-software - см. выше в конце раздела «системные зависимости». Для того, чтобы в нем отражались не только системные пакеты, но flatpak, нужно установить плагин:

sudo apt install gnome-software-plugin-flatpak

-5

Собственно установка и настройка закончена. Давайте вначале посмотрим графический интерфейс, для этого откроем «Центр приложений» (в главном меню, разделе «Параметры»):

-6

Принцип работы в «Центре приложений» приблизительно такой же, как и в «Менеджере приложений» Linux Mint, который мы использовали ранее. Вводим название приложения или тип (например, browser), «Центр приложений» выдаст все возможные приложения, подходящие под ваш поисковый запрос, в виде плашек с названиями приложений:

-7

Далее кликнуть по плашке. Если для устанавливаемой программы есть оба варианта установки (и системный пакет, и flatpak), то можно выбрать вариант установки, после выбора - нажать кнопку установить:

-8
-9

Для удаления приложений нужно зайти в пункт «Установлено» и нажать кнопку «Удалить» напротив ненужного более приложения:

-10

Как можно увидеть - ничего сложного.

Работа с flatpak через терминал

Теперь давайте посмотрим, как работать с flatpak через терминал. Давайте найдем приложение OnlyOffice. Для этого в терминале следует запустить команду:

flatpak search onlyoffice

-11

Установка приложения осуществляется следующей командой (flatpak install [id_приложения]):

flatpak install org.onlyoffice.desktopeditors

-12

Для установки flatpak-приложения нужно указать его идентификатор (org.onlyoffice.desktopeditors), который в свою очередь можно узнать с помощью предыдущей команды (1). Устанавливается не только само приложение, но и среда исполнения. Именно благодаря этому flatpak-приложение не зависит от конкретного линукса. Тем не менее, эта среда не является полным дублем операционной системы и зависит от некоторых сервисов ОС, в которой приложение устанавливается. На доступ к этим сервисам ОС запрашивает разрешение (3). Далее устанавливаются необходимые файлы.

При этом в меню после установки программа не отобразится (в отличии от Linux Mint Mate). Как настроить отображение, об этом поговорим в отдельном разделе ниже.

Посмотреть перечень установленных сред и приложений flatpak можно командой:

flatpak list

-13

Отдельно приложения:

flatpak list --app

-14

Отдельно среды исполнения и вспомогательные пакеты:

flatpak list --runtime

-15

Данная команда очень гибкая. Например, можно отобразить, какие приложения в каких средах исполнения работают:

-16

Чтобы запустить flatpak-приложение из терминала, надо выполнить следующую команду (flatpak run [id_приложения]):

flatpak run org.onlyoffice.desktopeditors

-17

Обновление установленных пакетов flatpak (и приложения, и среды исполнения, и дополнительные пакеты):

flatpak update

-18

Удаление пакетов flatpak (flatpak uninstall [id_приложения]):

flatpak uninstall org.onlyoffice.desktopeditors

-19

Отображение программ flatpak в меню графической оболочки LXDE

В одних графических оболочках (например, Mate) установленные flatpak-приложения сразу отображаются в меню. Для других (например, LXDE) требуется дополнительная настройка.

Давайте настроим отображение flatpak-приложений в Debian (LXDE). Тут, к сожалению, нужно будет поработать ручками.

Стандартное расположение иконок приложений - здесь:

/usr/share/pixmaps/

Стандартное расположение ярлыков приложений - здесь:

/usr/share/applications/

Для работы с обеими директориями требуются root-права. Поэтому для работы с ними вызываем проводник через терминал следующим образом:

sudo pcmanfm

-20

В проводнике нам нужно открыть 3 вкладки:

/usr/share/pixmaps/

/usr/share/applications/

стандартную директорию загрузки файлов (в моем примере - /home/myname/Загрузки)

-21

В директорию «/home/myname/Загрузки» я скачал иконку для электронной почты:

-22

Eе надо скопировать в «/usr/share/pixmaps/» (ctrl+c -- ctrl+v) и переименовать, например, в «email»:

-23

Открываем меню и смотрим, какие приложения доступны в том разделе, в который мы хотим поместить Evolution. Давайте поместим его в раздел «Интернет»:

-24

Переходим в директорию «/usr/share/applications/» и делаем копию ярлыка одного из приложений, указанных на скриншоте выше (ctrl+c -- ctrl+v внутри директории), в открывшемся окне задаем название ярлыка для Evolution:

-25

В итоге у нас появятся 2 визуально одинаковых ярлыка, нам нужно найти evolution.desktop. Это делается методом научного тыка. Кликаем правой кнопкой мыши в любой из ярлыков (1), выбираем пункт «Свойства» (2). Наш файл из этих 2-х тот, который «Файл: evolution.desktop» (3). В этом файле сразу в поле «Имя» прописываем значение «Evolution», жмем кнопку «ОК»:

-26
-27

Открываем данный файл в текстовом редакторе mousepad (кликаем правой кнопкой мыши по нему, выбираем пункт «mousepad». В результате файл откроется на редактирование:

-28

Редактируем наш ярлык - приводим его к виду:

[Desktop Entry]

Name=Evolution

Name[ru]=Почта Evolution

Comment=E-mail Client

Comment[ru]=Почтовый клиент Evolution

GenericName=Evolution

GenericName[ru]=Почта Evolution

X-GNOME-FullName=Evolution

X-GNOME-FullName[ru]=Почта Evolution

Exec=/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=evolution --file-forwarding org.gnome.Evolution @@u %U @@

Terminal=false

X-MultipleArgs=false

Type=Application

Icon=/usr/share/pixmaps/email.png

Categories=Network;Email;

MimeType=message/rfc822;x-scheme-handler/mailto;

StartupNotify=true

Name[ru_RU]=Evolution

-29

Примечание!!! Значение ключа «Exec» берется из файла Evolution, который расположен по пути:

/var/lib/flatpak/exports/share/applications

Кликнуть по этому файлу правой кнопкой мыши, выбрать пункт «Свойства», с вкладки «Ярлык программы», из поля «Команда»:

-30

Открываем меню, заходим в раздел «Интернет», запускаем Evolution:

-31

Еще раз подчеркиваю. Не во всех графических оболочках нужно «ручками» создавать пункты меню для flatpak-приложений. В Linux Mint (Mate) нужно просто установить приложение, оно автоматически появляется в меню.

Пакеты snap

Другой реализацией универсальных пакетов - это snap. В рамках данной публикации также не будет погружаться в нюансы реализации. Пользоваться данными пакетами ничем не сложнее, чем flatpak-пакетами.

В Linux Mint возможность использования snap-пакетов не доступна «из коробки», но может быть настроено без особых сложностей. Поскольку чаще всего универсальные пакеты используются на десктопе, нежели, чем на серверах, поэтому будем настраивать Linux Mint.

Для начала нужно установить пакет snapd:

sudo apt install snapd

И тут нас ждет неприятность:

-32

Чтобы ее исправить заходим с root-правами в директорию «/etc/apt/preferences.d» и переименовываем файл «nosnap.pref»:

-33
-34

Пробуем повторно установить snapd:

-35

«И мгновенно... и бесшумно... Отдала Тортилла ключик» :):):)

В общем, установили. К сожалению, «Менеджер приложений» не работает со snap (уверен, что как-то прикрутить все же можно, просто только сейчас понял, что упустил такой интересный момент). Поэтому устанавливаем gnome-software и прикручиваем туда и snap-пакеты, и flatpak. Для этого запускаем в терминале следующую команду:

sudo apt install gnome-software gnome-software-plugin-flatpak gnome-software-plugin-snap

С использованием графического интерфейса «Центра приложений» мы знакомились в предыдущем разделе. Просто удостоверимся, что теперь у нас подключено 3 источника:

  • стандартные репозитарии deb-пакетов;
  • flatpak-пакеты;
  • snap-пакеты.
-36

Давайте установим браузер Vivaldi (snap):

-37

Осуществив переход по плашке (3), мы попадаем в окно установки:

-38

Откроем список вариантов установки(1), как видно у нас есть несколько вариантов установки, выберем пакет snap, стабильную версию(2), далее нажимаем «Установить»

Далее - перезагружаемся. Идем в главное меню, раздел «Интернет» и запускаем vivaldi:

-39

Собственно, как и в случае в flatpak, абсолютно ничего сложного. Также обращаю внимание, что в графической оболочке Mint, не требуется ручного труда для того, чтобы для snap-пакетов (да и flatpak тоже) появлялся пункт в главном меню.

Теперь давайте посмотрим, как с этими пакетами можно работать в терминале. Команды схожи с flatpak-овскими.

Давайте найдем какой-нибудь пакет. Например, через некоторое время, нам плотно придется заняться работой с базами данных. Поэтому в качестве очередной «полезности» рассмотрим программу DBeaver - клиент для работы с базами данных. Для поиска запустим следующую команду (snap find [поисковый запрос]):

-40

Честно говоря, не очень понимаю по какому критерию был подобран второй пакет, но он нам не нужен.

Для того, чтобы установить данный пакет введем команду (sudo snap install [название пакета]):

sudo snap install dbeaver-ce

-41

Название получаем через команду find (1). Далее вводим нашу команду (2). В данном случае система предупреждает о потенциальных рисках установки (3), и подсказывает, что надо сделать, в случае если вы решите принять эти риски и установить данное приложение (4). Сейчас мы не будем глубоко погружаться в технические нюансы snap. Со временем (но не в ближайшее время) я сделаю 3 статьи - по нюансам AppImage, Snap и Flatpak, в них все рассмотрим подробно.

А сейчас просто примем риски и установим данную программу:

sudo snap install dbeaver-ce --classic

-42

Программа установлена, перезагружаемся и смотрим, появилась ли она в главном меню:

-43

Как видно, появился соответствующий пункт в меню («Программирование» --> «dbeaver-ce», программа открывается. О самой программе будем говорить позже, когда подойдет время работать с БД.

Посмотреть перечень установленных snap-пакетов можно командой:

snap list

-44

К сожалению, не предусмотрено опции раздельного показа «системных snap-пакетов» и «прикладных». Тем не менее по косвенным признакам разделить их можно. Дело в том, что snap - это детище Canonical (мейтейнер Ubuntu), и именно она развивает данный вид универсальных пакетов. Поэтому мы можем с некоторой долей вероятности разделить пакеты по издателю. Однако это не совсем достоверный признак, поскольку Canonical может выпустить и прикладной snap-пакет, также (но с меньшей долей вероятности) к разработке системных пакетов может присоединиться другой издатель. Но с высокой долей вероятности все же можно так разделять. При этом ничто не мешает нам использовать утилиту grep, включаемую в дистрибутив подавляющего большинства линуксов.

Давайте выведем пакеты, которые скорее всего являются «системными»(1):

snap list | grep canonical

И пакеты, которые скорее всего являются «прикладными» (3):

snap list | grep -wv canonical

-45

Для запуска snap-пакета из терминала нужно выполнить команду (snap run [название_пакета]):

snap run dbeaver-ce

-46

Обновление всех пакетов осуществляется командой (1):

snap refresh

Обновление конкретного пакета осуществляется командой (snap update [название_пакета]) (3):

snap refresh dbeaver-ce

-47

Для удаления snap-пакета надо выполнить команду (snap remove [название_пакета]):

snap remove dbeaver-ce

-48

Также есть и некоторые другие команды. Но эти - основные.

Установка с помощью sh-файлов

Данный вид установки наиболее похож на тот, что используется в виндоус. Он предполагает, что вы скачиваете установочный файл с тех или иных ресурсов, кликаете на нем, вводите запрашиваемые данные и ждете, пока установится приложение.

Давайте установим еще одну полезную программу. YedGraph Editor - средство для отрисовки диаграмм.

Скаченный файл по доброй традиции перемещаем в каталог ~/repo (предварительно требуется создать его, но это мы уже делали выше) (1). После перемещения кликаем на нем правой кнопкой мыши (2). В контекстном меню выбираем пункт «Свойства» (3), откроется окно свойств (4), перейти на вкладку «Права» (5), выставить галку «Позволять выполнение файла как программы»(6), закрыть окно (7).

-49

Далее двойным кликом по файлу вызываем установку программы. Откроется окно, в нем кликнуть кнопку «Запустить»:

-50

Система выведет окно, в котором будет указано, что если мы хотим установить приложение, то кликаем кнопку «Next»:

-51

Так и сделаем. В следующем окне - согласие с лицензионным соглашением:

-52

Выберем «согласиться»(1) и жмем кнопку «Next»(2).

В следующем окне установщик спросит, куда надо ставить приложение (примечание, лучше убрать заглавные буквы в пути):

-53

Корректируем путь - вместо «yEd» прописываем «yed»(1), напомню, что, в отличии от виндоуса, каталог «yEd» и катало «yed» - это 2 разных каталога. Поэтому чтобы не путаться, лично я предпочитаю все каталоги называть маленькими буквами. Далее жмем кнопку «Next» (2).

В следующем окне система спросит, надо ли сделать симлинк (аналог ярлыка в виндоус, но не совсем) в папку, где хранятся локальные бинарники. Лучше сделать, чтобы приложение было доступно без дополнительного прописывания путей:

-54

Ничего не меняем, просто жмем кнопку «Next»(1).

В следующем окне система спросит, надо ли сделать ярлык на рабочий стол (вопрос излишний - все равно не сделает ярлык :)). Жмем «Next».

-55

Начнется установка. Ждем:

-56

Установка закончена. Можно сразу запустить. Но мы проверим сначала - есть ли ярлык на рабочем столе и есть ли пункт в главном меню. Поэтому снимаю галку(1) и жму «Finish»(2):

-57

Итак, установка закончена. Ярлыка на рабочем столе нет (да и не надо). Смотрим меню (пункт «Прочее»), запускаем:

-58

Как видим, в данном случае установка практически вообще не отличается от установки в виндоус. Соответственно, саму программу в рамках данной публикации рассматривать не будем. Но в дальнейшем обязательно посмотрим функциональные возможности.

Итоги

Ряд способов не стал включать в данную публикацию (например, установку из исходных кодов, установка контейнеров и ряд других). Их надо рассматривать каждый в отдельной публикации. Что и будет сделано, но сильно позже.

В рамках же данной публикации ознакомил с основными способами установки ПО на ОС Linux. При этом рассмотрел как установку с помощью специальных программ («Менеджер приложений» от команды Linux Mint, «Центр приложений» от проекта GNOME), так и с помощью терминала:

  • AppImage;
  • Deb-пакеты;
  • Flatpak;
  • Snap.

На практике показал, что такое системные зависимости и как с ними работать.

Также описал как можно создавать пункты меню в графической оболочке LXDE.

Упомянул о наличии ряда программ и утилит (по некоторым из которых будут отдельные публикации):

  • Центр приложений (gnome-software);
  • OpenShot - программа для монтирования роликов;
  • Alien - утилита для изменения формата пакетов;
  • Gimp - графический редактор;
  • Vivaldi - браузер;
  • DBeaver - клиент SQL;
  • Yed Graph Editor - программа для отрисовки схем.