Acho que você pode fazer uma atualização apenas com donwload:
sudo apt-get --download-only dist-upgrade
verifique os timestamps dos arquivos em /var/cache/apt/archives
, eles não são, como você pode imaginar, o timestamp de download, mas os timestamps dos mesmos arquivos .deb no servidor.
Portanto, remova os arquivos que são muito novos (com a ajuda de find
, sugiro) e faça uma atualização sem download, que usará os arquivos restantes no diretório anterior:
sudo apt-get --no-download dist-upgrade
Como alternativa, você pode obter os carimbos de data / hora dos pacotes atualizáveis do arquivo ls-lR.gz
que reside no servidor, embora também baixe esse arquivo para 6-7MB. Aqui está um script para obter a lista ordenada
#!/bin/bash
server_list_url="http://ftp.debian.org/debian/ls-lR.gz"
server_list="${server_list_url##*/}"
LANG=en
# get urls of upgradable packages
apt-get --print-uris --yes dist-upgrade |
awk -F \' '/(ht|f)tp/ { print $2 }' |
sed -r 's/^.*\///' >local_list
if [[ -s local_list ]]; then
wget -qN "$server_list_url"
# sort older packages by time (8th fiels is year)
zgrep -F -f local_list "$server_list" |
awk '$8 !~ /:/' |
sort -k8,8n -k6,6M -k7,7n -k9
# sort newer packages by time (8th field is hour:min)
zgrep -F -f local_list "$server_list" |
awk '$8 ~ /:/' |
sort -k6,6M -k7,7n -k8,8 -k9
else
echo "No package to upgrade" >&2
fi