- Alt linux epm repack
- Назначение
- Установка
- Установка из пакета
- Список команд, epm —help :
- Примеры
- Особенности реализации
- Список поддерживаемых дистрибутивов и пакетных менеджеров
- Добавление нового дистрибутива
- Планы развития
- Подобные проекты
- Отличия от аналогов
- Публикации и обсуждения
- Продвижение в дистрибутивы
- Замечания и предложения можно оставить здесь
- Ссылки
- Alt linux epm repack
- Глава 75. Единая команда управления пакетами (epm)
- Alt linux epm repack
- Глава 61. Единая команда управления пакетами (epm)
- Alt linux epm repack
- Глава 65. Единая команда управления пакетами (epm)
- Appimage
- Как использовать AppImage
- Установка AppImage через epm
- Известные проблемы
Alt linux epm repack
EPM — имеющая одинаковый интерфейс на всех системах команда управления пакетами. При интерфейсе, похожем на rpm, apt и urpm, выполняет необходимые операции на любой платформе.
Включает в себя следующую функциональность:
- управление пакетами (установка — удаление — поиск)
- управление репозиториями (добавление — удаление — обновление — список)
- управление системными сервисами (включение — выключение — список)
Назначение
- в скриптах и установщиках, сервисных программах
- в повседневном администрировании различных систем
- для обучения: не нужны длинные статьи, как в той или иной системе работать с пакетами. EPM выводит каждую выполняемую им для реальных операций с пакетами
Установка
Установка пакетной версии из скрипта всё-в-одном
Установка из пакета
Если скрипт не смог скачать пакет для вашего дистрибутива, зайдите напрямую на http://download.etersoft.ru/pub/Korinf/, скачайте пакет под похожую версию дистрибутива и установите его с помощью epm.sh, предварительно скачав его:
Список команд, epm —help :
Описание операции | Команда epm | Альтернативная команда epm | Команда Debian | Команда ALT Linux |
---|---|---|---|---|
Установка пакета по названию в систему | epm -i (package) | epm install (package) или epmi (package) | apt-get install (package) | apt-get install (package) |
Установка файла пакета в систему | epm -i (package file) | epm install (package file) или epmi (package file) | dpkg -i (package file); apt-get -f install (package file) | apt-get install (package file) |
Удаление пакета из системы | epm -e (package) | epm remove (package) или epme (package) | apt-get remove (package) ; dpkg -P (package) | apt-get remove (package) |
Поиск пакета в репозитории | epm -s (text) | epm search (text) или epms (text) | apt-cache search (text) | apt-cache search (text) |
Проверка наличия пакета в системе | epm -q (package) | epm installed (package) или epmq (package) | dpkg -l (package) (pipe) grep ‘ii (package) | rpm -qa (pipe) grep (package) |
Список установленных пакетов | epm -qa | epm packages или epm list или epmqa | dpkg -l | rpm -qa |
Поиск по названиям установленных пакетов | epm -qp | epmqp | grep | grep |
Принадлежность файла к (установленному) пакету | epm -qf (file) | epmqf (file) | dpkg -S (file) | rpm -qf (file) или rpmqf из etersoft-build-utils |
Поиск, в каком пакете есть указанный файл | epm -sf | epm filesearch | ||
Список файлов в (установленном) пакете | epm -ql (package) | epm filelist | dpkg -L (package) | rpm -ql (package) |
Вывести информацию о пакете | epm -qi (package) | epm info (package) | apt-cache show (package) | apt-cache show (package) |
Обновить дистрибутив | epm upgrade | epm dist-upgrade | apt-get dist-upgrade | apt-get dist-upgrade |
- Основные действия с пакетами: команды для разных дистрибутивов
- То же самое в разных стилях: Fedora / Mandriva / Debian (epm -i, epmi, epm install)
Важно показать, что разброд и шатание заменяется на единообразность.
Примеры
# epms name subtext — выполняет epms name | grep subtest # epms name ^subtext — выполняет epms name | grep -v subtest # epms "name1 name2" — выполняет поиск именно такого сочетания
Особенности реализации
- сглаживание различий между разными уровнями управления пакетами: позволяет посмотреть список файлов пакета, как rpm -ql, и установить файлы пакетов с разрешением зависимостей, как yum install.
- максимальное соблюдение зависимостей между пакетами при операциях
Также epm позволит убрать учёт различий между пакетными менеджерами из Korinf, который также выполняет действия с пакетами в целевых системах.
Список поддерживаемых дистрибутивов и пакетных менеджеров
Менеджер пакетов | Дистрибутив |
rpm | alt asplinux suse mandriva rosa mandrake pclinux sled sles fedora redhat scientific centos rhel |
deb | debian ubuntu mint runtu mcst |
tgz | slackware mopslinux |
tbz | freebsd |
tbz2 | gentoo |
apk | alpine |
pkg.gz | sunos |
Добавление нового дистрибутива
elif distro os-release && which apk 2>/dev/null >/dev/null ; then . $ROOTDIR/etc/os-release DISTRIB_ID="$ID" DISTRIB_RELEASE="$VERSION_ID"
Детектим дистрибутив по пакетному менеджеру и файлу с релизом
Определяем DISTRIB_ID
epm_install_names() apk) sudocmd apk add $@ return ;; epm_ni_install_names() apk) sudocmd apk add $@ return ;;
Определяем команды для установки пакетов, высокоуровневую — из репозитория и низкоуровневую — из файла. Аналогично определяем остальные команды.
Планы развития
- сделать поддержку перевода интерфейса на другие языки
- сделать man-страницы (английский, русский)
- поддержка NetBSD
- совместимые (универсальные) названия пакетов
- поддержка msi
- нужна помощь в упаковке в разные дистрибутивы (чтобы он был в каждой установленной системе)
Подобные проекты
Работающие для нескольких дистрибутивов менеджеры пакетов:
- smart (python): Arch, Debian, Mandriva, openSUSE, Slackware
- PackageKit: Fedora, Ubuntu, openSUSE, Mandriva (pkgcon in command line)
- Puppet
- w:Pkgsrc
Отличия от аналогов
- EPM написан на shell, поэтому не имеет зависимостей в системе, и не может сломаться при обновлении python.
- EPM поддерживает все дистрибутивы, а не некоторые системы
- EPM не является заменой штатного пакетного менеджера
- EPM не использует D-BUS, системные сервисы
Публикации и обсуждения
Продвижение в дистрибутивы
Замечания и предложения можно оставить здесь
Ссылки
- https://wiki.archlinux.org/index.php/Pacman/Rosetta
- Управление пакетами в популярных дистрибутивах
- Pacman Rosetta — хорошая таблица для примера исходной ситуации
- Известный список команд управления пакетами для различных систем
- Таблица команд двух популярных пакетных менеджеров
- Сравнение пакетных менеджеров
- http://wiki.openvz.org/Package_managers
- http://www.mebsd.com/make-build-your-freebsd-word/pkgng-first-look-at-freebsds-new-package-manager.html
- Описание zypper
- http://ru.opensuse.org/SDB:Zypper_использование
- http://wiki.russianfedora.ru/index.php/Работа_с_Yum
- http://windows-get.sourceforge.net/index.php
- http://chocolatey.org/
- rpm workalike for Gentoo Linux
- Фундаментальная проблема пакетных менеджеров для языков программирования
- Effing package management! Build packages for multiple platforms (deb, rpm, etc) with great ease and sanity.
- cURLing and Piping To Bash
- nosh — a suite of system-level utilities for initializing and running a BSD or Linux system
Alt linux epm repack
Глава 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-пакетов, написаны дополнительные правила для перепаковки (при перепаковке пакета создаётся пакет, учитывающий, что нужно для работы исходного пакета). Установить такие пакеты можно, выполнив команду:
Alt linux epm repack
Глава 61. Единая команда управления пакетами (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-пакетов, написаны дополнительные правила для перепаковки (при перепаковке пакета создаётся пакет, учитывающий, что нужно для работы исходного пакета). Установить такие пакеты можно, выполнив команду:
Alt linux epm repack
Глава 65. Единая команда управления пакетами (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-пакетов, написаны дополнительные правила для перепаковки (при перепаковке пакета создаётся пакет, учитывающий, что нужно для работы исходного пакета). Установить такие пакеты, можно выполнив команду:
Appimage
AppImage — формат для распространения переносимых приложений для Linux. Программы в формате AppImage состоят всего из одного файла с расширением appImage, например, gimp.appImage.
Для того, чтобы AppImage работали, нужен пакет fuse (но он уже установлен в систему по умолчанию).
Кроме того, необходимо предоставить права доступа для монтирования файловой системы FUSE для всех пользователей:
# control fusermount public
Как использовать AppImage
Использование AppImage на примере kdenlive:
Примечание: Скачанные файлы AppImage будут сохраняться в папку Загрузки/Downloads. Лучше перемещать эти файлы в специально выделенный для них каталог для упрощения управления ими.
2. Сделать файл исполняемым, для этого:
3. Запустить файл, дважды щелкнув по файлу, или выполнить команду в командной строке (из каталога с программой):
$ ./kdenlive-20.04.0b-x86_64.appimage
Чтобы удалить AppImage достаточно удалить AppImage-файл.
Установка AppImage через epm
Можно установить .AppImage-файл в систему с помощью epm:
# epm install kdenlive-20.04.0b-x86_64.appimage
Он будет перепакован в rpm-пакет, который будет установлен штатными средствами системы.
Известные проблемы
Выдаётся при запуске, что-то типа
FATAL:setuid_sandbox_host.cc(158)] The SUID sandbox helper binary was found, but is not configured correctly.
Ключевое слово здесь sandbox, судя по форуму следует перепаковать данный appimage через epm так:
после чего программа появится среди установленных программ в операционной системе.