Вы находитесь на странице: 1из 18

Despliegue de scripts en Bash con OCS Inventory para

GNU/Linux
15 de agosto de 2010 por neonigma
OCS Inventory es una fantstica aplicacin que recopila informacin sobre el hardware y software de equipos que hay
en la red que ejecutan el programa de cliente OCS (agente OCS de inventario). Esta informacin la envan los
agentes al servidor de inventariado. OCS puede utilizarse para visualizar el inventario a travs de una interfaz web.
OCS Inventory ofrece la posibilidad de, adems de realizar un inventariado, desplegar software en forma
de scripts Bash en el equipo donde se ejecuta el agente.
El modus operandi sera el siguiente:
1.
2.

El agente enva un inventario al servidor OCS

El servidor procesa el inventario y comprueba si hay paquetes de software asignados para el despliegue en
el equipo que ejecuta el agente que enva dicho inventario

3.

Si existen paquetes asignados a este agente, el servidor de comunicacin y/o despliegue lo enva al agente
mediante protocolo SSL

4.

El agente realiza un handshake con el servidor, descarga el paquete y lo ejecuta. Una vez ejecutado, devuelve
un cdigo que puede ser de xito o de error. Se adjunta a continuacin la tabla completa de casos de error y xito.

Cdigo de estado

Significado
El servidor est esperando comunicacin del agente para notificar que hay algo
WAITING NOTIFICATION
para descargar.
El agente ha sido notificado sobre un paquete a descargar. Esperando el cdigo de
NOTIFIED
resultado.
El agente ha descargado exitosamente un paquete y ha ejecutado comandos o ha
SUCCESS
almacenado datos extrados. Con la accin Lanzar, este estado podra
completarse con el cdigo de retorno de la ejecucin.
ERR_ALREADY_SETUP El paquete ya fue instalado previamente en este equipo.
El agente es incapaz de descargar un paquete porque no puede encontrar la ID Del
ERR_BAD_ID
mismo en el servidor de despliegue.
Los datos descargados tienen un mal digest, por lo que el agente no ejecuta
ERR_BAD_DIGEST
comandos asociados.
ERR_DOWNLOAD_PACK El agente fue incapaz de descomprimir el fichero ZIP o TAR.GZ descargado.
ERR_BUILD
El agente fue incapaz de reconstruir los fragmentos del paquete.
ERR_EXECUTE
El agente fue incapaz de ejecutar el comando asociado al paquete.
ERR_CLEAN
El agente fue incapaz de limpiar el paquete descargado.
ERR_TIMEOUT
El agente fue incapaz de descargar durante el perodo DOWNLOAD_TIMEOUT.
El usuario cancel la ejecucin del comando del paquete (ha escogido notificarlo,
ERR_ABORTED
y le ha permitido cancelarlo).
ERR_EXECUTE_PACK
No utilizado
OCS Inventory est formado por las siguientes partes:

1.

Agentes instalados en sistemas Windows o GNU/Linux: programas escritos en PERL


2.

Un servidor de gestin que se compone de:


3.

1.

Servidor de comunicacin: servidor escrito en PERL que recibe los inventariados de los agentes y
los almacena en la base de datos.

2.

Servidor de despliegue: se encarga de desplegar software en los equipos agentes. Puede ser el
mismo que el servidor de comunicacin. Obligatorio Apache con SSL activado.
3.

Consola de administracin: interfaz Web escrita en PHP y visible mediante navegador. Lee
directamente de la base de datos.

Instalacin completa de OCS Inventory

En primer lugar debemos instalar tanto el agente como el servidor de comunicacin, de despliegue y la consola de
administracin.
Lo ideal es que tengamos instalado un servidor Apache preparado y los mdulos de PERL para los agentes y el
servidor de comunicacin. Instalamos lo necesario:
BASH
< view plain text >

1.

neonigma@neonigma-desktop:~$ sudo apt-get install apache2 php5 perl mysql-server-5.1 libphp-pclzip php5-gd

