Implementación masiva

Este tema proporciona información general de alto nivel de implementación masiva de ESET Endpoint Antivirus for Linux a través de Puppet, Chef y Ansible. Los siguientes bloques de código contienen solo ejemplos básicos de cómo se podrían instalar los paquetes. Pueden diferir según la distribución de Linux.

Selección de paquetes

Antes de iniciar la implementación masiva de ESET Endpoint Antivirus for Linux, debe decidir el paquete que usará. ESET Endpoint Antivirus for Linux se distribuye como un paquete .bin. Sin embargo, puede obtener el paquete deb/rpm al ejecutar el script de distribución de ESET con el argumento de la línea de comandos "-n".

Puppet

Condiciones previas

paquete bin o deb/rpm disponible en puppet-master

puppet-agent conectado con puppet-master

Paquete Bin

Pasos de implementación:

copiar el paquete de instalación bin en los equipos deseados

ejecutar el paquete de instalación bin


example

Muestra del manifiesto de Puppet

node default {

    file {"/tmp/eea-8.0.1081.0.x86_64.bin":

           mode => "0700",

           owner => "root",

           group => "root",

           source => "puppet:///modules/eea/eea-8.0.1081.0.x86_64.bin"

         }

    exec {"Execute bin package installation":

           command => '/tmp/eea-8.0.1081.0.x86_64.bin -y -f'

         }

}

Paquete deb/rpm

Pasos de implementación:

copiar paquete de instalación deb/rpm según la familia de distribución en los equipos deseados

ejecutar paquete de instalación deb/rpm


note

Dependencias

Las dependencias deben resolverse antes de comenzar la instalación


example

Muestra del manifiesto de Puppet

node default {

if $osfamily == 'Debian' {

        file {"/tmp/eea-8.0.1081.0.x86_64.deb":

               mode => "0700",

               owner => "root",

               group => "root",

               source => "puppet:///modules/eea/eea-8.0.1081.0.x86_64.deb"

             }

        package {"eea":

               ensure => "installed",

               provider => 'dpkg',

               source => "/tmp/eea-8.0.1081.0.x86_64.deb"

             }

}

if $osfamily == 'RedHat' {

        file {"/tmp/eea-8.0.1081.0.x86_64.rpm":

               mode => "0700",

               owner => "root",

               group => "root",

               source => "puppet:///modules/eea/eea-8.0.1081.0.x86_64.rpm"

             }

        package {"eea":

               ensure => "installed",

               provider => 'rpm',

               source => "/tmp/eea-8.0.1081.0.x86_64.rpm"

             }

 }

}

Chef

Condiciones previas

paquete bin o deb/rpm disponible en servidor Chef

Cliente Chef conectado con servidor Chef

Paquete Bin

Pasos de implementación:

copiar el paquete de instalación bin en los equipos deseados

ejecutar el paquete de instalación bin


example

Muestra de la receta de Chef

cookbook_file '/tmp/eea-8.0.1084.0.x86_64.bin' do

        source 'eea-8.0.1084.0.x86_64.bin'

        owner 'root'

        group 'root'

        mode '0700'

        action :create

end

 

execute 'package_install' do

        command '/tmp/eea-8.0.1084.0.x86_64.bin -y -f'

end

Paquete deb/rpm

Pasos de implementación:

copiar paquete de instalación deb/rpm según la familia de distribución en los equipos deseados

ejecutar paquete de instalación deb/rpm


note

Dependencias

Las dependencias deben resolverse antes de comenzar la instalación


example

Muestra de la receta de Chef

cookbook_file '/tmp/eea-8.0.1084.0.x86_64.deb' do

        source 'eea-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/eea-8.0.1084.0.x86_64.rpm' do

                source 'eea-8.0.1084.0.x86_64.rpm'

                owner 'root'

                group 'root'

                mode '0700'

                action :create

                only_if { node['platform_family'] == 'rhel'}

 

dpkg_package 'eea' do

        source '/tmp/eea-8.0.1084.0.x86_64.deb'

        action :install

        only_if { node['platform_family'] == 'debian'}

end

 

rpm_package 'eea' do

        source '/tmp/eea-8.0.1084.0.x86_64.rpm'

        action :install

        only_if { node['platform_family'] == 'rhel'}

end

Ansible

Condiciones previas

paquete bin o deb/rpm disponible en servidor Ansible

acceso ssh a equipos de destino

Paquete Bin

Pasos de implementación:

copiar el paquete de instalación bin en los equipos deseados

ejecutar el paquete de instalación bin


example

Muestra de la tarea de Playbook

....

- name: "INSTALL: Copy configuration json files"

  copy:

    src: eea-8.0.1084.0.x86_64.bin

    dest: /home/ansible/

 

- name : "Install product bin package"

  shell: bash ./eea-8.0.1084.0.x86_64.bin -y -f -g

.....

Paquete deb/rpm

Pasos de implementación:

copiar paquete de instalación deb/rpm según la familia de distribución en los equipos deseados

ejecutar paquete de instalación deb/rpm


example

Muestra de la tarea de Playbook

....

      - name: "Copy deb package to VM"

        copy:

          src: ./eea-8.0.1085.0.x86_64.deb

          dest: /home/ansible/eea-8.0.1085.0.x86_64.deb

          owner: ansible

          mode: a+r

        when:

          - ansible_os_family == "Debian"

 

      - name: "Copy rom package to VM"

        copy:

          src: ./eea-8.0.1085.0.x86_64.rpm

          dest: /home/ansible/eea-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/eea-8.0.1085.0.x86_64.deb

          state: present

        when:

          - ansible_os_family == "Debian"

 

      - name: "Install rpm package"

        apt:

          deb: /home/ansible/eea-8.0.1085.0.x86_64.rpm

          state: present

        when:

          - ansible_os_family == "RedHat"

....