Existe uma maneira de listar os pacotes da data em que eles entraram no repositório Debian?

2

Eu fiz várias perguntas sobre apt e gerenciamento de pacotes no passado. Não rompendo com a tradição, aqui está mais um. Depois de fazer

$ sudo apt-get update 

Ou / e

$ sudo apt update 

Existe uma maneira de obter uma lista de pacotes (descendentes) de quando eles entraram no repositório Debian?

Algo semelhante aos novos pacotes adicionados classificados por idade, mas na área de trabalho. Digamos que todos os pacotes que entraram no repositório Debian e estejam no banco de dados /var/lib/apt/lists/ .

Btw, eu faço regularmente $ sudo aptitude forget-new caso contrário, a listagem de novos pacotes se torna muito grande para ser útil de alguma forma.

Ansioso para saber.

Atualização: - Eu uso o zsh e aqui está meu /etc/apt/sources.list

[$] cat /etc/apt/sources.list

     1   #### Debian stretch #########
     2  deb http://httpredir.debian.org/debian/ stretch main contrib non-free
     3  deb-src http://httpredir.debian.org/debian stretch main contrib non-free
     4  
     5   #### Debian unstable #########
     6  deb http://httpredir.debian.org/debian unstable main contrib non-free
     7  deb-src http://httpredir.debian.org/debian unstable main contrib 
     8  
     9   #### Debian experimental #########
    10  deb http://httpredir.debian.org/debian experimental main contrib 
    11  deb-src http://httpredir.debian.org/debian experimental main contrib
    12  
    13   ##### Debian Debug packages #######
    14  deb http://debug.mirrors.debian.org/debian-debug/ stretch-debug main
    15  deb http://debug.mirrors.debian.org/debian-debug/ unstable-debug main
    16  deb http://debug.mirrors.debian.org/debian-debug/ experimental-debug main
    17  
    18  ######## Third party repos #######
    19  deb https://riot.im/packages/debian/ stretch main
    20  
    21  ########## Non-free ########
    22  #deb http://www.deb-multimedia.org stretch main non-free

Estou procurando a listagem de pacotes de todos os pacotes 'NEW' amd64 dos últimos 3 meses, não apenas os pacotes instalados no meu sistema.

    
por shirish 08.05.2017 / 06:07

1 resposta

3

As informações armazenadas localmente não são suficientes para criar uma lista desse tipo: nenhum dos arquivos usados para indexar repositórios lista a data em que um pacote foi disponibilizado pela primeira vez.

O mais próximo que você pode obter, até onde eu posso ver, é a primeira data mencionada nos changelogs dos pacotes instalados , o que dá alguma aproximação à data em que a fonte pacote entrou no arquivo. (O aspecto da fonte é significativo, pois a noção de novos pacotes de aptitude é baseada em pacotes binários.)

Isso certamente pode ser melhorado:

#!/bin/bash
for file in /usr/share/doc/*/changelog.Debian.gz; do
    package=${file:15}
    package=${package%%/*}
    echo -n "$package "
    date -d "$(zgrep "\-\- .* <.*>  .*" "${file}"|tail -n 1|awk 'BEGIN { FS="  " } { for (i = 2; i <= NF; i++) { if (i > 2) printf " "; printf "%s", $i } }')" +%s
done | sort -k2,2nr -k1

Isso exibe os nomes de todos os seus pacotes instalados localmente, com a data mais antiga em seu changelog expressa como o número de segundos desde a época, classificada por idade crescente.

No Debian 9, aptitude permite uma eliminação mais detalhada da nova lista de pacotes, o que ajuda a torná-la gerenciável e útil.

Para obter as informações que você está realmente seguindo, supondo que você não tenha acesso aos índices em master.debian.org , você provavelmente terá que analisar os arquivos de debian-devel-changes . Estas incluem todas as alterações feitas nos pacotes Debian, antigos e novos, mas você pode facilmente filtrar as mudanças correspondentes à introdução de um pacote: essas são as únicas que repetem o pacote (“unstable, unstable”; compare bdist-nsi e node-typescript por exemplo).

    
por 08.05.2017 / 11:03