Для PkgSrc представлен APT-подобный пакетный менеджер nih

1 января 2011 года

Алексей Чеусов в списке рассылки разработчиков NetBSD представил экспериментальный пакетный менеджер nih, работающий в виде надстройки над системой pkgsrc. Пакетный менеджер nih ( wip/ pkgnih-current) заменяет собой существующие утилиты pkg_comp, pkg_chk и pkg_rr, преследуя цель упрощения выполнения операций по обновлению бинарных пакетов и выполняя функции сходные с такими пакетными менеджерами, как apt, yum и zypper. Код проекта написан на shell и awk.

В будущем, помимо реализованных функций для работы с бинарными пакетами, планируется добавить поддержку выполнения обновлений на базе исходных текстов, задействовав программу 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 и директорий с кэшем.

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «Для PkgSrc представлен APT-подобный пакетный менеджер nih», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.