Что означает компонент или архив "сейчас" в apt Python API?

У меня есть скрипт Python, работающий на Ubuntu. Скрипт получает все установленные пакеты apt с

apt_cache = apt.cache.Cache()

Я хочу получить имена хранилищ каждого установленного пакета. В то время как я ожидаю увидеть xenial / main, xenial / universe, xenial-updates / main и т. Д., Некоторые из пакетов имеют сейчас / сейчас имя репозитория.

('linux-headers-generic', [<Origin component:'now' archive:'now' origin:'' label:'' site:'' isTrusted:False>])

Большинство других пакетов, как:

('zip', [<Origin component:'main' archive:'xenial' origin:'Ubuntu' label:'Ubuntu' site:'de.archive.ubuntu.com' isTrusted:True>, <Origin component:'now' archive:'now' origin:'' label:'' site:'' isTrusted:False>])

Что значит сейчас здесь?

1 ответ

Выискивая исходный код, значения становятся now когда версия от dpkg status файл, в котором не указано, откуда изначально был получен пакет. Таким образом, вы увидите версию с архивом now для любого пакета, который в настоящее время установлен. Вы также можете увидеть это в выводе apt-cache policy:

$ apt-cache policy
Package files:
 100 /var/lib/dpkg/status
     release a=now
...

Например:

$  apt-cache policy apt
apt:
  Installed: 1.2.25
  Candidate: 1.2.25
  Version table:
 *** 1.2.25 500
        500 http://jp.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
        100 /var/lib/dpkg/status

И установленная версия будет иметь эти истоки в API:

<Origin component:'main' archive:'xenial-updates' origin:'Ubuntu' label:'Ubuntu' site:'jp.archive.ubuntu.com' isTrusted:True>
<Origin component:'now' archive:'now' origin:'' label:'' site:'' isTrusted:False>

Тем не менее, если вы получаете версию с now как единственное происхождение, это означает, apt не может найти его в любом источнике. Это может произойти для:

  • установленная версия, которой больше нет ни в одном источнике (время для обновления!)
  • пакет, установленный с использованием файла deb, без соответствующего пакета в репозиториях
  • пакет, установленный из источника, который впоследствии был отключен
Другие вопросы по тегам