libapache2-mod-perl2 php5-mysql libxml-simple-perl libcompress-zlib-perl libdbi-perl libdbd-mysql-perl libapachedbi-perl libnet-ip-perl libsoap-lite-perl

Ahora comenzamos instalando un agente en cualquier equipo que vaya a realizar un inventariado y enviarlo al
servidor:
BASH
< view plain text >

1.

neonigma@neonigma-desktop:~$ sudo apt-get install ocsinventory-agent

Continuamos con la consola de administracin, que no la vamos a instalar de los repositorios porque suele dar
algn que otro problema en la configuracin:

Descargamos la consola de administracin Web:


BASH
< view plain text >

1.

neonigma@neonigma-desktop:~$ wget http://launchpad.net/ocsinventory-server/stable1.3/1.3.2/+download/OCSNG_UNIX_SERVER-1.3.2.tar.gz

Lo movemos a nuestro servidor Apache:


BASH
< view plain text >

1.

neonigma@neonigma-desktop:~$ sudo mv OCSNG_UNIX_SERVER-1.3.2.tar.gz /var/www

Lo descomprimimos:
BASH
< view plain text >

1.

neonigma@neonigma-desktop:~$ sudo tar xvzf OCSNG_UNIX_SERVER-1.3.2.tar.gz

Entramos en el directorio:
BASH
< view plain text >

1.

neonigma@neonigma-desktop:~$ cd OCSNG_UNIX_SERVER-1.3.2

Comenzamos la instalacin:
BASH
< view plain text >

1.

neonigma@neonigma-desktop:~$ sudo ./setup.sh

No voy a detallar el proceso de instalacin, est bien explicado aqu. Slo voy a poner unos incisos a la explicacin
anterior, leedlos antes de seguirla y tenerlos en cuenta.
No os preocupis si veis mensajes como:
BASH
< view plain text >

1.
2.

Checking for SOAP::Lite PERL module...

*** Warning: PERL module SOAP::Lite is not installed !

3.

This module is only required by OCS Inventory NG SOAP Web Service.


4.
5.
6.

Do you wish to continue ([y]/n] ?


Checking for XML::Entities PERL module...

*** Warning: PERL module XML::Entities is not installed !

7.

This module is only required by OCS Inventory NG SOAP Web Service.


8.

Do you wish to continue ([y]/n] ?

Esto slo se utiliza para el servicio Web (experimental y para desarrolladores), y no influye para el despliegue de
software en los agentes.
En todo caso, debemos tener cuidado en estas respuestas:
BASH
< view plain text >

1.

Which host is running database server [localhost] ?127.0.0.1


2.

OK, database server is running on host 127.0.0.1 ;-)


3.

4.

Where to copy Administration Server static files for PHP Web Console
5.

6.

[/usr/share/ocsinventory-reports] ?/var/www/ocsinventory-reports
OK, using directory /var/www/ocsinventory-reports to install static files ;-)
7.

8.

Where to create writable/cache directories for deployement packages and

9.

IPDiscover [/var/lib/ocsinventory-reports] ?/var/www/ocsinventory-reports

En los dos ltimos casos casos, contestar /var/www/ocsinventory-reports para almacenar tanto el servidor
como los paquetes de despliegue en esa ruta.
Si tenemos problemas en la instalacin, por ej. se sale de la misma por no estar los mdulos PERL instalados, los
instalamos a mano:
BASH
< view plain text >

1.

perl -MDBD::mysql -e 1
2.

3.
4.

sudo perl -MCPAN -e shell


# si nos pregunta, pulsamos INTRO
5.

8.

install YAML

6.

install Apache::DBI

7.

install DBD::mysql

install Compress::Zlib # si nos pregunta, pulsamos INTRO


9.

install XML::Simple
10.

install Net::IP

Continuamos con la instalacin del servidor de comunicacin desde los repositorios. Esto lo vamos a hacer en la
mquina servidora.
BASH
< view plain text >

