由于 Linux 发行版功能极其强大,它还允许用户输入终端命令来破坏/卸载操作系统的某些重要部分。是否可以在某种“临时模式”下运行系统,测试终端命令或其他任何内容,如果出现问题,只需退出此模式并返回“真实”操作系统即可?
我知道我可以做以下事情之一:
- 在磁盘上安装第二个 Ubuntu 进行测试(在我看来,考虑到我只需要尝试一些终端命令,这个空间太大了)。
- 在虚拟机中安装 Ubuntu(虚拟机限制太多,并且存在与第一点相同的问题)
- 某种类型的容器?
还有其他选择吗?我只是好奇,因为由于某些问题,我已经重装了系统很多次了。
答案1
好吧,您至少可以使用容器和 KVM 通过使用快照来实现这一点。
对于 LXD 来说这可能很简单:
lxc launch ubuntu-daily:b b
lxc exec b bash
# do some work
lxc snapshot b b-state-1
# do some other work, but revert later
lxc revert b b-state-1
如果您意识到配置很好,您甚至可以克隆保留此容器,但将旧快照克隆为新名称以继续进行其他实验。选项几乎是无限的。请参阅本文中的“快照管理”和“克隆和重命名”部分博客。从那里您可以根据需要前往。
如果即使系统容器现在有这么多好用的功能,你仍然无法满足你的需求,那么你可以使用libvirt 和快照根据您的需要,为具有磁盘的 VM 客户机提供甚至实时快照。