Questo è il comando kdb-elektrify-getenv che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
kdb-electrify-getenv - elettrificare l'ambiente delle applicazioni
SINOSSI
KDB elettrificare-getenv applicazione Opzioni
DESCRIZIONE
Quando un'applicazione viene elettrificata utilizzando libelektragetenv, non richiede solo
ambiente, ma anche Elektra per tutti getenv(3) e secure_getenv(3) chiamata biblioteca.
Il suo scopo principale è quello di:
· avere modi standard per modificare l'ambiente
· rendere superfluo il riaccesso (o anche il riavvio!) delle applicazioni
· consentire una struttura gerarchica per l'ambiente
· consentire alle impostazioni di applicarsi solo per singole applicazioni o solo in un contesto speciale
· preservare ancora i vantaggi (ereditare l'ambiente ai sottoprocessi)
· Disponibilità in at, cron e script simili.
È implementato usando una tecnica LD_PRELOAD, vedi USO di seguito per l'attivazione globale.
RICERCA
Lo scopo principale di questo approccio è quello di avere finalmente un modo ben definito per impostare e ottenere
variabili ambientali. Le variabili di Elektra saranno utilizzate immediatamente per ogni nuovo
applicazione avviata (non è necessario eseguire nuovamente il login).
Per fare ciò, getenv(3) cercherà più fonti accanto alla ricerca nell'ambiente
(ambiente). Come userà l'esempio in esecuzione getenv("HOME") -> /percorso/verso/casa:
1. I parametri dati da riga di comando saranno sempre preferiti (vedi VERSIONI sotto).
Per esempio KDB elettrificare-getenv --elektra:HOME=/percorso/verso/casa
2. Poi /env/override/ sarà cercato, dove chiave è il parametro per getenv. Se
trovata, la chiave verrà restituita, se è una chiave nulla, getenv sarà di ritorno NULL.
Per esempio KDB set utente/ambiente/override/HOME /percorso/verso/casa
3. Quindi verrà richiesto l'ambiente.
Per esempio CASA=/percorso/verso/casa KDB elettrificare-getenv
4. Poi /env/fallback/ sarà cercato. Se trovata, la chiave verrà restituita, se
è una chiave nulla, getenv sarà di ritorno NULL.
Per esempio KDB set utente/env/fallback/HOME /percorso/verso/casa
VERSIONI
Quando elettrificare-getenv è attivo, ogni applicazione accetta inoltre il getenv . di Elektra
opzioni. È consentito intercalare le opzioni di Elektra e dell'applicazione. Elektra lo farà
analizza prima le sue opzioni (che iniziano con --elektra) e le scarta prima delle altre
viene avviata l'applicazione. Pertanto l'applicazione non vedrà nemmeno che esistessero,
es: dato KDB elettrificare-getenv -V --elektra-debug -L l'applicazione
essere chiamato con -V -L.
Interno Opzioni
--elektra-aiuto
Emette questo aiuto.
--elektra-versione
Fornisce informazioni sulla versione.
--elektra-debug=file, ELEKTRA_DEBUG or /env/opzione/debug
Traccia tutto getenv(3) chiamate a un file. stderr se non viene fornito alcun file, ad es KDB set
utente/ambiente/opzione/debug "". Nota che i valori null (nessun quarto argomento), verranno disabilitati
messaggi di debug. Vedere gli esempi di seguito.
--elektra-clearenv, ELEKTRA_CLEARENV or /env/opzione/clearenv
Call clearenv(3) prima di entrare in main. Questa è una funzione di sicurezza consigliata.
Elektra stesso, se configurato in questo modo, sarà comunque in grado di utilizzare l'ambiente.
--elektra-reload-timeout=tempo_in_ms, ELEKTRA_RELOAD_TIMEOUT or /env/opzione/ricarica_timeout
Attiva una funzione basata sul timeout quando viene fornito un tempo in ms (e non è 0).
Le opzioni interne sono disponibili in tre diverse varianti:
1. come parametro della riga di comando: --elektra-, che sono non è un attraversato exec(3)
chiamate.
2. come variabile d'ambiente: ELEKTRA_. che potrebbe essere passato attraverso exec(3)
chiamate, ma vengono rimossi da clearenv(3) chiamate.
3. come voce Elektra KDB: /env/opzione/, che sono il modo per ottenere un'opzione per
essere abilitato per ogni applicazione.
Per esempio KDB set utente/ambiente/opzione/cancellazione "" per pulire l'ambiente per tutte le applicazioni
avviato da quell'utente (nota che almeno PERCORSO dovrebbe essere impostato usando KDB set
utente/ambiente/fallback/PERCORSO "/bidone:/ Usr / bin" poi).
Nota che le chiavi null sono uguali alle opzioni non impostate. Per esempio KDB set
sistema/ambiente/opzione/debug "/tmp/elektra.log" e KDB set utente/ambiente/opzione/debug andrete a
attivare la registrazione per il sistema, ad eccezione dell'utente corrente.
Contestuale Opzioni
--elektra% %= or /env/strato/
Aggiungi le informazioni contestuali (=livello) % % con il suo valore . Nota che
% Nome% è predefinito con argv [0] e %nomebase% con nomebase(argv[0]).
I valori possono contenere / per formare gerarchie, ad es --elektra%nome%=app/profilo
Opzioni per Applicazioni
--elektra:chiave=valore, /env/override/ or /env/fallback/
impostare una chiave/valore da preferire, ovvero il primo da considerare come spiegato in
CERCA.
Le chiavi possono contenere / per formare gerarchie, ad es --elektra:mia/HOME=/percorso/a/casa.
USO
Per utilizzare sempre l'ambiente getenv di Elektra, è sufficiente aggiungere l'output al file:
kdb elektrify-getenv | coda -1 | sudo tee -a /etc/ld.so.preload
questo può essere fatto anche usando Elektra:
sudo kdb mount /etc/ld.so.preload system/ld/preload riga null
sudo kdb set "system/ld/preload/new" `kdb elektrify-getenv | coda -1`
CONTESTO
I metadati contesto nella specifica può essere utilizzato per facilitare una dipendenza dal contesto
cercare. Nel suo metavalore tutte le sostituzioni di % % sarà sostituito dal dato
opzioni contestuali --elektra% %= e /env/strato/ chiavi.
Ad esempio, per avere una home directory diversa per qualsiasi utente e applicazione:
kdb imposta user/env/layer/user markus
kdb imposta utente/utenti/markus/konqueror/HOME /home/download
kdb setmeta spec/env/override/HOME contesto /utenti/%utente%/%nome%/HOME
Usa kdb-elektrify-getenv online utilizzando i servizi onworks.net