LimePanel

Aggiornamenti e ritorno indietro

Come si aggiorna LimePanel, cosa succede durante l'aggiornamento e come si torna alla versione precedente.

Il principio

Il pannello non si aggiorna mai da solo. Controlla periodicamente il canale delle versioni e ti dice quando ce n'è una nuova; sei tu a decidere quando applicarla.

Ogni versione è firmata. Prima di installare qualunque cosa il pannello ne verifica firma e checksum con una chiave pubblica che porta con sé: una versione non firmata o alterata viene rifiutata.

Aggiornare dalla console

Server → Aggiornamenti → Aggiorna.

La pagina mostra la versione installata, quella disponibile, le note della versione e lo storico delle operazioni. Durante l'aggiornamento il pannello si riavvia: la pagina segue l'avanzamento e rilegge lo stato quando il pannello torna su.

Aggiornare da riga di comando

Come root:

panelctl update check      # versione installata e ultima pubblicata
panelctl update apply      # applica l'aggiornamento
panelctl update status     # ultima operazione, esito e versioni presenti sul disco
panelctl update rollback   # torna alla versione precedente

Cosa succede durante un aggiornamento

  1. Verifica di firma e checksum della nuova versione.
  2. La nuova versione viene scompattata accanto a quella in uso, che non viene toccata.
  3. Backup del database del pannello (vengono conservati gli ultimi cinque, in /var/lib/limepanel/update/backup-db).
  4. Migrazioni del database con il programma nuovo.
  5. Passaggio alla nuova versione in un solo istante.
  6. Riavvio e verifica che il pannello risponda davvero e legga il proprio database.
  7. Se la verifica non riesce, il pannello torna da solo alla versione precedente.

I siti dei clienti non si fermano durante l'aggiornamento: è stato verificato interrogando un sito ogni secondo durante aggiornamento, ritorno indietro e aggiornamento a una versione volutamente difettosa, senza nessuna richiesta fallita.

Tornare alla versione precedente

Server → Aggiornamenti → Ritorna alla versione precedente, oppure:

panelctl update rollback

La versione precedente resta sul disco proprio per questo. Il ritorno è rapido perché ogni versione è compatibile con lo schema del database della versione successiva: una versione non elimina mai dallo schema qualcosa che ha appena smesso di usare.

Canali

Canale Per chi
stable produzione (predefinito)
beta chi vuole provare le novità prima degli altri
dev sviluppo, sconsigliato in produzione

Il canale si sceglie all'installazione con --channel.

Aggiornamenti e licenza

Gli aggiornamenti, compresi quelli di sicurezza, non sono mai bloccati dalla licenza, nemmeno quando la licenza è scaduta e i servizi del server sono fermi.

I download da get.limepanel.it richiedono la chiave di licenza: il pannello ottiene da solo un token di download di breve durata, quindi non devi fare nulla. Lo stato della licenza non impedisce mai di scaricare un aggiornamento.

Se qualcosa va storto

  • panelctl update status mostra l'ultima operazione, la fase in cui si trova o l'errore.
  • Lo storico completo è in /var/lib/limepanel/update/storico.jsonl.
  • panelctl doctor controlla configurazione, database e servizi dopo l'operazione.
  • Se l'aggiornamento non riesce ma il pannello torna alla versione precedente, il server resta funzionante: il messaggio lo dice esplicitamente.