সুডোর সাথে ব্যবহারের জন্য ভেরিয়েবল কীভাবে রফতানি করবেন?


24

স্ল্যাকওয়ারে, sbopkgউত্স থেকে প্যাকেজ তৈরির জন্য একজনকে অনুমতি দেওয়া হয়। রেপোস দেবিয়ান হিসাবে বড় নয়, তবে এটি দুর্দান্ত।

কিছু সফ্টওয়্যার এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করতে পারে, উদাহরণস্বরূপ ভিসি সি সি 64 এমুলেটরটিতে যদি ভেরিয়েবল FFMPEGসেট করা থাকে তবে yesএটি ffmpegএমুলেটর রেকর্ডিং সক্ষম করে enable

আমি ব্যবহার করার চেষ্টা করেছি

$ export FFMPEG=yes; sudo sbopkg -B -i vice

কিন্তু ffmpegঅক্ষম

পরিবর্তে আমাকে ব্যবহার করতে হয়েছিল

$ su -
$ export FFMPEG=yes
$ sbopkg -B -i vice

যা কাজ করে।

এর সাথে পরিবেশের ভেরিয়েবল কীভাবে ব্যবহার করবেন sudo?

উত্তর:


39

আপনি sudo -Eবিকল্প ব্যবহার করতে পারেন :

FMPEG=yes sudo -E sbopkg -B -i vice

ম্যানুয়াল থেকে:

-E, - prefers-env

সুরক্ষা নীতিতে ইঙ্গিত দেয় যে ব্যবহারকারী তাদের বিদ্যমান পরিবেশের পরিবর্তনশীলগুলি সংরক্ষণ করতে চান। ব্যবহারকারীর পরিবেশ সংরক্ষণের অনুমতি না থাকলে সুরক্ষা নীতি একটি ত্রুটি ফিরিয়ে দিতে পারে।

নোট করুন যে এটি আপনার বিদ্যমান পরিবেশের সমস্ত পরিবর্তনশীল রফতানি করে । নিম্নলিখিত সিনট্যাক্সের সাথে আপনার প্রয়োজনীয় পরিবেশের পরিবর্তনশীলগুলি রফতানি করা নিরাপদ :

sudo FMPEG=yes sbopkg -B -i vice


ধন্যবাদ তবে এটি কাজ করে না (।-E বিকল্প) অন্য লাইনটি ঠিক আছে কারণ প্রথম উত্তরটি আমি সঠিক হিসাবে নির্বাচন করেছি।
এলবার্না

11

sudoপ্রদত্ত কমান্ডটি চাওয়ার আগে পরিবেশের পরিবর্তনশীলগুলি স্যানিটাইজ করে। আপনার কমান্ডটি কাজ করার জন্য আপনাকে পরিবেশে পরিবর্তনশীলগুলি সংরক্ষণ করতে বলতে হবে।

তদ্ব্যতীত, ( ) ব্যবহার করার আগে exportআপনার FMPEGপরিবর্তনশীল হতে হবে , এটি অনুরোধ ( ), বা ব্যবহার ( ) হিসাবে একইভাবে নির্ধারণ করুন ।sudoexport FMPEG=yes; sudosudoFMPEG=yes sudoenvenv FMPEG=yes sudo

পরিবেশের ভেরিয়েবল সংরক্ষণ করতে, -E(বা --preserve-env) ব্যবহার করুন :

$ env FMPEG=yes sudo -E sbopkg -B -i vice

নির্দিষ্ট পরিবেশের ভেরিয়েবলগুলি এটির মতো সেট করাও সম্ভব:

$ sudo FMPEG=yes sbopkg -B -i vice

এটি যদি সুরক্ষা নীতিমালা কার্যকর হওয়ার কারণে ব্যর্থ হয় তবে একটি রুট শেল আনুন এবং সেখানে ভেরিয়েবলটি সেট করুন:

$ sudo -s
# env FMPEG=yes sbopkg -B -i vice
# exit

6

লক্ষ্য করুন যে,: (export a=b; command)সমতূল্য a=b command। বন্ধনী নোট করুন।

তারপরে যদি আমরা ভেরিয়েবলটি প্রয়োগ না করে sudoতবে সরাসরি করতে পারি sbopkg, তবে পরিবর্তে FFMPEG=yes sudo sbopkg -B -i viceআমরা এটি করতে পারি sudo FFMPEG=yes sbopkg -B -i vice

কোনও সুরক্ষা পুলিশ যদি এটি প্রতিরোধ করে, তবে: sudo bash -c "FFMPEG=yes sbopkg -B -i vice"

(ব্যবহার করবেন না -E, এটি আমাদের নিরাপত্তাহীন বলে এটি সকল ধরণের অপ্রত্যাশিত ভেরিয়েবলগুলি ফাঁস করবে))

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.