1.

neonigma@neonigma-desktop:~$ sudo apt-get install ocsinventory-server

A partir de aqu tenemos un servidor OCS Inventory totalmente funcional.


Ahora, en la o las mquinas que vayan a utilizarse como clientes (puede ser la misma tambin si se quiere),
instalaremos el agente de OCS Inventory (en el mtodo de instalacin escogemos http y en el nombre 127.0.0.1):
BASH
< view plain text >

1.

neonigma@neonigma-desktop:~$ sudo apt-get install ocsinventory-agent

desde el que podemos mandar inventarios con la siguiente orden:


BASH
< view plain text >

1.

neonigma@neonigma-desktop:~$ sudo ocsinventory-agent --server ip.ip.ip.ip

Sin embargo, lo que nos ocupa aqu es el poder desplegar software en los agentes, es decir, que cuando un agente
enve un inventariado, compruebe en el servidor de despliegue si hay paquetes para l. En caso afirmativo, el agente
descargar el paquete tar.gz, lo descomprimir y ejecutar el script que lleve dentro el fichero comprimido.

Para esto, vamos a utilizar el mismo equipo servidor en el que est instalado el servidor de comunicacin en PERL,
activando en ste el soporte SSL y convirtindolo tambin en servidor de despliegue.
Vamos a ejecutar los siguientes tres comandos para activar el soporte SSL en Apache:
BASH
< view plain text >

1.

neonigma@neonigma-desktop:~$ sudo a2enmod ssl


2.

3.

Enabling module ssl.

See /usr/share/doc/apache2.2-common/README.Debian.gz on how to configure SSL and create self-signed


certificates.
4.

Run '/etc/init.d/apache2 restart' to activate new configuration!


5.
6.

neonigma@neonigma-desktop:~$ sudo a2ensite default-ssl


7.

8.

Enabling site default-ssl.

Run '/etc/init.d/apache2 reload' to activate new configuration!


9.

10.

neonigma@neonigma-desktop:~$ sudo /etc/init.d/apache2 restart

Ahora nos vamos a apoyar del excelente tutorial de Vicente Navarro en este post.
<!Concretamente, necesitamos slo la parte que generar un certificado cacert.pem, esta parte est nombrada en
el tutorial como Crear un certificado firmado por nuestra propia autoridad certificadora y haremos todos los
pasos que se indican hasta llegar a la parte Cuidado con ponerle contrasea a la clave privada
Donde pone y cambiar la configuracin del sitio para que lo use:, se refiere al archivo /etc/apache2/sitesenabled/default-ssl, donde tenemos que cambiar las rutas de SSLCertificateFile y SSLCertificateKeyFile.>
Vamos a ver cmo crear un certificado firmado por nuestra propia autoridad certificadora, utilizando el script CA.pl de
OpenSSL, que en sistemas tipo Debian est bajo /usr/lib/ssl/misc/.
Creamos un nuevo certificado raz para la autoridad certificadora jialvarez, de la empresa Emergya.
BASH
< view plain text >

1.

soporte@soporte-laptop:~/ocs_packages$ cd /usr/lib/ssl/misc/
2.

soporte@soporte-laptop:/usr/lib/ssl/misc$ sudo su
3.

4.

[sudo] password for soporte:

root@soporte-laptop:/usr/lib/ssl/misc$ ./CA.pl -newca


5.

CA certificate filename (or enter to create)


6.
7.
8.

Making CA certificate ...

Generating a 1024 bit RSA private key


9.

........++++++
10.

11.

....++++++

writing new private key to './demoCA/private/cakey.pem'

12.
13.

Enter PEM pass phrase: (por ejemplo, mipass)

Verifying - Enter PEM pass phrase: (de nuevo escribimos mipass)


14.

15.

16.
17.

-----

You are about to be asked to enter information that will be incorporated


into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.
18.

There are quite a few fields but you can leave some blank
19.

For some fields there will be a default value,

20.

If you enter '.', the field will be left blank.


21.
22.

23.

State or Province Name (full name) [Some-State]:Sevilla


24.

25.

-----

Country Name (2 letter code) [AU]:ES

Locality Name (eg, city) []:Sevilla

Organization Name (eg, company) [Internet Widgits Pty Ltd]:Emergya


26.

Organizational Unit Name (eg, section) []: Distros


27.

Common Name (eg, YOUR name) []:jialvarez

28.

Email Address []:jialvarez@emergya.es


29.

30.

Please enter the following 'extra' attributes

31.
32.

to be sent with your certificate request

A challenge password []: (dejamos todos los campos extra vacios)


33.
34.

35.

An optional company name []:

Using configuration from /usr/lib/ssl/openssl.cnf

Enter pass phrase for ./demoCA/private/cakey.pem: (volvemos a escribir mipass)


36.

Check that the request matches the signature


37.
38.

Signature ok

Certificate Details:

39.

Serial Number:

40.

a3:a3:a2:5d:a5:13:44:ac
41.

Validity

42.

Not Before: Nov

2 14:49:20 2010 GMT

43.

Not After : Nov

1 14:49:20 2013 GMT

44.
45.

= ES

46.

stateOrProvinceName

= Sevilla

47.

organizationName

= Emergya

48.

organizationalUnitName

= Distros

49.

commonName

50.

emailAddress
51.
52.

= jialvarez
= jialvarez@emergya.es

X509v3 extensions:
X509v3 Subject Key Identifier:

53.

1C:E7:EA:B8:BF:21:00:77:64:5E:00:11:A5:28:76:75:A8:4D:67:D1
54.

55.
56.

Subject:
countryName

X509v3 Authority Key Identifier:


keyid:1C:E7:EA:B8:BF:21:00:77:64:5E:00:11:A5:28:76:75:A8:4D:67:D1

DirName:/C=ES/ST=Sevilla/O=Emergya/OU=Distros/CN=jialvarez/emailAddress=jialvarez@emergya.es
57.

serial:A3:A3:A2:5D:A5:13:44:AC
58.
59.

X509v3 Basic Constraints:


60.

CA:TRUE

61.

Certificate is to be certified until Nov

1 14:49:20 2013 GMT (1095 days)

62.
63.

Write out database with 1 new entries


64.

Data Base Updated

Vale, ya somos autoridad certificadora. Ahora vamos a generar una clave privada y una peticin de certificado para
nuestro sitio web. Es de vital importancia saber que los datos a escribir aqu deben ser exactamente los mismos que
los que se escribieron en el paso anterior.
BASH
< view plain text >

1.

root@soporte-laptop:/usr/lib/ssl/misc$ ./CA.pl -newreq


2.

Generating a 1024 bit RSA private key


3.

.....................++++++
4.

5.
6.

.................++++++

writing new private key to 'newkey.pem'

Enter PEM pass phrase: (este es el password anterior, escribimos mipass)


7.

Verifying - Enter PEM pass phrase: (nuevamente mipass)


8.

9.

You are about to be asked to enter information that will be incorporated


10.

11.

-----

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.
12.

There are quite a few fields but you can leave some blank
13.

For some fields there will be a default value,

14.

If you enter '.', the field will be left blank.


15.
16.

17.

Country Name (2 letter code) [AU]:ES

State or Province Name (full name) [Some-State]:Sevilla


18.

19.

-----

Locality Name (eg, city) []:Sevilla

Organization Name (eg, company) [Internet Widgits Pty Ltd]:Emergya


20.

Organizational Unit Name (eg, section) []: Distros


21.

Common Name (eg, YOUR name) []:jialvarez

22.

Email Address []:jialvarez@emergya.es


23.

24.

Please enter the following 'extra' attributes

25.

to be sent with your certificate request


26.
27.

28.

A challenge password []:


An optional company name []:

