Alt linux установить deb пакет

Сборка и установка Linux пакетов в российских сертифицированных ОС

Ранее в статье мы описали сборку расширений для LibreOffice. Теперь мы расскажем, как наработки были перенесены на платформу Linux, а также как решались вопросы с подготовкой пакетов для российских сертифицированных операционных систем, таких как AstraLinux, ALTLinux и RedOS.

image

Постановка задачи и первичная реализация

После успешной реализации нашего продукта DSS для платформы Windows потребовалось перенести наработки (в том числе и расширение для LibreOffice на C++, о сборке и установке sdk которого было рассказано ранее) на платформы семейства Linux.

Состав пакета

Соответственно, необходимо определить, что мы переносим:

  • служба для связи с сервером;
  • драйвер для перехвата и обработки обращений к файлам;
  • служба для общения и обработки информации от драйвера;
  • диалоговое приложение;
  • служба шифрования;
  • расширение для LO.

Сборка

Теперь, когда мы определились с содержимым, для начала соберём deb пакет.
Так как у нас есть службы — их необходимо демонизировать. Для этого используем systemd.
Изначально было принято решение для сборки deb пакета использовать checkinstall. Первый пакет был собран при помощи него. Но при добавлении сборки в CI появились/возникли проблемы с окружением сборки, зависимостями и скриптами до/после установки. Поэтому было решено, что лучше это делать через fakeroot. Эти действия, по большей части, были описаны в данной статье.

Создаём отдельную директорию, содержащую инструкции для systemd, которую после перенесём в /lib/systemd/system.

Создаём директорию с содержимым, которое необходимо перенести при установке пакета.

А также создаём директорию DEBIAN, содержащую сценарии для действий перед/после установки/удаления и control, описывающий основную информацию пакета и его зависимости.
После созданного контента выполняем fakeroot dpkg-deb —build «имя пакета».

В итоге на выходе мы имеем deb пакет с содержимым.

Установка, удаление и проверка работы

Устанавливаем его командой:

sudo dpkg -i «имя пакета».deb
sudo dpkg -r «имя пакета» (указанное в файле control)
sudo dpkg --purge «имя пакета» (указанное в файле control)

При установке переносятся и запускаются три демона (приложения, работающие фоном, аналог служб Microsoft).

Для проверки их работоспособности выполняем:

systemctl status «имя демона».service

Для примера статус нашего dssservice

image

Далее началось тестирование пакета и выявление всех зависимостей, которые в процессе создания не были учтены. После успешной обработки всех зависимостей выяснилась одна интересная деталь. Если мы хотим подключаться по rdp к машине, то данный функционал необходимо настроить, так как по дефолту сервера для подключения по данному протоколу нет, как на Microsoft. Самым простым способом нaстройки rdp является настройка xrdp совместно с xfce4. При настройке xfce4 используется в качестве проводника Thunar и, соответственно, пункт в ПКМ, который мы добавляли через filemanager-actions, для него не добавляется. Но решение довольно быстро было найдено — находясь в домашней директории, проходим по следующему пути:

Читайте также:  Linux с сохранением настроек

и там будет лежать файл uca.xml, содержащий сценарии для ПКМ.

Разворачивание пакетов в российских сертифицированных ОС

После успешного тестирования данного пакета на Ubuntu возник вопрос о работоспособности его на других ОС, использующих dpkg, как менеджер пакетов, а, соответственно, поддерживающих .deb. А, в частности, вспомнилась отечественная разработка (импортозамещение никто не отменял) — AstraLinux.

AstraLinux

image

С ходу установить пакет не удалось, так как наш пакет имеет в зависимостях filemanager-actions, который мы используем для добавления пункта ПКМ в Nautilus Ubuntu. Но в AstraLinux используется файловый менеджер fly, и для добавления в него мы не будем использовать filemanager-actions, пришли к выводу, что для AstraLinux будем собирать пакет без учёта этой зависимости. А для добавления используется сценарий «имя_процесса».desktop, который добавляется в /usr/share/flyfm/actions/.

