Для PkgSrc представлен APT-подобный пакетный менеджер nih
В будущем, помимо реализованных функций для работы с бинарными пакетами, планируется добавить поддержку выполнения обновлений на базе исходных текстов, задействовав программу wip/distbb для сборки пакета в изолированном окружении. В настоящий момент код проекта находится на стадии активной разработки (например, еще не реализованы операции "nih clean" и "nih audit"), поэтому его можно рассматривать как экспериментальный прототип. Тем не менее nih уже пригоден для ознакомления и безопасен для системы (в процессе работы nih для каждой установки или удаления пакета требуется ручное подтверждение операции).
Особенности nih:
- Поддержка больших комплексных обновлений в полностью автоматизированном режиме, например, переход от perl 5.10 к perl 5.12;
- Вначале пользователю выводится уведомление с перечнем планируемых действий, после подтверждения производится непосредственно выполнение операций;
- Nih начинает выполнять операции по удалению или добавлению пакетов только в случае абсолютной уверенности, что после выполнения обновления система сохранит целостное состояние (анализируется статус DEPENDS, CONFLICTS, PROVIDES/REQUIRES). Разработчиком минимизирован риск нарушения целостности из-за ситуации остановки в процессе работы;
- При обнаружении конфликтов или отсутствующих зависимостей, которые не могут быть решены автоматически, данные проблемы будет предложено решить вручную, путем организации пошагового диалога с пользователем;
- Nih вначале загружает все необходимые файлы, а уже потом начинает процесс обновления;
- Реализованы расширенные возможности поиска пакетов;
- Гибкость. Nih написан на shell и базируется на таких утилитах, как pkg_summary-utils, distbb, pkg_status, pkg_digger и pkg_online_find;
- Возможности nih обеспечивают полный спектр функций, ранее доступных через утилиты pkgchk, pkgin, pkg_comp, pkg_leaves, pkgfind, pkg_status, pkg_online-client и pkg_rolling-replace. В отличие от pkgchk nih работает значительно быстрее, а в отличие от pkgin не требует для своей работы SQLite;
- Основные команды:
- nih refresh - загрузка файлов pkg_summary и SHA512;
- nih install - установка пакетов;
- nih upgrade - установка или обновление пакетов;
- nih uninstall, delete, remove - удаление пакета из системы;
- nih verify - проверка целостности пакетов;
- nih status - отображение статуса установленных в системе пакетов;
- nih audit - проведение аудита безопасности пакетов;
- nih leaf - удаление автоудаленных leaf-пакетов;
- nih license - операции, связанные с лицензиями;
- nih list - вывод списка пакетов;
- nih mark - пометка пакетов;
- nih clean - чистка содержимого DESTDIR и директорий с кэшем.
Источник: http://www.opennet.ru/opennews/art.shtml?num=29176
|
0 | Tweet | Нравится |
|