হোস্টনেম সেট করতে পুতুল ব্যবহার করবেন?


13

পুতুল ব্যবহার করে কোনও সার্ভারের হোস্টনেম সেট করার কোনও উপায় আছে কি?

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

ধন্যবাদ

[সম্পাদনা] দুঃখিত, আমার উল্লেখ করা উচিত ছিলাম আমি পুতুলকে মাস্টারলেস চালনা করি, পুতুল প্রথমে সেটআপ হয় এবং তারপরে এটি অন্য সমস্ত কিছু সেট আপ করে।


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

দুঃখিত, আমার উল্লেখ করা উচিত ছিলাম আমি পুতুলকে মাস্টারলেস চালনা করি, পুতুল প্রথমে সেটআপ হয় এবং তারপরে এটি সমস্ত কিছু সেট আপ করে।
আন্ড্রেই সার্ডেলিয়ুক

উত্তর:


10

আইডিয়াগুলির জন্য আমার "নামকরণ" সংজ্ঞাটি একবার দেখুন। এটি দেবিয়ানকে ধরে নিয়েছে এবং এটি উবুন্টুতেও কাজ করতে পারে।

define rename() {
    # We only need puppet so we can restart it. In practice, there's
    # little point in renaming a machine through puppet without a
    # running puppet service
    include puppet::conf

    # We only need apt because puppet management of its package
    include apt

    host { "$hostname": ensure => absent }

    host { "$fqdn": ensure => absent }

    $alias = regsubst($name, '^([^.]*).*$', '\1')

    host { "$name":
        ensure => present,
        ip     => $ipaddress,
        alias  => $alias ? {
            "$hostname" => undef,
            default     => $alias
        },
        before => Exec['hostname.sh'],
    }

    file { '/etc/mailname':
        ensure  => present,
        owner   => 'root',
        group   => 'root',
        mode    => 644,
        content => "${name}\n",
    }

    file { '/etc/hostname':
        ensure  => present,
        owner   => 'root',
        group   => 'root',
        mode    => 644,
        content => "${name}\n",
        notify  => Exec['hostname.sh'],
    }

    exec { 'hostname.sh':
        command     => '/etc/init.d/hostname.sh start',
        refreshonly => true,
        notify      => Service['puppet'],
    }
} 

define rename::domain() {
    rename { "${hostname}.${name}": }

    common::line { 'remove_old_domain':
        ensure => absent,
        file   => '/etc/resolv.conf',
        line   => "domain $domain",
    }

    common::line { 'add_new_domain':
        ensure => present,
        file   => '/etc/resolv.conf',
        line   => "domain $name",
    }
}

আমি মূলত একই জিনিসটি করি, আমার ডোমেইনটি সেট করে /etc/resolv.conf এর জন্য আমার কাছে একটি ফাইল সংস্থান রয়েছে except আমিও মাস্টারলেস চালাই।
ফ্রান্সোইস বিউসোলিল

1

একটি সেটস্টোস্টনাম মডিউল তৈরি করুন। এখানে init.pp:

class sethostname {
  file { "/etc/hostname":
    ensure  => present,
    owner   => root,
    group   => root,
    mode    => '0644',
    content => "$::fqdn\n",
    notify  => Exec["set-hostname"],
  }
  exec { "set-hostname":
    command => '/bin/hostname -F /etc/hostname',
    unless  => "/usr/bin/test `hostname` = `/bin/cat /etc/hostname`",
    notify  => Service[$rsyslog::params::service_name],
  }
}

https://gist.github.com/VertigoRay/6024253


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