একক পুতুল মডিউল প্রয়োগ করার সময় কীভাবে পথ নির্ধারণ করবেন?


12

আমি এইভাবে একটি একক মডিউল চালানোর চেষ্টা করছি:

puppet apply --verbose --modulepath=moduleshere --noop -e 'include myclass'

যাইহোক, আমি এই ধরণের ত্রুটি পাই, ইঙ্গিত করে যে পথটি সেট করা হয়নি

Parameter unless failed: '[ -e "${logfile}" ]' is not qualified and no path was specified. Please qualify the command or specify a path.

আমি এই জাতীয় প্রতিটি জায়গায় স্পষ্টরূপে পথটি নির্দিষ্ট করতে চাই না, এবং পুরো পুতুল রানের অংশ হিসাবে চালিত হয়ে গেলে এটি কার্যকর হয়। একটি একক মডিউল চালানোর সময় আমি কীভাবে পথটি নির্দিষ্ট করতে পারি?


1
আপনি দয়া করে উপযুক্ত উত্তর গ্রহণ করতে পারেন?
কেনারব

উত্তর:


15

কোনও Execউত্সের কমান্ডগুলি হয় পুরোপুরি যোগ্য হতে হবে (অর্থাত্ /usr/bin/testপরিবর্তে test) বা সেই সংস্থানটির pathবৈশিষ্ট্য Execনির্ধারণ করতে হবে।

আপনি পুতুল স্পষ্ট (গুলি) সংশোধন করতে পারেন আপনি কেবল একটি ডিফল্ট সেটিং জন্য নিম্নলিখিত সংজ্ঞা যোগ করতে পারেন pathসবার জন্য অ্যাট্রিবিউট Execসম্পদ /bin:

Exec { path => "/bin" }

(কম বা কম) নোংরা কাজ হিসাবে আপনি কেবল কমান্ড লাইনের যে pathকোনও Execসংস্থার জন্য ডিফল্ট সেট করতে পারেন :

$ puppet apply --verbose -e 'Exec { path => "/bin" }' your_manifest.pp

ডকুমেন্টেশন পয়েন্টার:


2

যে .. একটি সম্পূর্ণ রান অংশ হিসাবে কাজ করা উচিত নয়। unlessকমান্ডের এক্সিকিউটেবলের জন্য এটির পুরো পথ প্রয়োজন । সম্ভবত আপনি একটি গ্লোবাল ফাইলে একটি পথ সেট পেয়েছেন যা আপনার সম্পূর্ণ রানের অংশ?

unless => '/usr/bin/[ -e "${logfile}" ]'পরিবর্তে চেষ্টা করুন ।


1

আমি শেনের সাথে একমত যে ডিফল্ট পাথ সম্ভবত বিশ্বব্যাপী স্কোপযুক্ত ম্যানিফেস্টে সেট করা আছে। আপনি একই কাজ করতে পারেন তবে আপনি এটি আর্গুমেন্ট হিসাবে পাস করতে পারবেন না, সুতরাং হয় স্টিডিন ব্যবহার করুন:

$ puppet apply -v --modulepath=moduleshere --noop <<EOF
Exec { path => "/bin:/sbin:/usr/bin:/usr/sbin" }
include myclass
EOF

বা এক্সিকিউট লাগান এবং এর মধ্যে লাইনগুলি অন্তর্ভুক্ত করুন example.ppএবং তারপরে ব্যবহার করুন puppet apply -v ... example.pp


1

আপনার পুরোপুরি যোগ্য পথ ব্যবহার করা দরকার।

উদাহরণস্বরূপ:

exec { "sample":
  command => "/usr/bin/test",
}

বা:

exec { "sample":
  path    => ['/usr/bin', '/usr/sbin', '/bin'],
  command => "test",
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.