আমি কীভাবে রুটের জন্য স্থির পরিবেশের পরিবর্তনশীলগুলি সেট করব?


40

অবিচ্ছিন্ন পরিবেশের ভেরিয়েবলগুলি তৈরি করতে, আমি স্ক্রিপ্ট ফাইলটি /etc/profile.d ডিরেক্টরিতে যুক্ত করি, উদাহরণস্বরূপ:

# আমার স্ক্রিপ্ট
MY_VAR = var_value রফতানি করুন

এটি বর্তমান ব্যবহারকারীর জন্য সঠিকভাবে কাজ করে:

অ্যালেক্স @ অ্যালেক্স-64৪: cho $ প্রতিধ্বনি $ এমওয়াই_ভিআর
var_value

রুট ব্যবহারকারীর জন্য এখন আমার একই পরিবেশের পরিবর্তনশীলগুলির প্রয়োজন, তবে /etc/profile.d স্ক্রিপ্টটি রুটের জন্য কাজ করে না:

অ্যালেক্স @ অ্যালেক্স-64৪: cho $ প্রতিধ্বনি $ এমওয়াই_ভিআর
var_value
অ্যালেক্স @ অ্যালেক্স-64৪: ~ $ সুডো su
রুট @ অ্যালেক্স-64৪: / হোম / অ্যালেক্স # প্রতিধ্বনি $ এমওয়াই_ভিআর

রুট @ অ্যালেক্স -64: / হোম / অ্যালেক্স # 

আমি রুটের জন্য একই চলকগুলি কীভাবে সেট করতে পারি?


2
চলমান চলাকালীন কলারের পরিবেশ থেকে কোনও নির্দিষ্ট পরিবর্তনশীল কীভাবে সংরক্ষণ করবেন সে সম্পর্কে এই প্রশ্নটি sudoখুব সম্পর্কিত। (তবে এটি কোনও সদৃশ নয় কারণ এই প্রশ্নটি রুটের নিজস্ব পরিবেশ কীভাবে অনুকূলিতকরণ করা যায় সে সম্পর্কে ))
এলিয়াহ কাগন

উত্তর:


44

sudo সাধারণত স্থানীয় পরিবেশের ভেরিয়েবল সংরক্ষণ করে না। এটি করার -Eজন্য আপনার এটি ব্যবহার করা উচিত, এটি রুটের জন্য $ MYVARsudo -E su সংরক্ষণ করবে ।

বিকল্পভাবে, স্থিতিশীল ভেরিয়েবলগুলি তৈরি করতে যা সত্যই সিস্টেম-ব্যাপী, আপনার সেগুলি সেট করা উচিত /etc/environment


14
কাজ করে না, / ইত্যাদি / এনভায়রোনমেন্ট ভেরিয়েবলগুলি
সুডোর

3
@ ফ্রেডেরিক ইয়েসিডপিয়ানাচেজেস এটি সেন্টোসে আমার জন্য করেছে। আপনি সেখানে স্ক্রিপ্ট করেন না, আপনি প্রতিটি লাইনে কেবল সাধারণ অ্যাসাইনমেন্টগুলি করেন, যেমনFOO=bar
iamyojimbo

10

প্রক্রিয়াটির মতো আপনি নিজের পরিবেশের পরিবর্তনশীলকে সংজ্ঞায়িত করেন, উদাহরণস্বরূপ '~ / .bashrc' সম্পাদনা করে আপনি '/root/.bashrc' সম্পাদনা করে রুটের পরিবেশ পরিবর্তনশীলকে সংজ্ঞায়িত করতে পারেন।


8

Defaults env_resetইন /etc/sudoersরুট PATHদ্বারা সংজ্ঞায়িত পুনরায় সেট করা হবে /etc/environment

আপনি এটি Defaults !env_resetপুনরায় সেট করতে অক্ষম করতে বা যুক্ত করতে পরিবর্তন করতে পারেন:

Defaults secure_path="my/custom/path:/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin

আমি যদি দ্বিতীয় সমাধানটি ব্যবহার করতে চাই (মানে নিরাপদ_পথের পথ যুক্ত করুন), কী কী ?! পথ ঠিক মূল্য। আমি রুটের জন্য পরিবেশের ভেরিয়েবলগুলিতে ANDROID_NDK যুক্ত করতে চাই। তাই আপাতত, আমি কেবল প্রথমটি ব্যবহার করছি (! Env_reset)। ধন্যবাদ।
ডাঃ জ্যাকি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.