Aide en ligne ESET

Rechercher English
Sélectionner la rubrique

Déploiement en masse

Cette rubrique donne une vue d'ensemble générale du déploiement en masse d'ESET Server Security for Linux via Puppet, Chef et Ansible. Les blocs de code ci-dessous ne contiennent que des exemples de base de l'installation des packages. Ils peuvent être différents d'une distribution Linux à l'autre.

Sélection du package

Avant de commencer le déploiement en masse d'ESET Server Security for Linux, vous devez choisir quel package utiliser. ESET Server Security for Linux est distribué sous la forme d'un package .bin. Vous pouvez toutefois obtenir un package deb/rpm en exécutant le script de distribution ESET avec l'argument de ligne de commande "-n".

Puppet

Conditions préalables

Package bin ou deb/rpm disponible sur puppet-master

puppet-agent connecté à puppet-master

Package bin

Étapes du déploiement :

copier le package d'installation bin sur les machines souhaitées

exécuter le package d'installation bin


example

Exemple de manifeste 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'

         }

}

Package Deb/rpm

Étapes du déploiement :

copier le package d'installation deb/rpm selon la famille de distribution sur les machines souhaitées

exécuter le package d'installation deb/rpm


note

Dépendances

Les dépendances doivent être résolues avant de démarrer l'installation.


example

Exemple de manifeste 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

Conditions préalables

Package bin ou deb/rpm disponible sur le serveur Chef

Client Chef connecté au serveur Chef

Package bin

Étapes du déploiement :

copier le package d'installation bin sur les machines souhaitées

exécuter le package d'installation bin


example

Exemple de recette 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

Package Deb/rpm

Étapes du déploiement :

copier le package d'installation deb/rpm selon la famille de distribution sur les machines souhaitées

exécuter le package d'installation deb/rpm


note

Dépendances

Les dépendances doivent être résolues avant de démarrer l'installation.


example

Exemple de recette 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

Conditions préalables

Package bin ou deb/rpm disponible sur le serveur Ansible

Accès ssh aux machines cibles

Package bin

Étapes du déploiement :

copier le package d'installation bin sur les machines souhaitées

exécuter le package d'installation bin


example

Exemple de tâche 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

.....

Package Deb/rpm

Étapes du déploiement :

copier le package d'installation deb/rpm selon la famille de distribution sur les machines souhaitées

exécuter le package d'installation deb/rpm


example

Exemple de tâche 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"

....