Sandbox caminho para o linux [fechado]

0

Eu gostaria de saber se existe um tipo de solução de sandbox para Linux: quando eu quero testar um software sem instalá-lo, eu pego todos os arquivos .deb e os extraio em algum lugar, então eu faço duas coisas:

export PATH="$PATH:/home/user/testing_app/bin"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/user/testing_app/lib"

Na maioria das vezes, funciona bem, mas às vezes os aplicativos exigem /etc configurações ou outros recursos (como imagens na pasta de compartilhamento) que não consegui resolver.

Eu sei que o chroot com mount -o bind me forneceria um ambiente separado, mas ainda preciso vincular os diretórios /bin e /etc para usar outras dependências.

Bem, eu queria saber se você conhece alguma solução, uma maneira de ligar dois diretórios misturando seu conteúdo e registrando o conteúdo novo / editado somente em um deles.

Editar:
Da Wikipedia: "Na segurança do computador, um sandbox é um mecanismo de segurança para separar os programas em execução. É usado para executar códigos não testados ou não confiáveis de terceiros não verificados, fornecedores, usuários não confiáveis e não confiáveis websites. "

Às vezes, há mais de um aplicativo que é o candidato para resolver meus problemas. Nesse caso, quero obter o que melhor atende às minhas necessidades, por isso instalo todos eles, mas só quero testá-los, quero para "restaurar" o estado da minha máquina como estava antes das instalações, de todas as alterações que o software fez. Apenas removê-los não é suficiente, é porque eles geram arquivos de ponto em minha casa, ou geram arquivos de logs, ou alteram as configurações de outros softwares, eu quero registrar todas as alterações feitas pelo aplicativo e desfazê-las. / p>

Sim, uma VM resolveria meu problema, mas além de ocupar um grande espaço para realizar duas ou mais instalações do Linux, ele também perderia o desempenho.

Uma instalação linux separada em meu disco fazendo chroot me agradaria melhor do que uma VM em performance, mas ainda leva alguns espaços indesejados por causa de arquivos repetidos, quase todos eles são os mesmos da minha distro original.

Isto é o que me levou a abrir este tópico, se de alguma forma eu pudesse retornar a um estado anterior do meu disco inteiro, como um sistema de controle de versão, ou como o arquivo de apoio do qemu-img "Se uma imagem base for especificada com - o backing_file = nome do arquivo, a imagem só registrará as diferenças entre ele e a imagem base ". É claro que isso ainda não é a melhor solução, porque desejo desfazer apenas as alterações específicas de um aplicativo.

A solução ideal seria algo assim:

$ mkdir dir1 dir2
$ echo "Lipsum" > dir1/file1
$ echo "Original" > dir1/file2
$ sudo mount -o bind -some-magic-flag dir1 dir2
$ echo "Changed" > dir2/file2
$ touch dir2/file3
$ ls -1 dir2
file1
file2
file3
# it's ok
$ ls -1 dir1
file1
file2
# file3 sould not be here!
$ sudo umount dir2
$ ls -1 dir2
file2
file3
# file1 was not changed, but file2 was
$ cat dir1/file2
Original
$ cat dir2/file2
Changed

Isso é o que eu preciso!

    
por Tiago Pimenta 03.01.2014 / 21:41

1 resposta

2

Crie uma máquina virtual, inicialize-a e aplique sua instalação lá. Eles, se estiver tudo bem, instalam na sua máquina física; se não, exclua a VM. a máquina virtual dentro do ubuntu pode ser útil para você.

No Linux, o sandbox é uma VM.

    
por K7AAY 03.01.2014 / 22:19