我想知道是否还有Deep Freeze for Linux的替代方案仍在开发中,因为我已经在互联网上阅读了一些内容,并且看起来像开发Deep Freeze的同一家公司也有它的Linux版本。项目已终止。
/tmp,并且在注销后会被清理...这还不够吗?
我想知道是否还有Deep Freeze for Linux的替代方案仍在开发中,因为我已经在互联网上阅读了一些内容,并且看起来像开发Deep Freeze的同一家公司也有它的Linux版本。项目已终止。
/tmp,并且在注销后会被清理...这还不够吗?
Answers:
OFRIS是一个开源应用程序,可以冻结您的Linux,就像Microsoft Windows操作系统中的Deep Freeze。
对于Ubuntu 9.10、10.04和10.10版本。要安装OFRIS,只需按键盘上的Ctrl+ Alt+ T打开终端。打开时,运行以下命令:
sudo add-apt-repository ppa:tldm217/tahutek.net -y
sudo apt-get update && sudo apt-get install ofris-en -y
对于Ubuntu 11.04、11.10、12.04和13.04版本。要安装OFRIS,只需按键盘上的Ctrl+ Alt+ T打开终端。打开时,运行以下命令:
if [ $(uname -m) == "x86_64" ]; then deb="http://goo.gl/DleLl"; else deb="http://goo.gl/V94Qs"; fi && wget -q $deb -O ofris.deb && sudo dpkg -i ofris.deb && rm ofris.deb
下图显示了OFRIS在13.04上运行

资料来源:XGeek
警告:我已经实现了此解决方案,并且确实可以使用,但是如果在上次引导期间对系统进行了较大的更改,则返回快照的合并时间可能会导致引导过程花费很长时间。在此等待期间,用户可能会发现系统正在挂起!
还请注意,任何有足够知识来安装快照的人都可以更改“冻结”状态。我利用了这种可能性来更新“冻结的”系统,但同样,这也可能增加合并(还原到)快照所需的时间!
我最近开始研究LVM,在我看来,可以使用LVM及其快照功能在计算机上可行地创建“冻结”状态。当然,此方法需要使用LVM(或至少要冻结的分区上的LVM)配置的系统。
摘要:
概念验证:通过全新安装冻结除一个分区以外的所有内容
安装:
/dev/sda (尺寸1T)
/dev/sda1 (尺寸1T)/dev/sda1。我将把大多数系统放在一个分区上,但是您不必这样做。
sudo pvcreate /dev/sda1sudo vgcreate ubuntu-vg /dev/sda1sudo lvcreate -n swap -L 1G ubuntu-vgsudo lvcreate -n unfrozen -L 10G ubuntu-vgsudo lvcreate -n root -l +50%free ubuntu-vgsudo vgs随后运行,sudo lvs应该可以看到卷组“ ubuntu-vg”(vgs输出下的VFree)中剩余的可用空间等于逻辑卷“ root”所占用的空间。 ”(在lvs输出下为LSize)。就我而言,我在ubuntu-vg中有506.44g的空闲空间,并且我的根分区很大,为506.44g。如果卷组中剩余的可用空间等于我要冻结的分区的大小,则我应该能够擦除整个分区,并且仍然能够通过重新启动来恢复。暂时不使用ubuntu-vg中的其余可用空间。稍后我们将使用它。
mkdir /steady/etc/fstab通过增加(这是所有一行)/dev/ubuntu-vg/steadystate /steady ext4 defaults,ro,nofail 0 1作为文件的最后一行/root/steadystate.sh使用您喜欢的编辑器另存为。请注意,如果在设置LVM时更改了卷组名称,则还需要在下面的脚本中对其进行更新。 #!/bin/bash
LOG=/dev/kmsg
# wait for merge in progress
echo -n "Reverting to snapshot if present... " | tee -a $LOG
merging=1
while [ "$merging" == "1" ];
do
/usr/sbin/service lightdm stop #prevent the auto-login/login screen from loading
[ "$(sudo lvs -a | grep steadystate)" == "" ] && merging=0
sleep 1
done
# create snapshot
echo -n "Creating new snapshot... " | tee -a $LOG
/sbin/lvcreate -s -n steadystate -l +100%free /dev/ubuntu-vg/root
# make sure root comes online before trying to merge
while [ ! -e /dev/mapper/ubuntu--vg-root];
do
sleep .5;
done
echo -n "Scheduling reset to snapshot... " | tee -a $LOG
/sbin/lvconvert --merge /dev/ubuntu-vg/steadystate
echo -n "Starting lightdm... " | tee -a $LOG
/usr/sbin/service lightdm start
sudo crontab -e,选择一个编辑器,并将其放在@reboot /bin/bash /root/steadystate.sh文件末尾。保存并关闭(Ctrl+ X;Y保存答案)之所以可行,是因为快照是在引导时创建的,即使我们在此之后立即传递命令合并快照,在root逻辑卷处于活动状态时也无法合并快照。因此,它将合并操作推迟到下次激活/ dev / ubuntu-vg / root时,下次重新启动时。如果从实时USB启动系统,也会触发此操作。
只是为了踢球,我在重新启动后进入并运行了sudo apt remove --purge firefox* libreoffice-* unity*,通常我不建议这样做,因为它会删除一些有用的程序并使系统处于不太理想的状态!
该系统甚至无法从GUI正常关闭。那么如何解决这个问题呢?重启!
重新启动后,一切恢复正常。Firefox,LibreOffice和Unity都回到了原来的位置。
我也尝试删除linux *。这使他的计算机无法启动,但是,仅从活动的Ubuntu磁盘启动似乎可以进行合并。再次重新启动使系统处于“冻结”状态
如果您希望能够进行更改,则可以使用rw特权(重新)安装快照,然后将其chroot对其进行更改,并进行要永久保留的任何更改。这并非完美无缺,但这是概念的证明。
fsprotect是用于保护现有文件系统的一组脚本。fsprotect非常适合公用计算机,例如图书馆,网吧中的计算机。
他们使用aufs打包了一个tmpfs文件系统,强制将更改写入tmpfs文件系统。
根文件系统受initramfs脚本保护。其他文件系统受初始化脚本保护。所有受保护的文件系统都变为只读状态,即使在断电时也能确保其不变性。
要在当前所有受支持的Ubuntu版本中安装fsprotect,请打开终端并输入:
sudo apt-get install fsprotect
使用fsprotect的好处是:
使用fsprotect的缺点是:
touchinitram脚本中的错误引用。它指向/usr/bin/touch而不是/bin/touch。可以强制执行此操作,但是即使安装后,网络也无法运行。