Request is in newreq.pem, private key is in newkey.pem

El ltimo paso es firmar el certificado.


BASH
< view plain text >

1.
2.
3.

root@soporte-laptop:/usr/lib/ssl/misc$ ./CA.pl -sign


Using configuration from /usr/lib/ssl/openssl.cnf

Enter pass phrase for ./demoCA/private/cakey.pem: (de nuevo especificamos mipass)

4.

Check that the request matches the signature


5.
6.

Signature ok
Certificate Details:

7.

Serial Number:

8.

a3:a3:a2:5d:a5:13:44:ad
9.

Validity

10.
11.

Not Before: Nov

2 14:54:59 2010 GMT

Not After : Nov

2 14:54:59 2011 GMT

12.
13.

Subject:
countryName

= ES

14.

stateOrProvinceName

= Sevilla

15.

localityName

= Sevilla

16.

organizationName

= Emergya

17.

organizationalUnitName

= Distros

18.

commonName

19.

= jialvarez

emailAddress
20.

= jialvarez@emergya.es
X509v3 extensions:

21.

X509v3 Basic Constraints:


22.

CA:FALSE

23.

Netscape Comment:

24.

OpenSSL Generated Certificate

25.

X509v3 Subject Key Identifier:

26.

EE:52:FE:6C:FB:CD:42:00:AB:C4:81:06:4D:27:2B:BA:4C:AD:59:0B
27.

28.

X509v3 Authority Key Identifier:


keyid:1C:E7:EA:B8:BF:21:00:77:64:5E:00:11:A5:28:76:75:A8:4D:67:D1
29.

30.

Certificate is to be certified until Nov


31.

2 14:54:59 2011 GMT (365 days)

Sign the certificate? [y/n]:y


32.
33.

34.

1 out of 1 certificate requests certified, commit? [y/n]y


35.

Write out database with 1 new entries

37.

Signed certificate is in newcert.pem

36.

Data Base Updated

Con esto, tenemos cuatro ficheros generados, newcert.pem, newkey.pem y newreq.pem en /usr/lib/ssl/misc y
cacert.pem, el ms importante puesto que es el certificado raz de la nueva autoridad certificadora, en
/usr/lib/ssl/misc/demoCA.
Ahora movemos los ficheros necesarios a una ubicacin mejor conocida, teniendo cuidado en esta operacin pues los
nombres y extensiones son muy similares.
BASH
< view plain text >

1.

root@soporte-laptop:/usr/lib/ssl/misc$ mv newkey.pem /etc/ssl/private/ocs.key

2.

root@soporte-laptop:/usr/lib/ssl/misc$ mv newcert.pem /etc/ssl/certs/ocs.crt

Ahora editamos la configuracin de nuestro sitio Web:


BASH
< view plain text >

1.

root@soporte-laptop:/usr/lib/ssl/misc# cd /etc/apache2/sites-enabled/
2.

root@soporte-laptop:/etc/apache2/sites-enabled# vim default-ssl

Y modificamos estas lneas:


BASH
< view plain text >

1.
2.

SSLCertificateFile

/etc/ssl/certs/ssl-cert-snakeoil.pem

SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

por stas (ntese ocs.crt y no ocs.pem):


BASH
< view plain text >

1.

SSLCertificateFile

2.

/etc/ssl/certs/ocs.crt

SSLCertificateKeyFile /etc/ssl/private/ocs.key

Y ya slo nos queda reiniciar Apache:


BASH
< view plain text >

1.
2.

root@soporte-laptop:/usr/lib/ssl/misc# /etc/init.d/apache2 restart

* Restarting web server apache2


apache2: Could not reliably determine the server's fully qualified
domain name, using 127.0.1.1 for ServerName

3.

apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
4.
5.

Apache/2.2.14 mod_ssl/2.2.14 (Pass Phrase Dialog)

Some of your private key files are encrypted for security reasons.
6.

In order to read them you have to provide the pass phrases.


