Il comando che toglie l’avviso di abbonamento: la riga più diffusa, il danno più silenzioso

La prima cosa che tutti incontrano dopo l’installazione è l’avviso di abbonamento, e la prima soluzione che tutti trovano è un comando di una riga. La versione diffusa di quel comando è stata misurata: può rompere l’intera libreria dell’interfaccia.

AtlasPVE ·

Questa voce risponde a

  • proxmox togliere avviso abbonamento
  • proxmox no valid subscription
  • proxmox post install script
  • cosa fare dopo aver installato proxmox
  • proxmox rimuovere il nag

Hai installato Proxmox, hai fatto accesso ed è comparso l’avviso di abbonamento. Dà fastidio, perché torna a ogni accesso. Cerchi e trovi un comando di una riga. Sembra funzionare.

Questo articolo parla di quel comando, ma il suo vero tema non è il comando: il costo silenzioso di incollare qualcosa che non capisci.

L’errore misurato

Dentro la riga largamente diffusa c’è un difetto vero, e il difetto è sottile.

Nelle espressioni regolari di base degli strumenti di testo classici, una barra verticale scritta con la barra rovesciata non è un carattere comune, è l’operatore di alternativa. La condizione nel codice dell’interfaccia contiene due barre verticali, e quando il comando le protegge così com’è, tra due operatori di alternativa nasce un’alternativa vuota.

Un’alternativa vuota corrisponde in ogni posizione del file. Eseguita insieme a "sostituisci tutto", l’espressione sparge la modifica per l’intero file.

Non è un’ipotesi. È stato misurato su una copia del file vero: 26458 righe su 26458 sono cambiate, e il numero di false nel file è passato da 558 a 26458. L’amministratore che ha lanciato quel comando avrebbe rotto tutta la libreria dell’interfaccia di Proxmox.

Si aggiunge un secondo problema: la condizione presa di mira non sta su una riga, Proxmox la distribuisce su sei. Uno strumento che lavora riga per riga non avrebbe comunque mai potuto centrarla correttamente.

Perché nessuno se n’è accorto

Perché il danno è silenzioso. Il comando non dà errore, sullo schermo non si accende nulla di rosso. L’interfaccia può continuare a funzionare per un po’, il guaio salta fuori più tardi, e in quel momento nessuno lo collega a "il comando che ho incollato la settimana scorsa".

La lezione generale: "funziona a tutti" non è una prova. Il più delle volte è solo la prova che nessuno ha guardato.

Quattro regole per ogni modifica di questa classe

Qualunque operazione che tocchi un file di sistema, chiunque la esegua, deve portare questi quattro punti.

Il backup si prende una volta e non si sovrascrive. Rinfrescarlo a ogni esecuzione significa, alla seconda, salvare lo stato rotto.

La mira è stretta. Se il testo preso di mira è davvero cambiato, l’operazione non si esegue. Cambiare a occhio la cosa più vicina è peggio che non cambiare nulla.

Dopo la scrittura si rilegge. Se il risultato atteso non compare, il backup viene ripristinato. Che una scrittura non dia errore non significa che abbia scritto la cosa giusta.

Si lascia un segno. Alla domanda "questo file è modificato" deve rispondere la presenza di un segno, non una supposizione.

Il caso a cui nessuno pensa: se il backup è già rotto

Anche facendo tutti e quattro resta una falla. E se un altro strumento avesse rotto il file prima e tu avessi preso il backup dopo?

Allora il ripristino riporta il file rotto e tu credi di aver risolto. Per questo anche il ripristino va verificato: l’originale è davvero tornato, oppure il backup stesso era già modificato?

È un esempio della domanda da porsi di continuo lavorando con una macchina già installata: non che cosa succede su un’installazione pulita, ma che cosa succede su una macchina che porta uno stato vecchio.

Che cosa fa Atlas

Atlas svolge questo lavoro dentro il prodotto invece che incollando un comando, e applica tutti e quattro i punti sopra.

Il backup si prende una volta e non si sovrascrive. La mira è stretta: uno schema elastico sugli spazi ma fedele per il resto, così continua a tenere se Proxmox cambia la formattazione, ma se la condizione stessa è cambiata non si fa nulla. Dopo la scrittura il file viene riletto e verificato; se il risultato atteso non compare, il backup viene ripristinato. E il testo inserito porta un segno, così alla domanda "è modificato" si risponde con certezza.

Sul lato ripristino viene trattato anche l’ultimo caso: dopo aver ripristinato il backup si controlla se l’originale è davvero tornato, e se non è tornato lo si dice chiaramente.

L’unica frase che questo articolo vuole davvero dire è questa: il lavoro non è difficile, ma la differenza tra farlo bene e sembrare funzionante passa dalla misura.

Fonti

La documentazione ufficiale di Proxmox. In inglese, e su questo argomento l’ultima parola è la sua.

Voci collegate

Come si presenta questo dentro Atlas?

Vai alla pagina prodotto