পুতুলের সাথে / ইত্যাদি / প্রোফাইলে লাইন যুক্ত করছেন?


16

আমি একটি বর্তমান জেডি কে এবং টমক্যাট ইনস্টল করতে পুতুল ব্যবহার করি।

package {
    [ "openjdk-6-jdk", "openjdk-6-doc", "openjdk-6-jre",
      "tomcat6", "tomcat6-admin", "tomcat6-common", "tomcat6-docs", 
      "tomcat6-user" ]:
    ensure => present,
}

এখন আমি যুক্ত করতে চাই

JAVA_HOME="/usr/lib/java"
export JAVA_HOME

যাও /etc/profile, এই উপায় থেকে এই পেতে। আমি দস্তাবেজগুলিতে এখনও কোনও সরল উত্তর খুঁজে পাইনি। এটি করার জন্য কি কোনও প্রস্তাবিত উপায় আছে?

সাধারণভাবে, আমি পুতুলকে কীভাবে এই ফাইলটি সেখানে রাখার বা সেই ফাইলটি সংশোধন করতে বলব? আমি একটি একক নোডের জন্য পুতুল ব্যবহার করছি (একক মোডে) কেবল এটি চেষ্টা করার জন্য এবং সার্ভার সেটআপের লগ রাখতে ।


1
আপনি যদি পুতুলের মধ্যে প্রবেশ করছেন তবে প্রাক-বিল্ট মডিউলগুলির জন্য উদাহরণ 42 দেখুন। তারা সর্বদা আপনি যেমন চান তেমন কাজ করে না তবে তারা সুসংগত এবং স্থিতিশীল। github.com/example42/puppet-modules
kashani

উত্তর:


26

/etc/profile.d/প্রত্যয় সহ একটি ফাইল যুক্ত করুন .sh। এটি রেড হ্যাট এবং ডেবিয়ান এবং ডেরিভেটিভগুলিতে / ইত্যাদি / প্রোফাইলের অংশ হিসাবে উত্সিত হবে, অন্যান্য ডিস্ট্রোজে বলতে পারে না। সাধারণভাবে বলতে গেলে, যদি সম্ভব হয় তবে বিতরণকৃত ফাইলগুলি প্রতিস্থাপনের পরিবর্তে স্নিপেট যুক্ত করা আরও ভাল কারণ এটি ভবিষ্যতের আরও নিরাপদ হতে পারে।

সুতরাং পুতুলের মধ্যে, নিম্নলিখিতগুলি করত:

file { "/etc/profile.d/set_java_home.sh":
    ensure => present,
    source => ...[whatever's appropriate for your setup]...,
    ...
}

এটি আপনি যা খুঁজছেন বা আপনার আরও বিশদ প্রয়োজন?


1
এটি ওপেনসুএস এবং জেন্টুতেও কাজ করে।
কামিল কিসিয়েল

1
ধন্যবাদ, দুর্দান্ত। এটি প্রায় কাজ করে গেছে, .ppউত্স হিসাবে সম্পর্কিত কোনও ফাইলের রেফারেন্সের জন্য উপযুক্ত উপায় খুঁজে বের করতে হবে ।
মিকু

1
পুতুল ০.২৫ বা এর চেয়ে ভাল উত্স => পুতুল: /// $ মডিউলনাম / $ আসল সিস্টেমের পথের ফাইল $ মডিউলনাম / ফাইল / $ ফাইল
কাশানী

2
আইআইআরসি ২.6.৫ এবং পরে আপনি পুতুল: /// $ মডিউলনাম / ফাইল / $ ফাইলের নাম চিহ্নিতকরণ ব্যবহার করেন তবে অবনমন সতর্কতা প্রকাশ করে। এটি পুতুলের মতো দেখতে হবে: /// মডিউলগুলি / $ মডিউলনাম / ফাইল / $ ফাইলের নাম
ztron

42

মার্ক এর সমাধান সবাই প্রোফাইলে কাপড় যোগ করার জন্য সবচেয়ে ভাল হয়, কিন্তু যদি আপনি কি কখনো তা নিশ্চিত করার জন্য কিছু লাইন একটি ফাইল আছে প্রয়োজন, পুতুল ল্যাবস নামক একটি দুর্দান্ত মডিউল রয়েছে stdlib যা file_line যা আপনার যা প্রয়োজন কি করতে হবে অন্তর্ভুক্ত করা হয়েছে। এর আগে আমি এক্সিকিউটি টাইপটিতে ইকো এবং গ্রেপ ব্যবহার করেছি, তবে ফাইল_লাইন এত সহজ এবং ক্লিনার।

এর জন্য এখানে সহায়তা:

Ensures that a given line is contained within a file. The implementation
matches the full line, including whitespace at the beginning and end. If
the line is not contained in the given file, Puppet will add the line to
ensure the desired state. Multiple resources may be declared to manage
multiple lines in the same file.

Example:

file_line { 'sudo_rule':
   path => '/etc/sudoers',
   line => '%sudo ALL=(ALL) ALL',
}
file_line { 'sudo_rule_nopw':
   path => '/etc/sudoers',
   line => '%sudonopw ALL=(ALL) NOPASSWD: ALL',
}

In this example, Puppet will ensure both of the specified lines are
contained in the file /etc/sudoers.

2
নিশ্চিত হয়ে নিন যে আপনি ক্লায়েন্টে প্লাগইনসিস্ক সক্ষম করেছেন, অন্যথায় এটি নিঃশব্দে ব্যর্থ বলে মনে হচ্ছে।
25:55

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