Как Вы видите, какие пакеты доступны для снижения?

Этим вопросом является просто противоположность того, Как делают Вы видите, какие пакеты доступны для вопроса об обновлении.

Я хочу проверить ответы в этот вопрос, то, что данные ответы действительно понижают установленный пакет. Настолько трудно работать apt-cache policy package команда на каждом установленном пакете и вручную проверять на доступные низкие версии в репозитории.

Так, есть ли какая-либо команда для списка всех установленных пакетов, который имеет более низкую версию в наличии в репозиториях (Пакеты, которые могут быть понижены)?

0
задан 13 April 2017 в 15:23

2 ответа

Можно проверить, имеет ли определенный пакет возможного кандидата на использование снижения:

apt-cache showpkg package_name | sed "0,/Reverse Provides:/d"

Теперь, соответственно с этот Q& можно использовать:

dpkg --get-selections | grep -v deinstall

для списка всех установленных пакетов, которые "доступны для снижения", AF следует:

for i in $(dpkg --get-selections | grep -v deinstall | cut -f1); do apt-cache showpkg $i | sed "0,/Reverse Provides:/d"; done
1
ответ дан 27 August 2019 в 09:45

Не уверенный в команде, но вот немного Python:

from __future__ import print_function

import apt

def downgrade_versions(package):
  if package.versions is None or not package.is_installed:
    return []
  result = []
  for version in package.versions:
    if version < package.installed:
      result.append(version.version)
  return result

with apt.Cache() as cache:
  for package in cache:
    versions = downgrade_versions(package)
    if len(versions) > 0:
      print(package.fullname, package.installed.version, versions)

Печать имя пакета, установленная версия и список доступных версий меньше, чем установленная версия.

Для отдельного пакета можно использовать apt-cache policy package. Это показывает установленную версию и доступные версии.

-1
ответ дан 27 August 2019 в 09:45

Другие вопросы по тегам:

Похожие вопросы: