Ana bilgisayar adını ayarlamak için kukla kullanılsın mı?


13

Kukla kullanarak sunucunun ana bilgisayar adını ayarlamanın bir yolu var mı?

Özel bir tür yazabilirim, ama belki daha basit bir yol var.

Teşekkürler

[Düzenle] Üzgünüm, ben kukla ustaca çalıştırmak bahsetmeliydim, kukla önce kurulum ve daha sonra her şeyi ayarlar.


Bir tane olabilir, ama birini bilmiyorum. Sunucu istemcinin ana bilgisayar adını içeren sertifikasını imzaladığından şüpheleniyorum. Normalde ana bilgisayar adı dağıtım sırasında ayarlanır, ardından kukla kurulur ve sunucuya bağlanır. Kurulum süresinden sonra kukla ile ayarını nasıl otomatikleştireceğinizi bilmiyorum.
Sirex

Üzgünüm, kukla ustaca çalıştırdığımdan bahsetmeliydim, kukla önce kurulur ve sonra her şeyi kurar.
Andrei Serdeliuc

Yanıtlar:


10

Fikirler için "yeniden adlandırma" tanımımı inceleyin. Debian'ı varsayar ve Ubuntu üzerinde de çalışabilir.

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",
    }
}

Ben de aynı şeyi yapmak, ancak /etc/resolv.conf, benim etki alanı ayarlamak için bir dosya kaynağı var dışında. Ben de ustaca koşuyorum.
François Beausoleil

1

Bir sethostname modülü oluşturun. İşte 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


ihbar $fqdndoğru değer olmalıdır. Ayrıca $rsysloghattı kaldırabilirsiniz .
confiq
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.