Песочница для Linux [закрыто]

Интересно, есть ли там своего рода «песочница» для Linux: когда я хочу попробовать программу, не устанавливая ее, я получаю все файлы .deb и распаковываю их куда-то, затем делаю две вещи:

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

В большинстве случаев это работает хорошо, но иногда приложения требуют конфигураций / etc или других ресурсов (например, изображений в общей папке), которые я не смог решить.

Я знаю, что chroot с mount -o bind предоставит мне отдельную среду, но мне все равно нужно связать / bin и / etc , чтобы использовать другие зависимости.

Мне было интересно, знаете ли вы какое-нибудь решение, например, связать два каталога, смешивая их содержимое и записывая новое / отредактированное содержимое только в один из них.

Изменить:
Из Википедии: «В компьютерной безопасности песочница - это механизм безопасности для разделения запущенных программ. Он часто используется для выполнения непроверенного кода или ненадежных программ. от непроверенных третьих лиц, поставщиков, ненадежных пользователей и ненадежных веб-сайтов."

Иногда есть несколько приложений, которые подходят для решения моих проблем, в этом случае я хочу получить то, которое лучше соответствует моим потребностям, поэтому я устанавливаю их все, но я просто хочу их попробовать, я хочу «восстановить» состояние моей машины, как было до установки, из всех изменений, внесенных в программное обеспечение. Просто удалить их недостаточно, это потому, что они генерируют точечные файлы в моем доме, или генерируют файлы журналов, или изменяют настройки другого программного обеспечения , Я хочу зарегистрировать все изменения, которые приложение делает при запуске, и отменить их.

Да, виртуальная машина решит мою проблему, но помимо того, что занимает много места для хранения двух или более установок Linux, она также теряет производительность .

Отдельная установка linux на моем диске, выполняющая chroot, порадовала бы меня производительностью лучше, чем виртуальная машина, но она по-прежнему занимает несколько нежелательных пространств из-за повторяющихся файлов, почти все они такие же, как и в моем исходном дистрибутиве.

Это то, что побудило меня открыть эту тему, если бы я мог как-нибудь вернуться к предыдущему сту te всего моего диска, как система контроля версий или как резервный файл qemu-img «Если базовый образ указан с -o backing_file = filename, образ будет записывать только различия между собой и базовым образом». Конечно, это все еще не лучшее решение, потому что я хочу отменить только определенные изменения приложения.

Идеальным решением было бы что-то вроде этого:

$ 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

Это то, что мне нужно!

0
задан 27 January 2014 в 18:23

1 ответ

Создайте виртуальную машину, загрузите ее и примените установку. Они, если все в порядке, устанавливают его на вашу физическую машину; если нет, удалите ВМ. Виртуальная машина внутри Ubuntu может быть полезна для вас.

В Linux песочница - это ВМ.

0
ответ дан 27 January 2014 в 18:23
  • 1
    @prakharsingh95 That' s верный, однако (\.?[^\.]+) не в порядке также, потому что это будет соответствовать только до второй точки и won' t соответствуют имени файла последовательным точкам или заканчивающийся точкой независимо. It' s не легкое жесткое решение, единственный путь, кажется, делает две замены. – kos 24 June 2015 в 23:16

Другие вопросы по тегам:

Похожие вопросы: