Come le impostazioni dipendono le une dalle altre
Due campi della base di conoscenza contengono logica anziché dati e rispondono a due domande diverse. Confonderli è l’errore che questa pagina serve a prevenire.
available decide se un’impostazione è in assoluto una riga che l’utente può raggiungere. default-value decide su quale valore è impostata – non una volta sola, ma ogni volta che cambia qualcosa che la sua espressione nomina.
Un’opzione che non può essere scelta
Sezione intitolata «Un’opzione che non può essere scelta»Un’impostazione la cui espressione available è falsa non viene visualizzata. La finestra di dialogo è costruita a partire dalle impostazioni disponibili, per cui la riga semplicemente non c’è, e all’istruzione sopra l’elenco si aggiunge una nota che indica quante impostazioni mancano e dove trovare informazioni su di esse.
Non scompare senza lasciare traccia. Il testo di aiuto della finestra di dialogo elenca ogni impostazione non disponibile di quella finestra sotto un titolo a sé, con la descrizione completa e una riga in più, in cui l’espressione è la condizione available dell’impostazione stessa, senza gli apici inversi:
=== Condition of availability: === <the expression>Perdere la disponibilità non significa di per sé perdere il valore. Il motore disattiva un’impostazione non disponibile in un solo punto: quando l’utente conferma una finestra di dialogo, sulle righe di quella finestra, per un’impostazione la cui disponibilità l’utente ha appena eliminato con una propria modifica in quella stessa finestra. Un’impostazione che diventa non disponibile a causa di qualcosa che l’utente ha fatto in un’altra finestra di dialogo mantiene il valore che aveva in precedenza, e non è più presente come riga da nessuna parte, per cui nulla interagirà più con essa.
È a questo che serve il secondo campo, ed è per questo che i due vengono usati così spesso insieme.
Un’opzione che ne segue un’altra
Sezione intitolata «Un’opzione che ne segue un’altra»Un default-value può essere un’espressione, e un’espressione del genere non è un ripiego. Ogni volta che cambia un’impostazione che essa nomina, il motore la rivaluta e ne applica il risultato – sovrascrivendo anche un valore scelto a mano dall’utente, se è questo che ora dice l’espressione. Il motore non registra chi ha impostato un valore, per cui non c’è nulla a cui debba dare la precedenza. Solo un default-value letterale si comporta come valore iniziale e poi non viene più toccato.
Il risultato si propaga: applicarlo può cambiare un’impostazione nominata da una terza espressione, che viene a sua volta valutata. Nulla nel motore conosce una specifica impostazione; l’intera catena si trova nei dati.
La finestra di dialogo del file system, per intero
Sezione intitolata «La finestra di dialogo del file system, per intero»ZFS ha bisogno di DKMS, e DKMS non riesce a compilare su un kernel che è andato oltre ciò che OpenZFS supporta. Ditana abbina quindi ZFS al kernel con supporto a lungo termine, e per farlo servono entrambi i campi:
- name="zfs-filesystem" \ available="`install-standard-lts-kernel`" \ default-value="`install-standard-lts-kernel AND NOT profile-quick`" { // ... }La riga available è la barriera. Scegliere un altro kernel non sposta ZFS sul kernel LTS e non lascia ZFS in esecuzione su un kernel per il quale non può essere compilato: la riga di ZFS scompare dalla finestra di dialogo del file system, e l’abbinamento regge perché lo stato senza abbinamento non è selezionabile dall’utente.
Per questa impostazione, nella finestra di dialogo del file system di un’installazione che non usa il kernel con supporto a lungo termine, l’aiuto riporta:
=== Condition of availability: === install-standard-lts-kernelLa riga default-value è ciò che rende efficace la barriera da un’altra finestra di dialogo. Il kernel viene scelto nella finestra di dialogo Kernel Selection, dove ZFS non è una riga, per cui la regola che disattiva un’impostazione non disponibile non raggiunge mai ZFS. È indicare la stessa condizione in default-value a disattivare ZFS – ed è per questo che quarantacinque impostazioni della base di conoscenza hanno un’espressione in entrambi i campi. I due campi non sono alternativi.
- name="btrfs-filesystem" \ default-value="`profile-quick OR NOT install-standard-lts-kernel`" { arch-packages "btrfs-progs" "compsize" }Btrfs è l’opzione predefinita della finestra di dialogo del file system ogni volta che è scelto il profilo Quick Installation o che il kernel LTS non è selezionato. Le due espressioni sono metà complementari della stessa condizione, per cui in ogni momento è scelto esattamente un file system. Chi passa dal kernel LTS a un altro kernel, tornando alla finestra di dialogo del file system, trova quindi che la riga di ZFS è scomparsa, che è scelto Btrfs e che la nota sopra l’elenco rimanda all’aiuto, dove è riportata la condizione che ha rimosso ZFS.
Il kernel LTS è inizialmente quello predefinito, per cui in una configurazione standard non compare nulla di tutto ciò: ZFS viene proposto, e sceglierlo non cambia alcun kernel, poiché il kernel è già quello giusto.
Che cosa significa per un contributo
Sezione intitolata «Che cosa significa per un contributo»I due campi rispondono a due domande, e una relazione di solito richiede una risposta a entrambe. L’opzione ha senso in assoluto a questa condizione? Questo è available, e rimuove la riga. L’opzione deve seguire questa condizione? Questo è default-value, e ne modifica il valore, da qualsiasi finestra di dialogo. Una barriera la cui condizione viene decisa nella stessa finestra di dialogo può accontentarsi di available da solo; una barriera la cui condizione si trova altrove no, ed è questo il caso più comune.
Questa traduzione è stata realizzata automaticamente. I lettori la migliorano su Weblate.