7.
8.

Server 127.0.1.1:443 (RSA)


9.

Enter pass phrase:


10.

11.

OK: Pass Phrase Dialog successful.

<!Una vez generado el certificado cacert.pem firmado por nuestra propia autoridad certificadora, reiniciado el
servidor (nos pedir el password proporcionado al generar el certificado) >
Ya podemos instalar la consola de administracin accediendo por primera vez a nuestro servidor SSL:
BASH
< view plain text >

1.

https://localhost/ocsreports/install.php

Seguimos los pasos para configurar la base de datos y listo. Una vez terminado el proceso, vamos a:
BASH
< view plain text >

1.

https://localhost/ocsreports/

y entramos con usuario admin y contrasea admin


A partir de aqu podemos realizar nuestro primer inventariado con cualquier agente (sudo ocsinventory-agent
server 192.168.1.191), nos vamos al directorio del servidor /var/lib/ocsinventoryagent/http:__192.168.1.191_ocsinventory y copiamos all el fichero cacert.pem. Hacemos especial hincapi en
que, aunque el equipo agente y el servidor sean el mismo, debe configurarse siempre la direccin EN LA RED del
equipo servidor, y no 127.0.0.1 o localhost.
BASH
< view plain text >

1.

neonigma@neonigma-desktop:/var/lib/ocsinventory-agent/http:__192.168.1.191_ocsinventory$ sudo cp
/usr/lib/ssl/misc/demoCA/cacert.pem .

En este punto, ya podemos crear un paquete con un script para desplegar en cualquier agente.

Creacin y despliegue de scripts

Vamos a habilitar mediante la consola de administracin el despliegue o distribucin de software. Para ello vamos
al men de configuracin:

y activamos la opcin correspondiente, bajando adems el tiempo de ciclo de latencia que es algo elevado:

Ahora vamos a crear un script cualquiera, lo vamos a asignar a un equipo en concreto (en el que se ejecuta un
agente) y vamos a hacer la prueba de despliegue. El script que vamos a utilizar puede ser este mismo, lo
llamamos myscript por ejemplo:
BASH
< view plain text >

1.
2.

#!/bin/bash

echo "ESTOY EJECUTANDO SOFTWARE DESPLEGADO CON OCS INVENTORY!!";


3.

echo "Informacin sobre tu CPU";


4.

5.
6.

lscpu

sudo apt-get install teeworlds --assume-yes

echo "JUEGO INSTALADO, A DISFRUTAR DE LAS VACACIONES!!";

Vamos a comprimir este script:


BASH
< view plain text >

1.

neonigma@neonigma-desktop:~$ tar cvzf myscript.tar.gz myscript

Y ahora vamos a crear el paquete software en la consola de administracin de OCS Inventory. Vamos a la Web y
escogemos la opcin Crear del men Distribucin software.

Introducimos los datos del nuevo paquete, indicando que tenemos un fichero comprimido myscript.tar.gz y que
lanzaremos un script que tiene en su interior llamado myscript con prioridad 5 (podemos ponerle prioridad 0 que es
prioridad absoluta).

Si al aceptar nos da el mensaje de error ERROR: cant create or write in /var/lib/ocsinventoryreports/download/xxxxxxxxx folder, please refresh when fixed. (or try disabling php safe mode),
tenemos que cambiar estas rutas en la base de datos. Podemos hacerlo de la siguiente manera:
BASH
< view plain text >

1.
2.
3.

neonigma@neonigma-desktop:~$ mysql -u root -p

mysql&gt; UPDATE config SET TVALUE="/var/www/ocsinventory-reports" WHERE NAME="DOWNLOAD_PACK_DIR"


mysql&gt; UPDATE config SET TVALUE="/var/www/ocsinventory-reports" WHERE NAME="IPDISCOVER_IPD_DIR"

y reiniciamos el proceso, creando de nuevo el paquete.


