Executar o apt update mais de uma vez impossibilita a atualização

Executar o apt update mais de uma vez impossibilita a atualização

Eu tenho um script que atualiza o sistema:

sudo apt update && sudo apt upgrade && sudo apt autoremove

Às vezes, ocorre um erro dizendo que a atualização está bloqueada, portanto não é possível atualizar os pacotes atualizáveis. Quando executo o script novamente, esse horário apt updatenão mostra nada para atualizar e quando é hora de executar apt upgradenenhuma atualização porque "não há nada" para atualizar. Como posso atualizar os pacotes listados no primeiro apt update?

Caso real: agora tenho o Firefox 67.0.3 (a versão 67.0.4 está disponível), o primeiro apt updatemostrou que houve uma atualização para ele. Não foi possível atualizar e agora, quando executo apt updatenovamente, nenhuma atualização para o Firefox está listada e apt upgradenão atualizei nada.

Procurei esse problema no Google mas não tive sucesso. Eu apreciaria qualquer tipo de ajuda.

Agradecemos antecipadamente e desculpe pelo meu inglês

Responder1

O motivo mais provável é que você ocasionalmente executa seu script ao mesmo tempo em que as atualizações autônomas também estão em execução.

É fácil verificar olhando seu registro de atualizações autônomas.

Aqui está um exemplo do meu registro de atualizações autônomas de hoje:

$ grep 2019-06-21 /var/log/unattended-upgrades/unattended-upgrades.log

2019-06-21 06:35:25,971 INFO Initial blacklist : 
2019-06-21 06:35:25,986 INFO Initial whitelist: 
2019-06-21 06:35:25,986 INFO Starting unattended upgrades script
2019-06-21 06:35:25,986 INFO Allowed origins are: o=Ubuntu,a=disco, o=Ubuntu,a=disco-security, o=UbuntuESM,a=disco, 
2019-06-21 06:36:00,248 INFO Packages that will be upgraded: bind9-host intel-microcode libbind9-161 libdns-export1104 libdns1104 libirs161 libisc-export1100 libisc1100 libisccc161 libisccfg163 liblwres161 libpq5
2019-06-21 06:36:00,248 INFO Writing dpkg log to /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
2019-06-21 06:37:18,374 INFO All upgrades installed

Dê uma olhada na linha 5 do log ( Packages that will be upgraded:...): Esta lista é extraída diretamente do apt. Isso équasea mesma lista que você obtém sudo apt update. A configuração padrão para atualizações autônomas é usar apenas o -security pocket. Nem atualizações, nem backports, nem PPAs, nem repositórios de terceiros. Portanto, alguns pacotes que não são de segurança podem não ser instalados. Você pode alterar esta configuração.

Agora dê uma olhada na linha 7 do log ( All upgrades installed): Esta é a sua confirmação positiva de que todos os pacotes listados na linha 5 foram atualizados com sucesso e que as atualizações autônomas liberaram o bloqueio do apt e foram encerradas por hoje. Se houve um problema ou falha, ou se o UU ainda estiver funcionando, você não verá esta linha.

Você pode ver que se eu tivesse executado um manual sudo apt updateàs 06:35, haveria muitos pacotes para atualizar. Mas se eu tivesse executado sudo apt upgradeàs 06:38, nenhum pacote teria sido atualizado... porque as atualizações autônomas já haviam feito isso.

Responder2

Aposto que o Ubuntu Software Update atrapalha sempre que o sudo apt update termina. Você deve abrir as configurações de atualização de software e certificar-se de que estejam definidas para todas as opções ‘Nunca’. Não acredito que isso suprima o pop-up, mas deve impedir a tentativa de atualização automática e o bloqueio dos arquivos.

Para consertar o Firefox, eu executaria sudo apt install --reinstall firefoxe veria se isso resolve o problema. Se ele reclamar de um bloqueio, geralmente você poderá removê-lo com sudo rm /var/lib/dpkg/lock.

A propósito, para o seu script, você pode acelerá-lo usandosudo -- sh -c 'apt update; apt upgrade --autoremove -y'

informação relacionada