Ini ialah arahan kdb-elektrify-getenv yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.
JADUAL:
NAMA
kdb-elektrify-getenv - elektrifikasikan persekitaran aplikasi
SINOPSIS
kdb elektrify-getenv permohonan pilihan
DESCRIPTION
Apabila aplikasi dielektrifikasi menggunakan libelektragetenv, ia bukan sahaja meminta
kira-kira, tetapi juga Elektra untuk setiap getenv(3) dan secure_getenv(3) panggilan perpustakaan.
Tujuan utamanya adalah untuk:
· mempunyai cara standard untuk mengubah suai persekitaran
· jadikan log masuk semula (atau pun mulakan semula!) aplikasi tidak diperlukan
· membenarkan struktur hierarki untuk persekitaran
· membenarkan tetapan hanya digunakan untuk aplikasi individu atau hanya dalam konteks khas
· masih mengekalkan kelebihan (mewarisi alam sekitar kepada subproses)
· Ketersediaan dalam at, cron dan skrip yang serupa.
Ia dilaksanakan menggunakan teknik LD_PRELOAD, lihat PENGGUNAAN di bawah untuk pengaktifan global.
PANDANG
Tujuan utama pendekatan ini adalah untuk akhirnya mempunyai cara yang jelas untuk menetapkan dan mendapatkan
pembolehubah persekitaran. Pembolehubah Elektra akan digunakan serta-merta untuk setiap yang baru
memulakan permohonan (tidak perlu log masuk semula).
To do so, getenv(3) akan mencari berbilang sumber di sebelah carian dalam persekitaran
(persekitaran). Sebagai contoh berjalan akan digunakan getenv("HOME") -> /path/to/home:
1. Parameter baris perintah yang diberikan akan sentiasa diutamakan (lihat PILIHAN di bawah).
Contohnya kdb elektrify-getenv --elektra: HOME=/path/to/home
2. Kemudian /env/override/ akan dipandang, di mana utama ialah parameter kepada getenv. Jika
ditemui, kunci akan dikembalikan, jika ia adalah kunci nol, getenv akan kembali NULL.
Contohnya kdb menetapkan pengguna/env/override/HOME /path/to/home
3. Kemudian persekitaran akan diminta.
Contohnya HOME=/path/to/home kdb elektrify-getenv
4. Kemudian /env/fallback/ akan dipandang tinggi. Jika ditemui, kunci akan dikembalikan, jika ia
ialah kunci nol, getenv akan kembali NULL.
Contohnya kdb menetapkan pengguna/env/fallback/HOME /path/to/home
PILIHAN
Bila elektrify-getenv aktif, setiap aplikasi juga menerima getenv Elektra
pilihan. Interleaving Elektra's dan pilihan aplikasi dibenarkan. Elektra akan
huraikan pilihannya (bermula dengan --elektra) dahulu dan buangnya sebelum yang lain
permohonan dimulakan. Oleh itu permohonan itu tidak akan melihat bahawa mereka wujud,
cth: diberi kdb elektrify-getenv -V --elektra-debug -L permohonan itu akan
dipanggil dengan -V -L.
Dalaman Pilihan
--elektra-bantuan
Mengeluarkan bantuan ini.
--versi-elektra
Memberi maklumat versi.
--elektra-debug=file, ELEKTRA_DEBUG or /env/option/debug
Jejaki semua getenv(3) panggilan ke fail. stderr jika tiada fail diberikan, cth kdb menetapkan
pengguna/env/option/debug "". Ambil perhatian bahawa nilai nol (tiada argumen keempat), akan dilumpuhkan
nyahpepijat mesej. Lihat contoh di bawah.
--elektra-clearenv, ELEKTRA_CLEARENV or /env/option/clearenv
Hubungi clearenv(3) sebelum memasuki utama. Ini adalah ciri keselamatan yang disyorkan.
Elektra sendiri, jika dikonfigurasikan dengan cara itu, masih boleh menggunakan persekitaran.
--elektra-reload-timeout=masa_dalam_ms, ELEKTRA_RELOAD_TIMEOUT or /env/option/reload_timeout
Aktifkan ciri berasaskan tamat masa apabila masa diberikan dalam ms (dan bukan 0).
Pilihan Dalaman tersedia dalam tiga varian berbeza:
1. sebagai parameter baris arahan: --elektra-, yang mana tidak dilalui exec(3)
panggilan.
2. sebagai pembolehubah persekitaran: ELEKTRA_. yang mungkin dilalui exec(3)
panggilan, tetapi dialih keluar oleh clearenv(3) panggilan.
3. sebagai kemasukan Elektra KDB: /env/option/, yang merupakan cara untuk mencapai pilihan untuk
didayakan untuk setiap aplikasi.
Contohnya kdb menetapkan pengguna/env/option/clearenv "" untuk mengosongkan persekitaran untuk semua aplikasi
dimulakan oleh pengguna itu (perhatikan bahawa sekurang-kurangnya PATH harus ditetapkan menggunakan kdb menetapkan
pengguna/env/fallback/PATH "/ bin:/ usr / bin" kemudian).
Ambil perhatian, kekunci null adalah sama dengan pilihan yang tidak ditetapkan. Cth kdb menetapkan
system/env/option/debug "/tmp/elektra.log" and kdb menetapkan pengguna/env/option/debug akan
aktifkan pengelogan untuk sistem, kecuali untuk pengguna semasa.
Kontekstual Pilihan
--elektra% %= or /env/layer/
Tambahkan maklumat kontekstual (=lapisan) % % dengan nilainya . Perhatikan bahawa
%yam% dipratentukan dengan argv[0] and %basename% bersama nama asas(argv[0]).
Nilai boleh mengandungi / untuk membentuk hierarki, cth --elektra%name%=app/profile
Pilihan Untuk Aplikasi
--elektra:key=value, /env/override/ or /env/fallback/
tetapkan kunci/nilai untuk diutamakan, iaitu yang pertama dipertimbangkan seperti yang dijelaskan dalam
LIHAT.
Kekunci boleh mengandungi / untuk membentuk hierarki, cth --elektra:my/HOME=/path/to/home.
PENGGUNAAN
Untuk sentiasa menggunakan persekitaran getenv Elektra, hanya tambahkan output pada fail:
kdb elektrify-getenv | ekor -1 | sudo tee -a /etc/ld.so.preload
ini juga boleh dilakukan menggunakan Elektra:
sudo kdb mount /etc/ld.so.preload system/ld/preload line null
sudo kdb set "sistem/ld/pramuat/baru" `kdb elektrify-getenv | ekor -1`
CONTEXT
Metadata itu konteks dalam spesifikasi boleh digunakan untuk memudahkan konteks bergantung
carian. Dalam metanilainya semua penggantian % % akan digantikan dengan yang diberikan
pilihan kontekstual --elektra% %= and /env/layer/ kunci.
Cth untuk mempunyai direktori rumah yang berbeza untuk mana-mana pengguna dan aplikasi:
kdb set user/env/layer/user markus
kdb set pengguna/pengguna/markus/konqueror/HOME /home/muat turun
kdb setmeta spec/env/override/HOME context /users/%user%/%name%/HOME
Gunakan kdb-elektrify-getenv dalam talian menggunakan perkhidmatan onworks.net