A continuacin dejamos los siguientes datos como estn porque nuestro paquete no es muy grande y no queremos
fragmentar su envo. Pulsamos en Enviar y el paquete queda creado.

Realizamos ahora el proceso de activacin del paquete. Escogemos la opcin activar del men Distribucin
software.

Nos vamos a la fila que muestra el paquete recin creado y pulsamos en el botn Activar.

Dejamos marcada Activacin manual y especificamos como URL https y como Partes URL la misma
cadena https://192.168.1.191/ocsinventory-reports/download

Al aceptar, se nos informa de que el paquete ya se ha activado y lo podemos afectar. Aqu, afectar un paquete se
refiere a asignarlo a un equipo o a un conjunto de ellos.

El ltimo paso es asignar o afectar un paquete a un equipo. Para ello escogemos un equipo de la lista de los que
tenemos inventariados:

Pulsamos en la opcin Personalizar de la lista de opciones disponibles para un equipo concreto:

Pulsamos en adicionar paquete:

De la lista de paquetes, localizamos la fila del paquete deseado y pulsamos en el botn Afectar. A la pregunta de si
estamos seguros, respondemos que s.

Podemos ver que el paquete queda asignado al equipo y esperando notificacin de envo.

Ahora la ejecucin de un inventariado por parte del agente instalado en el equipo afectado, provocar que ste se
descargue del servidor el paquete disponible para l. Lo vemos:
BASH
< view plain text >

1.

neonigma@neonigma-desktop:~$ sudo ocsinventory-agent --debug --info --logfile logfile.log


2.
3.
4.

DOWNLOAD: Making working directory for 1281884908.


5.

DOWNLOAD: Retrieving info file for 1281884908


6.

7.

[sudo] password for neonigma:


DOWNLOAD: Writing config file.

DOWNLOAD: Initialize ssl layer...

DOWNLOAD: Connect to server: 192.168.1.191/ocsinventory-reports/download...


8.

DOWNLOAD: Starting SSL connection...


9.

DOWNLOAD: Info file:


10.

11.
12.
13.

DOWNLOAD: Success. :-)

DOWNLOAD: Beginning work. I am 26331.

DOWNLOAD: Checking timeout for 1281884908... OK


14.

DOWNLOAD: New period. Nb of cycles: 10

15.

DOWNLOAD: Now pausing for a cycle latency =&gt; 5 seconds

16.

DOWNLOAD: Now pausing for a cycle latency =&gt; 5 seconds

17.

DOWNLOAD: Now pausing for a cycle latency =&gt; 5 seconds

18.

DOWNLOAD: Now pausing for a cycle latency =&gt; 5 seconds


19.

DOWNLOAD: Downloading 1281884908-1


20.
21.

22.

...

DOWNLOAD: Success :-)

DOWNLOAD: Now pausing for a fragment latency =&gt; 10 seconds

23.

DOWNLOAD: Now pausing for a cycle latency =&gt; 5 seconds

24.

DOWNLOAD: Now pausing for a cycle latency =&gt; 5 seconds

25.

DOWNLOAD: Now pausing for a cycle latency =&gt; 5 seconds

26.

DOWNLOAD: Now pausing for a cycle latency =&gt; 5 seconds

27.

DOWNLOAD: Now pausing for a cycle latency =&gt; 5 seconds


28.
29.

DOWNLOAD: Download of 1281884908... Finished.


DOWNLOAD: Execute orders for package 1281884908.

30.
31.

DOWNLOAD: Building package for 1281884908.

DOWNLOAD: Checking signature for ./1281884908/tmp/build.tar.gz.


32.

DOWNLOAD: Digest format: Hexadecimal


33.

DOWNLOAD: Digest algo: MD5

34.

DOWNLOAD: Digest OK...


35.

36.
37.

=&gt; retrieving tar...


=&gt; tar is at /bin/tar
38.
39.

40.

41.
42.

myscript

DOWNLOAD: Building of 1281884908... Success.


DOWNLOAD: Launching myscript...

