Этим вопросом является просто противоположность того, Как делают Вы видите, какие пакеты доступны для вопроса об обновлении.
Я хочу проверить ответы в этот вопрос, то, что данные ответы действительно понижают установленный пакет. Настолько трудно работать apt-cache policy package
команда на каждом установленном пакете и вручную проверять на доступные низкие версии в репозитории.
Так, есть ли какая-либо команда для списка всех установленных пакетов, который имеет более низкую версию в наличии в репозиториях (Пакеты, которые могут быть понижены)?
Можно проверить, имеет ли определенный пакет возможного кандидата на использование снижения:
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
Не уверенный в команде, но вот немного 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
. Это показывает установленную версию и доступные версии.