# ¿Para qué sirve la aplicación sys-apps/sandbox?

## papu

hola quisiera saber para que sirve la aplicación sandbox , se lo que es una caja de arena , pero no se  para que sirve esta aplicación en concreto.

Leiendo el man make.conf pone que es recomendble ponerla, pero ¿qué diferencia hay entre tenerla o no tenerla activada en FEATURES?

FEATURES="ccache parallel-fetch sandbox"  ( así lo tengo yo)

También tengo una utilidad que lanza una consola(bash) SANDBOX tampoco se para que puedo usarla.

saludos, adéu.

----------

## Dj_Dexter

Sandbox = Sand + Box = Caja de Arena

Tambien sale info aca, aunque en ingles: http://forum.soft32.com/linux/gentoo-sandbox-ftopict328712.html

Traducido de ahi:

"Cuando un programa se ejecuta con una biblioteca compartida en la variable de entorno LD_PRELOAD que permite que el sistema llama a ser reemplazado. Ver la página de manual de ld.so para más detalles. Sandbox anula execve y todas las operaciones de archivo de base y con el fin de actuar como un administrador de seguridad de archivos para un proceso de confianza y cada programa que lo genera. 

Hay un script llamado sandboxshell (emerge sandboxshell) que le ayuda a ejecutar cualquier programa que desee en el interior de un recinto de seguridad. Otros interesantes hacks LD_PRELOAD son fakeroot que los programas tontos en la creencia de que se ejecute como root y checkinstall / installwatch que los registros de los archivos instalados por el "make install" para que más adelante se puede desinstalar. "

asi que es eso ..

por defecto sandbox esta activado, si esta o no en los features

----------

## papu

si se que es una caja de arena eso que me has dado me deja igual que antes, sigo sin saber su utilidad practica en EMERGE y su utilidad en CONSOLA.

No hace falta que lo ponga  en FEATURES ya viene por defecto activado? de todas formas como digo no se para que usabilidad tiene.

saludos, adéu.

----------

## esteban_conde

Creo que ya te ha contestado DJ_DEXTER además de darte formas de que lo estudies por tu cuenta yo en este momento estoy haciendolo (gracias por plantear la pregunta).

Segun el autor una sandbox es un entorno parecido a chroot para ejecutar programas, su mision es dotar al sistema de seguridad mientras se ajecutan (programas que suelen ser de dudosa procedencia y/o confianza), seguiré leyendo para ver si el proceso es transparente (se ejecuta sin que yo lo sepa) o necesita de mi intervención para ejecutarse.

----------

## papu

si se que es un sandbox en windows utilizo uno que no es mas que un entorno virtual cerrado para ejecutar programas en modo seguro, pero n ose que utilidad puede tener en linux , supongo que una mucho más sutil que va más allá de mis conocimientos técnicos como usuario  ( ya de por si el linux es seguro) además yo también he leido pero es información tecnica que no entiendo del todo.

El que utilizo yo en windows aisla todo entonces no es real no afecta al sistema lo que ejecutas ahi digamos que no existe mas que dentro del entorno , ni se instala realmente en el s.o, entonces si yo ejecuto por ejemplo la consola sandbox en linux con un emerge ¿se instala solo en entorno virtual? o haciendo un make install sin que se instale realmente y asi no afecte al s.o y asi poderlo desinstalar sin que afecte a las dependencias reales del sistema, ¿pero que sentido tiene usar make install en gentoo teniendo ya el emerge?

Pero lo que me interesa saber es la utilidad que tiene en el FEATURES  y en que afecta de ponerlo o no ponerlo al emerger programas, y si viene activado por defecto y no hace falta lo meta ahí. 

Mi inglés es correcto para leer pero hay cosas que incluso estando en español si son demasiado técnicas no las comprendo, no tiene que ver con el idioma  :Smile: 

A ver si entre todos sacamos conclusiones, muchas gracias.

saludos, adéu.

----------

## codestation

 *papu wrote:*   

> 
> 
> Pero lo que me interesa saber es la utilidad que tiene en el FEATURES  y en que afecta de ponerlo o no ponerlo al emerger programas, y si viene activado por defecto y no hace falta lo meta ahí. .

 

Portage utiliza sandbox para prevenir que ebuilds y/o makefiles (y demás) mal escritos escriban en lugares que no deben mientras se compila y se instala la aplicación en un directorio temporal creado por portage antes de ser combinado (merged) en tu sistema de archivos (creo que de allí viene el nombre de emerge). 

En resumen, sandbox no crea ningún entorno virtual ni nada parecido, su única función es proteger tu sistema evitando el que build system escriba donde no deba mientras se crea el paquete. No es necesario que lo pongas en el FEATURES ya que siempre debe estár activado por defecto, puedes verificarlo con "emerge --info | grep FEATURES" y que se encuentre "sandbox" allí.

Como uso standalone tiene poco, por ejemplo podría servir por ejemplo si intentas instalar un programa a mano con make/make install y un DESTDIR=/usr/local (agregando una excepción en el sandbox que te permita escribir alli) y realmente quieres asegurarte de que no escriba cosas raras en ningún otro lado fuera de /usr/local.

----------

## esteban_conde

 *codestation wrote:*   

> En resumen, sandbox no crea ningún entorno virtual ni nada parecido

 

Bueno eso se puede discutir segun su autor: http://sandbox.sourceforge.net/

De todas formas lo que dices sobre entorno temporal e instalación posterior es cierto, pues todos los paquetes pasan a compilarse al directorio /var/tmp/portage/  y sólo cuando se han compilado sin problemas pasa a la fase de instalación que no es otra cosa que distribuir los binarios creados así como las librerías y archivos de configuración en sus respectivos lugares.

----------

## papu

aja bien, supongo que entonces emerge estara usando ese sistema ya hace tiempo , pero como no sabía exactamente que hacía por eso pregunte, en fin parece algo complejo para poderlo explicar, seguro no lo entendería del todo tampoco, al menos ahora ya se algo más del asunto.

muchas gracias

saludos, adéu.

----------

