Existe uma maneira de detectar se a execução apt-get update
é necessária?
Parece que sempre que apt-get update
é executado, ele baixa as listas mais recentes, mesmo que eu já as tenha, e quero evitar o download de listas se já tiver as mais recentes.
Sua afirmação está incorreta:
apt update
não busca arquivos de catálogo que já baixou nas versões atualizadas; vamos ver:A primeira corrida de
apt update
:Como você pode ver,
apt
realmente obteve 16,1 MiB de dados.A segunda corrida:
Como você pode ver, nenhum dado foi obtido.
"O truque" aqui é que quando
apt
faz uma requisição HTTP[S] para um servidor de arquivamento, ele inclui a hora da "última modificação" de cada recurso já armazenado em cache; o servidor examina esse carimbo de data/hora e, se não tiver uma versão mais recente desse recurso, ele responde com um código de status HTTP especial ("não modificado") e sem corpo.apt
percebe isso e usa o que já está disponível imediatamente.Como você pode ver, ainda há algum tráfego (solicitações de saída e respostas de entrada a elas), mas:
Você pode extrair os URLs de todas as fontes
/etc/apt/sources.list
e/etc/apt/sources.list.d/*
comparar os carimbos de data/hora do arquivo nos respectivos repositórios remotos com osctimes
de seus arquivos em/var/lib/apt/lists
... mas isso IMHO demoraria mais do que apenas baixá-los novamente (pelo menos na minha conexão, os 50 MB são tratados com muito rapidamente).