Также были разрешены некоторые моменты, связанные с LKM, но их мы рассмотрим в следующей статье.

Cборка RPM

Следующей ОС стала ALTLinux. Она интересна тем, что имеет пакетный менеджер APT, но при этом вместо dpkg у неё используется rpm. А, следовательно, пора нам собрать наш пакет и под rpm.

Изначально попробовали сделать преобразование deb в rpm, как описано в этом мануале.

Alien достаточно мощная утилита, и с её помощью можно достаточно просто преобразовать пакет, достаточно только следовать её подсказкам и добавить недостающее (если она об этом попросит). В итоге при конвертации получили rpm пакет, но при попытке его установки вылезли зависимости, ссылок на которые изначально не было (позже расскажу, в чём была изюминка). Поэтому было принято решение собрать rpm пакет непосредственно средствами rpmbuild.

Сначала решили собирать не под ALTLinux, а под RedOs, так как со стороны бизнеса на неё более перспективные планы. RedOs основана на CentOS, поэтому сборку решили проводить в ней.

Часть с systemd остаётся без изменений, а вот Debian заменяем на файл «имя_проекта».spec, который содержит в себе всю информацию и зависимости из control, сценарии для действий перед/после установки/удаления, а так же описание содержимого пакета (непосредственно пути до того, что необходимо добавить).

После создания файла выполняем:

переносим .spec в rpmbuild/SPECS и выполняем:

rpmbuild --bb rpmbuild/SPECS/dssservice.spec

после чего забираем из директории rpmbuild/RPMS созданный пакет.

Пытаемся установить пакет и утыкаемся в те же самые зависимости, которые были при попытке установить конвертированный deb пакет.

Как оказалось, изюминка заключается в том, что при создании rpm система подтягивала дополнительные библиотеки, и ставила их в зависимость. Чтобы такого не было — необходимо в файл .spec добавить строку после описания зависимостей:

Читайте также:  Install glibc astra linux

Пробуем установить и да — победа, пакет корректно устанавливается.

Для установки rpm пакета используем команду:

sudo rpm -ivh "имя_пакета".rpm

Для удаления (без удаления пакетов, находящихся в зависимости):

sudo rpm -e --nodeps ""имя_пакета""

RedOs

image

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

В RedOs в качестве файлового менеджера используется nemo. Для добавления в него пункта в ПКМ необходимо создать файл «имя_действия».nemo_action, в котором по аналогии с файлом .desktop (для AstraLinux) будет сценарий обработки нажатия на новый пункт меню, и переместить его в ~/.local/share/nemo/actions/, перезагрузить nemo и пункт появится.

ALTLinux

image

После успешного тестирования rpm пакета на RedOs перешли к формированию rpm пакета под
ALTLinux. По сути, необходимо скорректировать зависимости, так как для каждой оси пакеты будут иметь своё название, и снова понять, как произвести добавление пункта в ПКМ. Тут нам на помощь снова пришёл filemanager-actions, через который также можно добавить пункты в ПКМ и для Mate и Caja, которые как раз и используются в ALTLinux.

В итоге, мы собрали пакеты для основных, используемых у заказчика, ОС.

Заключение

В дальнейших статьях мы расскажем, почему использовали LKM и Avalonia и какие трудности из-за этого были, а также о дальнейших планах на доработку пакетов (в частности, доработка UI для ввода необходимой информации) и приложений, используемых в них.

Ссылки которые нам помогли

  • ithelp21.ru/udalennoe-podklyutchenie-k-ubuntu-tcherez-rdp — неплохая инструкция, которой пользовались наши тестировщики для добавления rdp на Ubuntu
  • pingvinus.ru/note/nautilus-context-menu-items — настройка nautilus-actions
  • www.debian.org/doc/manuals/maint-guide/build.ru.html — сборка deb
  • linux-notes.org/pishem-init-skript — Init скрипт для systemd

