Variabel lingkungan - di mana mereka disimpan oleh linux, bagaimana cara mengubahnya dan apakah aman untuk melakukannya?

12

Saya mencoba mengkonfigurasi build dari sumber versi lama gcc pada mesin dev saya. Dokumentasi menyoroti beberapa variabel lingkungan yang perlu diubah untuk melakukan ini. Saya bertanya-tanya bagaimana cara melakukan ini dan juga di mana linux menyimpannya dan apakah sistem restart diperlukan agar perubahan apa pun didaftarkan ??

ahli matematika1975
sumber
Bisakah Anda membuat daftar variabel Lingkungan yang perlu diubah?
Hashken

Jawaban:

13

The global variabel lingkungan sistem Anda disimpan dalam /etc/environment.
Setiap perubahan di sini akan tercermin di seluruh sistem dan akan memengaruhi semua pengguna sistem. Juga, Anda memerlukan Reboot, agar perubahan apa pun yang dilakukan di sini berlaku.

Variabel lingkungan tingkat pengguna sebagian besar disimpan di .bashrcdan .profilefile di folder Beranda Anda. Perubahan di sini hanya memengaruhi pengguna tertentu. Tutup dan buka terminal untuk perubahan konfigurasi terjadi.

Sunting : Jika Anda tidak ingin me-reboot atau me-restart terminal Anda, Anda dapat menggunakan perintah sumber.
Misalnya. source /etc/environmentatausource .bashrc

Hashken
sumber
4
Anda tidak perlu reboot. Anda bisa menggunakan perintah sumber untuk memuat variabel setelah perubahan. mis: source / etc / environment atau source .bashrc
Manula Waidyanatha
Untuk apa yang Anda coba lakukan berubah .profilebukan hal yang benar untuk dilakukan. .bashrctidak boleh digunakan karena dapat dalam beberapa situasi menyebabkan masalah. Dan /etc/environmentjalan keluar (jangan mengubah sistem untuk melakukan satu pekerjaan).
ctrl-alt-delor
2

Yang Anda butuhkan adalah perubahan temporal lokal. Anda tidak akan membutuhkannya besok, ketika Anda melakukan sesuatu yang lain, itu mungkin merusak hal yang Anda lakukan besok. Namun Anda dapat menyimpannya sebagai build-script / makefile untuk digunakan besok.

export VARIABLE=value
export VARIABLE2=another_value
gcc …

atau

VARIABLE=value VARIABLE2=another_value gcc …

Catatan: Jika menggunakan make, contoh pertama tidak akan berfungsi. Buat memulai shell baru (sh) untuk setiap baris.

ctrl-alt-delor
sumber
1

Anda harus menempatkan variabel lingkungan Anda pada basis per pengguna di ~ / .pam_environment

Buat file jika tidak ada. Lihat di sini

Jules Moules
sumber