ESTOY EJECUTANDO SOFTWARE DESPLEGADO CON OCS INVENTORY!!


43.
44.
45.

Architecture:

i686

CPU op-mode(s):

64-bit

46.

CPU(s):

47.

Thread(s) per core:

48.

Core(s) per socket:

49.

CPU socket(s):

50.

Vendor ID:

AuthenticAMD

51.

CPU family:

16

52.

Model:

53.

Stepping:

54.
55.
56.

CPU MHz:

800.000

Virtualization:
L1d cache:

AMD-V
64K

57.

L1i cache:

64K

58.

L2 cache:

512K

59.

L3 cache:

60.

Reading package lists... Done

61.
62.
63.

Informacin sobre tu CPU

6144K

Building dependency tree


Reading state information... Done

The following extra packages will be installed:

64.
65.

teeworlds-data
Suggested packages:

66.
67.

teeworlds-server

The following NEW packages will be installed:


68.

69.

70.
71.
72.

teeworlds teeworlds-data

0 upgraded, 2 newly installed, 0 to remove and 5 not upgraded.


Need to get 5288kB of archives.

After this operation, 8364kB of additional disk space will be used.

Get:1 http://mirrors.nfsi.pt/ubuntu/ lucid/universe teeworlds-data 0.5.1-3ubuntu1 [5114kB]


73.

Get:2 http://mirrors.nfsi.pt/ubuntu/ lucid/universe teeworlds 0.5.1-3ubuntu1 [174kB]


74.
75.
76.
77.

Fetched 5288kB in 4s (1209kB/s)

Selecting previously deselected package teeworlds-data.

(Reading database ... 274481 files and directories currently installed.)


Unpacking teeworlds-data (from .../teeworlds-data_0.5.1-3ubuntu1_all.deb) ...
78.

79.

Selecting previously deselected package teeworlds.

Unpacking teeworlds (from .../teeworlds_0.5.1-3ubuntu1_i386.deb) ...


80.
81.

Processing triggers for man-db ...

Processing triggers for desktop-file-utils ...


82.

83.

Processing triggers for python-gmenu ...

Rebuilding /usr/share/applications/desktop.C.cache...
84.
85.

Processing triggers for python-support ...


Setting up teeworlds-data (0.5.1-3ubuntu1) ...

86.
87.

Setting up teeworlds (0.5.1-3ubuntu1) ...

JUEGO INSTALADO, A DISFRUTAR DE LAS VACACIONES!!

88.

DOWNLOAD: Package 1281884908... Done. Sending message...

89.

DOWNLOAD: Sending message for 1281884908, code=SUCCESS_0.


90.

DOWNLOAD: Cleaning 1281884908 package.


91.

94.

unlink 1281884908/task_done

92.

unlink 1281884908/done

93.

unlink 1281884908/since
unlink 1281884908/tmp/myscript
95.

98.

96.

unlink 1281884908/info

97.

unlink 1281884908/task

unlink 1281884908/1281884908-1
99.

100.
101.

rmdir tmp

rmdir 1281884908

DOWNLOAD: Now pausing for a fragment latency =&gt; 10 seconds


DOWNLOAD: Now pausing for a cycle latency =&gt; 5 seconds
102.

DOWNLOAD: No more package to download.


103.

DOWNLOAD: End of work...

REFERENCIAS
http://www.ocsinventory-ng.org/
http://es.wikipedia.org/wiki/OCS_Inventory
http://wiki.intropedro.com/index.php?title=Instalar_el_servidor_de_ocs_inventory

http://www.vicente-navarro.com/blog/2009/02/22/crear-los-certificados-ssl-para-nuestro-servidor-web-https-conapache-openssl-y-debian-lenny
- See more at: http://www.nacho-alvarez.es/index.php/blog/2010/08/15/despliegue-de-scripts-en-bash-con-ocsinventory-para-gnulinux/#sthash.FrcdQaIx.dpuf