Масове розгортання
У цій темі наведено загальні відомості про масове розгортання ESET Server Security for Linux за допомогою Puppet, Chef і Ansible. Наведені нижче блоки коду містять лише основні приклади інсталяції пакетів. Вони можуть бути різними для кожного дистрибутива Linux.
Вибір пакета
Перш ніж запускати масове розгортання ESET Server Security for Linux, потрібно вирішити, який пакет використовувати. ESET Server Security for Linux розповсюджується як пакет .bin. Проте пакет deb/rpm можна отримати, запустивши сценарій розповсюдження ESET з аргументом командного рядка "-n".
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" .... |