TODO/PackageManagement: различия между версиями
(Новая страница: «{{Stub}} Эта страница посвящена задачам улучшения управления программным обеспечением в ALT Li...») |
Нет описания правки |
||
(не показано 8 промежуточных версий 4 участников) | |||
Строка 1: | Строка 1: | ||
{{Stub}} | {{Stub}} | ||
Эта страница посвящена задачам улучшения управления программным обеспечением в ALT Linux. | Эта страница посвящена задачам улучшения управления программным обеспечением (далее — ПО) в ALT Linux. | ||
= Введение = | = Введение = | ||
Исходим из того, что мы продолжаем применять apt-get поверх rpm. В случае замены самого apt-rpm на иной пакетный менеджер предложения остаются в силе, а утилиты будут скорректированы. | Исходим из того, что мы продолжаем применять apt-get поверх rpm. В случае замены самого apt-rpm на иной пакетный менеджер предложения остаются в силе, а утилиты будут скорректированы. | ||
= Типовые случаи управления ПО = | |||
Управление ПО включает в себя: | |||
* установку | |||
* удаление | |||
* обновление | |||
* получение информации о доступном ПО | |||
* получение информации об установленном ПО | |||
* получение отчётов об операциях с ПО | |||
* сопровождение зеркал | |||
* создание собственных репозиториев | |||
* централизованное управление установленным ПО | |||
Источниками ПО могут быть: | |||
* централизованные репозитории | |||
* зеркала (полные или частичные) | |||
* персональные репозитории | |||
* отдельные пакеты | |||
= Текущая оснастка = | |||
{{todo|добавить описание, сделать в виде схемы}} | |||
* {{cmd|rpm}} | |||
* {{cmd|apt-get}} | |||
* {{cmd|apt-shell}} | |||
* {{cmd|apt-pipe}} | |||
* {{cmd|synaptic}} | |||
* {{cmd|apt-repo}} | |||
* {{cmd|apt-indicator}} | |||
* {{cmd|alterator-packages}} | |||
* {{cmd|alterator-pkg}} | |||
* {{cmd|alterator-updates}} | |||
= Проблемы = | |||
{{todo|возможно, сделать списком определений с подробным описанием проблемы}} | |||
* продолжительность операций | |||
* возможные ошибки указания или вообще отсутствия внешних репозиториев | |||
* необходимость обновления индексов до операций | |||
* при блокировании базы apt-get просто подвисает без сообщения о блокировке | |||
* ориентация на пакеты в то время как пользователь ожидает приложений | |||
* невозможность автопочинки apt-get при возникновении конфликтов | |||
* обязательность парсинга вывода утилит вместо использования библиотеки | |||
* ограничения консольного вывода apt-get (обрезание имён пакетов) | |||
* невозможность простого отката изменений | |||
* в графических утилитах отсутствует функция очистки пакетной базы и кэша | |||
* консольное управление пакетами разнесено на несколько утилит (apt-get, apt-cache). [http://metadata.ftp-master.debian.org/changelogs/main/a/apt/unstable_changelog Новый apt] делает всё в одной утилите | |||
* при обновлении системы невозможно указать и необходимость обновления ядра | |||
* отсутствуют сохраняемые журналы операций с ПО | |||
= Диспозиция = | |||
* apt-get мы переписать не можем | |||
* Но мы можем сделать его окружение более дружелюбным и простым в использовании | |||
= Задачи = | |||
# Сделать управление ПО понятным и простым | |||
# Уменьшить количество ошибок и внештатных ситуаций | |||
# Упростить управление разнообразными источниками | |||
# Обеспечить атомарность операций | |||
# Предоставить графические утилиты по управлению приложениями (в том числе установки из файлов) | |||
# Упростить решение проблем, сделать диагностику более понятной | |||
# Облегчить сопровождение (создание зеркал, очистку ненужных пакетов и кэша и т.п.) | |||
= Предлагаемое решение = | |||
Предлагается сделать работу с пакетами на низком уровне через библиотеку, доработать инструментарий и написать центр приложений. | |||
== Библиотека libpackage == | |||
* реакция на события с использованием механизма сигнал-слот | |||
* использование ускорения операций и обеспечения их консистентности | |||
* журналирование событий | |||
== Консольная утилита apt == | |||
* совмещение в одной программе поиска, управления пакетами и управления источниками (враппер для apt-get, apt-cache, apt-cdrom и apt-repo) | |||
* расширение внутренних возможностей apt-get | |||
* улучшение диагностики проблем | |||
* добавление функциональности модулями (работа с репозиториями и зеркалами, просмотр журнала операций) | |||
* обновление индексов через rsync | |||
* раскрашивание вывода | |||
== Прочие изменения == | |||
* Доработка apt-repo | |||
* Переписывание rpminstall, packageinstall, alterator-packages и apt-indicator для работы libpackage | |||
== Центр приложений ALT Linux == | |||
* фокус на приложения, а не пакеты (приложения описываются в отдельных desktop-файлах с дополнительной метаинформацией) | |||
* подробные описания | |||
* категоризация по меню | |||
* поиск | |||
* обновление системы и отдельных приложений | |||
* метки и теги | |||
* обратная связь (рейтинги, социальные сети, сообщения об ошибках, обсуждение на форуме) | |||
* рекомендуемые новинки и важные обновления | |||
* операции в фоновом режиме | |||
* инструментарий: | |||
** управление конкретными пакетами в экспертном режиме | |||
** починка базы (apt, rpm) | |||
** создание зеркал и своего репозитория | |||
** автоматическое обновление | |||
** очистка кэша и ненужных пакетов | |||
* подключаемые модули (plugins) для расширения функциональности | |||
[[Категория:Планы]] | [[Категория:Планы]] | ||
[[Категория:Восьмая платформа]] | |||
{{Category navigation|title=Планы|category=Планы}} | |||
{{Category navigation|title=Восьмая платформа|category=Восьмая платформа}} |
Текущая версия от 13:36, 28 июня 2015
Эта страница посвящена задачам улучшения управления программным обеспечением (далее — ПО) в ALT Linux.
Введение
Исходим из того, что мы продолжаем применять apt-get поверх rpm. В случае замены самого apt-rpm на иной пакетный менеджер предложения остаются в силе, а утилиты будут скорректированы.
Типовые случаи управления ПО
Управление ПО включает в себя:
- установку
- удаление
- обновление
- получение информации о доступном ПО
- получение информации об установленном ПО
- получение отчётов об операциях с ПО
- сопровождение зеркал
- создание собственных репозиториев
- централизованное управление установленным ПО
Источниками ПО могут быть:
- централизованные репозитории
- зеркала (полные или частичные)
- персональные репозитории
- отдельные пакеты
Текущая оснастка
TODO:
добавить описание, сделать в виде схемы
- rpm
- apt-get
- apt-shell
- apt-pipe
- synaptic
- apt-repo
- apt-indicator
- alterator-packages
- alterator-pkg
- alterator-updates
Проблемы
TODO:
возможно, сделать списком определений с подробным описанием проблемы
- продолжительность операций
- возможные ошибки указания или вообще отсутствия внешних репозиториев
- необходимость обновления индексов до операций
- при блокировании базы apt-get просто подвисает без сообщения о блокировке
- ориентация на пакеты в то время как пользователь ожидает приложений
- невозможность автопочинки apt-get при возникновении конфликтов
- обязательность парсинга вывода утилит вместо использования библиотеки
- ограничения консольного вывода apt-get (обрезание имён пакетов)
- невозможность простого отката изменений
- в графических утилитах отсутствует функция очистки пакетной базы и кэша
- консольное управление пакетами разнесено на несколько утилит (apt-get, apt-cache). Новый apt делает всё в одной утилите
- при обновлении системы невозможно указать и необходимость обновления ядра
- отсутствуют сохраняемые журналы операций с ПО
Диспозиция
- apt-get мы переписать не можем
- Но мы можем сделать его окружение более дружелюбным и простым в использовании
Задачи
- Сделать управление ПО понятным и простым
- Уменьшить количество ошибок и внештатных ситуаций
- Упростить управление разнообразными источниками
- Обеспечить атомарность операций
- Предоставить графические утилиты по управлению приложениями (в том числе установки из файлов)
- Упростить решение проблем, сделать диагностику более понятной
- Облегчить сопровождение (создание зеркал, очистку ненужных пакетов и кэша и т.п.)
Предлагаемое решение
Предлагается сделать работу с пакетами на низком уровне через библиотеку, доработать инструментарий и написать центр приложений.
Библиотека libpackage
- реакция на события с использованием механизма сигнал-слот
- использование ускорения операций и обеспечения их консистентности
- журналирование событий
Консольная утилита apt
- совмещение в одной программе поиска, управления пакетами и управления источниками (враппер для apt-get, apt-cache, apt-cdrom и apt-repo)
- расширение внутренних возможностей apt-get
- улучшение диагностики проблем
- добавление функциональности модулями (работа с репозиториями и зеркалами, просмотр журнала операций)
- обновление индексов через rsync
- раскрашивание вывода
Прочие изменения
- Доработка apt-repo
- Переписывание rpminstall, packageinstall, alterator-packages и apt-indicator для работы libpackage
Центр приложений ALT Linux
- фокус на приложения, а не пакеты (приложения описываются в отдельных desktop-файлах с дополнительной метаинформацией)
- подробные описания
- категоризация по меню
- поиск
- обновление системы и отдельных приложений
- метки и теги
- обратная связь (рейтинги, социальные сети, сообщения об ошибках, обсуждение на форуме)
- рекомендуемые новинки и важные обновления
- операции в фоновом режиме
- инструментарий:
- управление конкретными пакетами в экспертном режиме
- починка базы (apt, rpm)
- создание зеркал и своего репозитория
- автоматическое обновление
- очистка кэша и ненужных пакетов
- подключаемые модули (plugins) для расширения функциональности