você pode usar o argumento --print-uris do comando apt-get para produzir apenas os URIs dos pacotes de atualização. Por exemplo:
sudo apt-get --print-uris update
mostrará a lista de tarballs e arquivos .xz. mas a lista é muito impura e tem o seguinte formato geral.
'http://archive.ubuntu.com/ubuntu/dists/xenial-backports/multiverse/dep11/icons-64x64.tar.xz' archive.ubuntu.com_ubuntu_dists_xenial-backports_multiverse_dep11_icons-64x64.tar 0
no entanto, a saída pode ser limpa simplesmente usando egrep com a seguinte expressão regular simples que pode ser usada para corresponder links estáticos diretos de URLs a qualquer arquivo.
sudo apt-get -y --print-uris update | egrep -o -e egrep -o -e "(ht|f)tp://[^\']+"
para transformar isso em uma função,
updateURIonly(){
sudo apt-get -y --print-uris update | egrep -o -e egrep -o -e "(ht|f)tp://[^\']+" ;
}
você também pode usar isso para gerar os URIs de pacotes para os argumentos upgrade e / ou dist-upgrade , assim como qualquer outro argumento que possa ser passado para o comando apt-get.
para que isso funcione com o argumento upgrade :
upgradeURIonly(){
sudo apt-get -y --print-uris upgrade | egrep -o -e egrep -o -e "(ht|f)tp://[^\']+" ;
}
você pode usar os URIs dessa saída para realizar uma atualização rápida usando os downloaders multiencadeados inerentemente mais rápidos, como axel an / ou aria2c . Eu tenho um script no meu github que faz exatamente isso. Ou seja, ele usa o método mostrado acima para extrair uma lista de URIs e faz o download dos pacotes .deb para executar uma atualização muito rápida. velocidade aumenta até 40X. lembre-se que meu script usa axel , portanto, certifique-se de ter axel instalado antes de executar o script.
para clonar meu repositório github:
git clone https://github.com/el-beth/apt-faster.git