Выпуск пакетного менеджера APT 2.0

8 марта 2020 года

Подготовлен релиз инструментария для управления пакетами APT 2.0 (Advanced Package Tool), развиваемого проектом Debian. Кроме Debian и производных от него дистрибутивов APT также применяется в некоторых дистрибутивах на основе пакетного менеджера rpm, таких как PCLinuxOS и ALT Linux. Новая ветка вобрала в себя изменения, накопленные в процессе разработки экспериментальной ветки 1.9.x. Новый выпуск в ближайшее время будет интегрирован в ветку Debian Unstable и в пакетную базу Ubuntu (в Ubuntu 19.10 использовалась экспериментальная ветка 1.9).

Из изменений можно отметить:

  • В командах, принимающих имена пакетов, появилась поддержка шаблонов. Синтаксис шаблонов в основном повторяет стиль шаблонов aptitude. Поддержка масок и регулярных выражений в аргументах команды apt прекращена, вместо них теперь следует использовать шаблоны. Например, для вывода списка всех вручную установленных пакетов из секций со словами libs, perl и python:

apt list '~i !~M (~slibs|~sperl|~spython)'

  • Добавлены команды "apt satisfy" и "apt-get satisfy", позволяющие установить пакеты, требуемые для удовлетворения зависимостей, указанных в строке, переданной в качестве аргумента. В том числе можно перечислять несколько строк и указывать блоки "Conflicts:" для исключения зависимостей. Например:

apt-get satisfy "foo" "Conflicts: bar" "baz (>> 1.0) | bar (= 2.0), moo"

  • Добавлена возможность закрепления в привязке к пакету с кодом через добавление префикса "src:" перед именем пакета ( pinning, позволяет добавлять пакеты из других веток без обновления всей системы, например, установить в stable пакеты из testing или unstable). Для закрепления всех бинарных пакетов, собранных из пакета с кодом apt 2.0.0 можно указать:

Package: src:apt
Pin: version 2.0.0
Pin-Priority: 990

  • В команде apt обеспечено ожидание освобождения блокировки dpkg. По умолчанию при запуске с консоли ожидание не ограничено по времени, а в остальных случаях таймаут составляет 120 секунд.
  • Если apt не удаётся установить блокировку, ошибка теперь выводится с отображением имени и pid процесса, удерживающего lock-файл.
  • Добавлены команды merge-translations и bump-abi.
  • Для криптографического хэширования задействованы реализации MD5, SHA1 и SHA2 из библиотеки libgcrypt.
  • Усилено распараллеливание запуска обработчиков rred и распаковки во время выполнения команды update.
  • Перечисленные в файле auth.conf учётные записи теперь передаются только при обращении по HTTPS для избежания утечки в случае перехвата HTTP-соединения.
  • Требование к версии стандарта C++ поднято до C++14.
  • В apt-helper добавлена поддержка указания нескольких хэшей для одного файла.
  • Осуществлено слияние библиотеки libapt-inst с libapt-pkg.
  • Модернизирован формат кэша, который теперь позволяет добавлять новые записи без нарушения ABI. Указатели в кэше теперь статически типизированы и не могут сравниваться с целыми числами (за исключением 0 через nullptr).
  • Проведена чистка от устаревших флагов и осуществлено слияние различных прототипов функций. Удалены собственные реализации алгоритмов CRC16, MD5, SHA1 и SHA2.

Источники править


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

Комментарии

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