Epm: различия между версиями
Строка 1: | Строка 1: | ||
== Единая команда управления пакетами (epm) == | == Единая команда управления пакетами (epm) == | ||
EPM — имеющая одинаковый интерфейс на всех системах команда управления пакетами. При интерфейсе, похожем на rpm, apt и urpm, выполняет необходимые операции на любой платформе. | EPM — имеющая одинаковый интерфейс на всех системах команда управления пакетами. При интерфейсе, похожем на rpm, apt и urpm, выполняет необходимые операции на любой платформе. | ||
Включает в себя следующую функциональность: | |||
* управление пакетами (установка — удаление — поиск) | |||
* управление репозиториями (добавление — удаление — обновление — список) | |||
* управление системными сервисами (включение — выключение — список) | |||
=== Назначение == | |||
* в скриптах и установщиках, сервисных программах | |||
* в повседневном администрировании различных систем | |||
* для обучения: не нужны длинные статьи, как в той или иной системе работать с пакетами. EPM выводит каждую выполняемую им для реальных операций с пакетами команду | |||
=== Установка === | === Установка === | ||
Строка 10: | Строка 21: | ||
Получить исходники можно [http://git.etersoft.ru/projects/?p=korinf/eepm.git;a=summary здесь]. EPM может работать без установки в систему. Исходные rpm-пакеты можно взять [http://download.etersoft.ru/pub/Etersoft/Sisyphus/sources здесь]. | Получить исходники можно [http://git.etersoft.ru/projects/?p=korinf/eepm.git;a=summary здесь]. EPM может работать без установки в систему. Исходные rpm-пакеты можно взять [http://download.etersoft.ru/pub/Etersoft/Sisyphus/sources здесь]. | ||
Также epm можно использовать без установки, скачав скрипт всё-в-одном. | |||
[http://wiki.etersoft.ru/Epmtest Состояние реализации под разные дистрибутивы]. | [http://wiki.etersoft.ru/Epmtest Состояние реализации под разные дистрибутивы]. | ||
Строка 107: | Строка 119: | ||
* [http://docs.puppetlabs.com/references/latest/type.html#package Puppet] | * [http://docs.puppetlabs.com/references/latest/type.html#package Puppet] | ||
=== Отличия === | === Отличия от аналогов === | ||
* EPM написан на shell, поэтому не имеет зависимостей в системе, и не может сломаться при обновлении python. | * EPM написан на shell, поэтому не имеет зависимостей в системе, и не может сломаться при обновлении python. | ||
* EPM поддерживает все дистрибутивы, а не некоторые системы | * EPM поддерживает все дистрибутивы, а не некоторые системы | ||
* EPM не является заменой штатного пакетного менеджера | * EPM не является заменой штатного пакетного менеджера | ||
* EPM не использует D-BUS, системные сервисы | * EPM не использует D-BUS, системные сервисы | ||
=== Планы развития === | |||
* сделать поддержку перевода интерфейса на другие языки | |||
* сделать man-страницы (английский, русский) | |||
* поддержка NetBSD | |||
* совместимые (универсальные) названия пакетов | |||
* поддержка msi | |||
* нужна помощь в упаковке в разные дистрибутивы (чтобы он был в каждой установленной системе) | |||
=== Публикации и обсуждения === | === Публикации и обсуждения === |
Версия 20:48, 9 февраля 2013
Единая команда управления пакетами (epm)
EPM — имеющая одинаковый интерфейс на всех системах команда управления пакетами. При интерфейсе, похожем на rpm, apt и urpm, выполняет необходимые операции на любой платформе.
Включает в себя следующую функциональность:
- управление пакетами (установка — удаление — поиск)
- управление репозиториями (добавление — удаление — обновление — список)
- управление системными сервисами (включение — выключение — список)
= Назначение
- в скриптах и установщиках, сервисных программах
- в повседневном администрировании различных систем
- для обучения: не нужны длинные статьи, как в той или иной системе работать с пакетами. EPM выводит каждую выполняемую им для реальных операций с пакетами команду
Установка
Epm поставляется в пакете eepm. Для установки EPM в вашу систему скачайте соответствующий пакет с сайта http://download.etersoft.ru/pub/Etersoft/Sisyphus/ и установите его.
Получить исходники можно здесь. EPM может работать без установки в систему. Исходные rpm-пакеты можно взять здесь.
Также epm можно использовать без установки, скачав скрипт всё-в-одном.
Состояние реализации под разные дистрибутивы.
Особенности реализации
- сглаживание различий между разными уровнями управления пакетами: позволяет посмотреть список файлов пакета, как rpm -ql, и установить файлы пакетов с разрешением зависимостей, как yum install.
- максимальное соблюдение зависимостей между пакетами при операциях
Также epm позволит убрать учёт различий между пакетными менеджерами из Korinf, который также выполняет действия с пакетами в целевых системах.
Описание операции | Команда 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 <word> | epmqp | grep <word> | grep <word> |
Принадлежность файла к (установленному) пакету | epm -qf (file) | epmqf (file) | dpkg -S (file) | rpm -qf (file) или rpmqf из etersoft-build-utils |
Поиск, в каком пакете есть указанный файл | epm -sf <file> | epm filesearch | ||
Список файлов в (установленном) пакете | epm -ql (package) | epm filelist <package> | 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 |
Подобные проекты
Работающие для нескольких дистрибутивов менеджеры пакетов:
- smart (python): Arch, Debian, Mandriva, openSUSE, Slackware
- PackageKit: Fedora, Ubuntu, openSUSE, Mandriva (pkgcon in command line)
- Puppet
Отличия от аналогов
- EPM написан на shell, поэтому не имеет зависимостей в системе, и не может сломаться при обновлении python.
- EPM поддерживает все дистрибутивы, а не некоторые системы
- EPM не является заменой штатного пакетного менеджера
- EPM не использует D-BUS, системные сервисы
Планы развития
- сделать поддержку перевода интерфейса на другие языки
- сделать man-страницы (английский, русский)
- поддержка NetBSD
- совместимые (универсальные) названия пакетов
- поддержка msi
- нужна помощь в упаковке в разные дистрибутивы (чтобы он был в каждой установленной системе)
Публикации и обсуждения
- http://www.pcweek.ru/foss/blog/foss/3761.php
- https://www.linux.org.ru/news/linux-general/8349517/
- http://www.nixp.ru/news/Компания-Etersoft-выпустила-EPM-универсальное-средство-управления-пакетами-в-Linux.html
Ссылки
- Известный список команд управления пакетами для различных систем
- Таблица команд двух популярных пакетных менеджеров
- Сравнение пакетных менеджеров
- 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/