Como você vê quais pacotes estão disponíveis para downgrade?

0

Esta questão é apenas um oposto de Como você vê quais pacotes estão disponíveis para atualização .

Eu quero verificar as respostas em esta pergunta , é que as respostas dadas realmente degradam um pacote instalado. É tão difícil executar o comando apt-cache policy package em cada um dos pacotes instalados e verificar manualmente as versões baixas disponíveis no repositório.

Então, existe algum comando para listar todos os pacotes instalados que tem uma versão menor disponível nos repositórios ( Pacotes que podem ser rebaixados )?

    
por Avinash Raj 31.03.2014 / 20:28

2 respostas

1

Você pode verificar se um pacote específico tem um possível candidato para downgrade usando:

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

Agora, de acordo com este Q & A , você pode usar:

dpkg --get-selections | grep -v deinstall

para listar todos os pacotes instalados que estão "disponíveis para downgrade" af follow:

for i in $(dpkg --get-selections | grep -v deinstall | cut -f1); do apt-cache showpkg $i | sed "0,/Reverse Provides:/d"; done
    
por Radu Rădeanu 31.03.2014 / 22:39
-1

Não tenho certeza sobre um comando, mas aqui está um pouco de 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)

Imprime o nome do pacote, a versão instalada e uma lista de versões disponíveis menores que a versão instalada.

Para um pacote individual, você pode usar apt-cache policy package . Mostra a versão instalada e as versões disponíveis.

    
por Jason Conti 31.03.2014 / 22:28