一括展開
このトピックでは、Puppet、Chef、Ansible経由でのESET Server Security for Linuxの一括展開について概要を説明します。以下のコードブロックには、パッケージをインストールする方法について基本的な例のみを示しています。Linuxディストリビューションによっては異なる場合があります。
パッケージ選択
ESET Server Security for Linuxの一括展開を開始する前に、使用するパッケージを決定する必要があります。ESET Server Security for Linuxは.binパッケージとして配布されます。ただし、「-n」コマンドライン引数を使用すると、ESET配布を実行して、deb/rpmパッケージを取得できます。
Puppet
前提条件
•binまたはdeb/rpmパッケージがpuppet-masterで使用可能
•puppet-agentがpuppet-masterに接続されている
Binパッケージ
展開手順:
•binインストールパッケージを任意のコンピューターにコピーします
•binインストールパッケージを実行します
Puppetマニフェストサンプル node default { file {"/tmp/efs-8.0.1081.0.x86_64.bin": mode => "0700", owner => "root", group => "root", source => "puppet:///modules/efs/efs-8.0.1081.0.x86_64.bin" } exec {"Execute bin package installation": command => '/tmp/efs-8.0.1081.0.x86_64.bin -y -f' } } |
Deb/rpmパッケージ
展開手順:
•ディストリビューションファミリーに従って、deb/rpmインストールパッケージを任意のコンピューターにコピーします
•deb/rpmインストールパッケージを実行します
依存関係 インストールを開始する前に、依存関係を解決する必要があります |
Puppetマニフェストサンプル node default { if $osfamily == 'Debian' { file {"/tmp/efs-8.0.1081.0.x86_64.deb": mode => "0700", owner => "root", group => "root", source => "puppet:///modules/efs/efs-8.0.1081.0.x86_64.deb" } package {"efs": ensure => "installed", provider => 'dpkg', source => "/tmp/efs-8.0.1081.0.x86_64.deb" } } if $osfamily == 'RedHat' {
file {"/tmp/efs-8.0.1081.0.x86_64.rpm": mode => "0700", owner => "root", group => "root", source => "puppet:///modules/efs/efs-8.0.1081.0.x86_64.rpm" }
package {"efs": ensure => "installed", provider => 'rpm', source => "/tmp/efs-8.0.1081.0.x86_64.rpm" } } } |
Chef
前提条件
•binまたはdeb/rpmパッケージがChefサーバーで使用可能
•ChefクライアントがChefサーバーに接続されている
Binパッケージ
展開手順:
•binインストールパッケージを任意のコンピューターにコピーします
•binインストールパッケージを実行します
Chefレシピサンプル cookbook_file '/tmp/efs-8.0.1084.0.x86_64.bin' do source 'efs-7.0.1084.0.x86_64.bin' owner 'root' group 'root' mode '0700' action :create end
execute 'package_install' do command '/tmp/efs-8.0.1084.0.x86_64.bin -y -f' end |
Deb/rpmパッケージ
展開手順:
•ディストリビューションファミリーに従って、deb/rpmインストールパッケージを任意のコンピューターにコピーします
•deb/rpmインストールパッケージを実行します
依存関係 インストールを開始する前に、依存関係を解決する必要があります |
Chefレシピサンプル cookbook_file '/tmp/efs-8.0.1084.0.x86_64.deb' do source 'efs-8.0.1084.0.x86_64.deb' owner 'root' group 'root' mode '0700' action :create only_if { node['platform_family'] == 'debian'} end
cookbook_file '/tmp/efs-8.0.1084.0.x86_64.rpm' do source 'efs-8.0.1084.0.x86_64.rpm' owner 'root' group 'root' mode '0700' action :create only_if { node['platform_family'] == 'rhel'}
dpkg_package 'efsu' do source '/tmp/efs-8.0.1084.0.x86_64.deb' action :install only_if { node['platform_family'] == 'debian'} end
rpm_package 'efsu' do source '/tmp/efs-8.0.1084.0.x86_64.rpm' action :install only_if { node['platform_family'] == 'rhel'} end |
Ansible
前提条件
•binまたはdeb/rpmパッケージがAnsibleサーバーで使用可能
•ターゲットコンピューターへのsshアクセス
Binパッケージ
展開手順:
•binインストールパッケージを任意のコンピューターにコピーします
•binインストールパッケージを実行します
Playbookタスクサンプル .... - name: "INSTALL: Copy configuration json files" copy: src: efs-8.0.1084.0.x86_64.bin dest: /home/ansible/
- name : "Install product bin package" shell: bash ./efs-8.0.1084.0.x86_64.bin -y -f -g ..... |
Deb/rpmパッケージ
展開手順:
•ディストリビューションファミリーに従って、deb/rpmインストールパッケージを任意のコンピューターにコピーします
•deb/rpmインストールパッケージを実行します
Playbookタスクサンプル .... - name: "Copy deb package to VM" copy: src: ./efs-8.0.1085.0.x86_64.deb dest: /home/ansible/efs-8.0.1085.0.x86_64.deb owner: ansible mode: a+r when: - ansible_os_family == "Debian"
- name: "Copy rpm package to VM" copy: src: ./efs-8.0.1085.0.x86_64.rpm dest: /home/ansible/efs-8.0.1085.0.x86_64.rpm owner: ansible mode: a+r when: - ansible_os_family == "RedHat"
- name: "Install deb package" apt: deb: /home/ansible/efs-8.0.1085.0.x86_64.deb state: present when: - ansible_os_family == "Debian"
- name: "Install rpm package" yum: name: /home/ansible/efs-8.0.1085.0.x86_64.rpm state: present when: - ansible_os_family == "RedHat" .... |