TODO/PackageManagement
Материал из ALT Linux Wiki
(Различия между версиями)
(→Задачи) |
|||
(3 промежуточные версии не показаны) | |||
Строка 75: | Строка 75: | ||
= Предлагаемое решение = | = Предлагаемое решение = | ||
+ | |||
+ | Предлагается сделать работу с пакетами на низком уровне через библиотеку, доработать инструментарий и написать центр приложений. | ||
== Библиотека libpackage == | == Библиотека libpackage == | ||
Строка 81: | Строка 83: | ||
* журналирование событий | * журналирование событий | ||
- | + | == Консольная утилита 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) для расширения функциональности