Aggiornamento web Discourse fallito. L'upgrade di Docker web ha funzionato

L’aggiornamento web di Docker ha funzionato, l’aggiornamento web di Discourse è fallito.
Ho resettato l’aggiornamento fallito, ma l’applicazione web ha detto che l’aggiornamento era in corso.

Ho provato ad aggiornare Discourse manualmente
cd /var/discourse
./launcher rebuild app

Ho ottenuto il seguente errore.
ERROR: Docker version 19.03.13 not supported, please upgrade to at least 20.10.0, or recommend 24.0.7

Ho provato ad aggiornare Docker manualmente:
wget -qO- https://get.docker.com/ | sh

e ho ottenuto il seguente errore:
E: Could not get lock /var/lib/dpkg/lock-frontend. It is being held by process 10528 (apt-get)
E: Unable to aquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

Il mio sito web Discourse è offline con un Oops-Error 500
Qualche idea?

Ci sono alcuni argomenti su questo errore della versione di Docker:

Coin, grazie per gli spunti sugli argomenti!

Ottengo la versione di Docker come 19.03.13. Aggiorno quindi il sistema operativo con

sudo apt update && sudo apt upgrade -y 3

e l’aggiornamento si blocca su…

In attesa del blocco della cache: Impossibile ottenere il blocco /var/lib/dpkg/lock-frontend. È bloccato dal processo 10528 (apt-get)… 454s

con il numero di secondi in aumento.

Ecco la correzione da ChatGPT. La chiave è stata forzare l’uscita del processo bloccato al passaggio 3.

L’errore indica che un altro processo apt o di gestione dei pacchetti è già in esecuzione e detiene il file di blocco /var/lib/dpkg/lock-frontend. Questa situazione impedisce al tuo comando apt di procedere. Ecco come risolvere il problema:

Passaggi per risolvere il problema

  1. Verifica la presenza di processi apt in esecuzione
    Esegui il seguente comando per verificare la presenza di altri processi apt:

    ps aux | grep apt
    

    Cerca processi come apt-get, apt o dpkg. Se è in esecuzione un processo (ad esempio, apt-get o dpkg), potrebbe star aggiornando o installando qualcosa in background.

  2. Attendi il completamento del processo
    Se un altro processo è effettivamente in esecuzione, è meglio attendere il suo completamento. A volte, gli aggiornamenti non presidiati o le installazioni di pacchetti vengono eseguiti in background.

  3. Forza l’uscita del processo bloccato
    Se il processo è in esecuzione da un tempo anormalmente lungo, puoi terminarlo:

    sudo kill -9 <PID>
    

    Sostituisci <PID> con l’ID del processo (ad esempio, 10528 nel tuo caso).

  4. Rimuovi i file di blocco
    Dopo aver terminato il processo, rimuovi i file di blocco per assicurarti che non rimangano blocchi obsoleti:

    sudo rm /var/lib/dpkg/lock-frontend
    sudo rm /var/lib/dpkg/lock
    
  5. Riconfigura il database dei pacchetti
    Esegui questo comando per correggere eventuali problemi con il gestore di pacchetti:

    sudo dpkg --configure -a
    
  6. Riprova l’aggiornamento
    Ora, riprova il comando di aggiornamento:

    sudo apt update && sudo apt upgrade -y
    

Note

  • Se questo problema si verifica frequentemente, verifica se gli aggiornamenti non presidiati o gli aggiornamenti automatici sono in esecuzione in background. Questi possono causare conflitti durante la gestione manuale dei pacchetti.
  • Per disabilitare gli aggiornamenti non presidiati, puoi eseguire:
    sudo systemctl disable --now unattended-upgrades
    
1 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.