কোনও সেবার জন্য / etc / এনভায়রনমেন্ট থেকে আপস্টার্ট পড়ার পরিবেশ পাবেন


17

/etc/environmentএকটি আপস্টার্ট পরিষেবাতে পরিবেশের পরিবর্তনগুলি সংজ্ঞায়িত করার সর্বোত্তম উপায় কী ?

আমি মনে করি কেবল .স্ক্রিপ্ট বিভাগে তাদের সোর্সিং কার্যকর হয় না, কারণ স্ক্রিপ্টগুলি সম্পাদন করা হয় shযার দ্বারা exportপ্রতিটি সংজ্ঞার সামনে একটি অতিরিক্ত প্রয়োজন হবে ...

উত্তর:


16

অবশেষে আমি #upstartআইআরসি চ্যানেলে একটি উত্তর পেয়েছি । এক পর্যায়ে, আপস্টার্ট সঠিক পিএএম সমর্থন পাবে এবং এইভাবে /etc/environmentনিজেই পড়বে । ততক্ষণ, কৌশলটি হ'ল su দিয়ে কমান্ডটি কার্যকর করা। suপ্যাম ব্যবহার করে এবং উপযুক্ত পরিবেশ স্থাপন করবে। উদাহরণ:

script 
    exec su root -c /usr/sbin/job_needing_envs
end script

উত্তর পোস্ট করার জন্য আপনাকে ধন্যবাদ, আপনি ঠিক একই ইস্যুতে আমাকে সহায়তা করেছেন।
— ম্যাক্সিম ভেক্সলার

ত্রুটি:su: must be run from a terminal
— কুফ

3

আমি ব্যবহার করার ঝোঁক eval $(cat /etc/environment | sed 's/^/export /')

এটি প্রতিটি লাইন /etc/environmentএনে দেয় export, প্রেন্ডেন্ড করে এবং এর মূল্যায়ন করে:

script
exec /bin/bash <<'EOT'
  eval $(cat /etc/environment | sed 's/^/export /')
  do_what_you_need_to
EOT
end script

আপনি এক্সিকিউট ব্যবহার করেন এবং কেবল এক্সপোর্টটি সরাসরি স্ক্রিপ্ট ব্লকে রাখেন না?
— গাস

1

এটি আপনার স্ক্রিপ্টে যুক্ত করুন:

. /etc/environment
export VAR1 VAR2 VAR3

যেখানে আপনার প্রয়োজনীয় ভেরিয়েবলগুলি "VAR1" শৈলীর স্থানধারীর স্থলে নির্দিষ্ট করা হয়েছে।


2
এইভাবে আমাকে ম্যানুয়ালি আপস্টার্ট কনফিগারেশন এবং / ইত্যাদি / এনভায়রনমেন্ট সিঙ্কে রাখতে হবে, যা (আমার মতে) দুবার ভেরিয়েবল সংজ্ঞায়িত করার চেয়ে ভাল কিছু নয় ...
— নিকরাটিও

আমি /etc/environmentআপনার সমস্ত প্রয়োজনীয় ভেরিয়েবলগুলি সংজ্ঞায়িত করতে ব্যবহার করব না । এটি একটি স্থির ফাইল হিসাবে ছেড়ে দিন। আমার সিস্টেমে, আমি কেবল কয়েকটি স্ক্রিপ্ট খুঁজে পেতে পারি যা এটি যেভাবেই ব্যবহার করে। মত একটি ফাইল তৈরি করুন /etc/environment.localএবং আপনার ভেরিয়েবল এবং রফতানি সেখানে রাখুন এবং সেই ফাইলটি উত্স করুন। তারপরে আপনাকে কেবল সেই একটি ফাইল বজায় রাখতে হবে।
— পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

/ ইত্যাদি / এনভায়রনমেন্ট pam_env.so দ্বারা পড়ে (এবং কোনও স্ক্রিপ্ট দ্বারা নয়), সুতরাং এটি যে কোনও লগইনের জন্য উপলব্ধ। দুর্ভাগ্যক্রমে, কেবল আপস্টার্ট দিয়ে শুরু করা প্রোগ্রামগুলিতে ডিফল্ট দ্বারা সেই ফাইলটিতে অ্যাক্সেস নেই।
— নিকরাটিও
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.