Источник

Alt linux установить deb пакет

Источник: altlinux.org

Источник: altlinux.org ALT Linux – это гибкая и мощная операционная система, основанная на Linux, и одним из ее ключевых преимуществ является управление пакетами и репозиториями. В этой статье мы разберемся с основами работы с пакетами и репозиториями в ALT Linux, научимся устанавливать, обновлять и удалять программное обеспечение, а также настраивать источники репозиториев.

Управление пакетами с помощью APT (Advanced Package Tool)

В ALT Linux для управления пакетами используется инструмент APT (Advanced Package Tool). Он предоставляет простой и удобный способ поиска, установки, обновления и удаления пакетов.

Вот некоторые основные команды APT:

Обновление списка пакетов и их зависимостей:

sudo apt-get install имя_пакета 
sudo apt-get remove имя_пакета 

Обновление установленных пакетов до последних версий:

Поиск пакетов по ключевому слову:

apt-cache search ключевое_слово 

Работа с репозиториями

Репозитории – это хранилища пакетов, откуда APT загружает и устанавливает программное обеспечение. В ALT Linux используются официальные репозитории, содержащие тысячи пакетов, поддерживаемых сообществом и разработчиками.

Настройка репозиториев производится через файл /etc/apt/sources.list. Чтобы добавить новый репозиторий, откройте этот файл в текстовом редакторе с правами администратора:

sudo nano /etc/apt/sources.list 

Добавьте строчку с адресом репозитория, сохраните изменения и выйдите из редактора. Затем обновите список пакетов:

Читайте также:  Драйвер сенсорной панели linux

Управление сторонними репозиториями

Иногда может потребоваться установка пакетов из сторонних репозиториев. Для этого необходимо добавить ключ GPG репозитория в систему и указать его адрес в файле /etc/apt/sources.list. Пример добавления стороннего репозитория:

sudo apt-key adv --keyserver keyserver.ubuntu.com -- recv-keys KEY_ID 

где KEY_ID – идентификатор ключа GPG репозитория.

sudo nano /etc/apt/sources.list 

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

Теперь вы сможете устанавливать пакеты из стороннего репозитория с помощью APT.

4. Управление зависимостями

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

5. Решение проблем с пакетами и зависимостями

Иногда возникают ситуации, когда пакеты или их зависимости конфликтуют друг с другом или нарушают целостность системы. В этом случае, APT предоставляет инструменты для диагностики и решения проблем:

sudo apt-get autoremove sudo apt-get clean 

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

Работа с пакетами и репозиториями в ALT Linux – это простой и эффективный процесс, позволяющий пользователю легко управлять программным обеспечением и поддерживать систему в актуальном состоянии. С основами APT и репозиториев на ваших руках, вы сможете максимально использовать возможности ALT Linux в качестве вашей основной операционной системы.

Источник

Alt linux установить deb пакет

Product SiteDocumentation Site

⁠Глава 75. Единая команда управления пакетами (epm)

Основное назначение единой команды управления пакетами — унифицировать управление пакетами в дистрибутивах с разными пакетными менеджерами. Утилита epm упрощает процедуру управления пакетами, может использоваться в скриптах и установщиках, сервисных программах, в повседневном администрировании различных систем. В epm добавлены типовые операции, которые в случае использования apt, потребовали бы ввода более одной команды.

Если пакет создан сторонним поставщиком, то при его установке командой epm install не будут выполнены установочные скрипты из пакета. Это предохраняет систему от повреждения, но может привести к тому, что пакет не заработает. Вернуть стандартное поведение можно добавлением —scripts :

$ epm play Run with a name of a play script to run: anydesk - Install AnyDesk from the official site assistant - Install Assistant (Ассистент) from the official site … yandex-browser - Install Yandex browser from the official site yandex-disk - Install Yandex Disk from the official site zoom - Install Zoom client from the official site

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

Источник

Оцените статью
Adblock
detector