Linux 在Debian/Ubuntu中模拟运行程序

Linux 在Debian/Ubuntu中模拟运行程序,linux,ubuntu,debian,Linux,Ubuntu,Debian,假设我有一个程序Foo,是否可以在一种沙箱中运行Foo,该沙箱将返回修改/创建/删除的每个文件的列表 例如,我想说: sandboxprogram apt install htop >> log.txt 或 或 并在log.txt中获取所有更改的列表,保持系统未被触动您无法阻止它触碰它所在的系统。然而,你可以给它一个短暂的系统去触摸。这就是容器(如Docker)的用途。让它在一个容器中运行,该容器为它提供了您想要的环境(例如,docker容器已经包含Debian),并在该容器中的

假设我有一个程序Foo,是否可以在一种沙箱中运行Foo,该沙箱将返回修改/创建/删除的每个文件的列表


例如,我想说:

sandboxprogram apt install htop >> log.txt


并在log.txt中获取所有更改的列表,保持系统未被触动

您无法阻止它触碰它所在的系统。然而,你可以给它一个短暂的系统去触摸。这就是容器(如Docker)的用途。让它在一个容器中运行,该容器为它提供了您想要的环境(例如,docker容器已经包含Debian),并在该容器中的strace或类似容器下运行它。然后,您可以对该输出进行grep处理,以找到它打开的文件。然后关闭容器,所有更改都会神奇地消失。

看看LXC!严格地说,创建log.txt的行为将触动系统。:)@Tanktalus我可以将日志保存在不同的系统中lol
sandboxprogram Foo >> log.txt
sandboxprogram untrusted_binary >> log.txt