[分享]开启 Ubuntu Linux 自带的还原卡 overlayroot 软件
发表于 : 2018-01-13 10:08
最近玩树莓派的时候,发现这类开发板通常关机就直接拔电源了,久而久之总会有导致root文件系统损坏的概率。一番搜索发现有个老外发的.sh脚本,可以将树莓派的root挂载为只读,系统的写入操作则会使用内存进行缓冲。关机,重启后 root 保持原样。他使用的是 overlayfs。这简直就是还原卡的功能呀。
今天一番搜索,发现正常版本的 Ubuntu 也有这样的功能,看看我实现后的效果先:【我的系统是 Ubuntu GNOME 16.04.3】
go@go-ub:~$ mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=1935980k,nr_inodes=483995,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=392752k,mode=755)
/dev/sda5 on /media/root-ro type ext4 (ro,relatime,data=ordered)
tmpfs-root on /media/root-rw type tmpfs (rw,relatime)
overlayroot on / type overlay (rw,relatime,lowerdir=/media/root-ro,upperdir=/media/root-rw/overlay,workdir=/media/root-rw/overlay-workdir/_)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
此处略掉很多字..........................
可以看到真正的root是sda5,使用ro只读挂载的,而 / 则是overlayroot。
实现这个功能很简单
首先:sudo apt install overlayroot 安装一下软件
然后编辑配置文件:/etc/overlayroot.conf
将最后的:overlayroot="" 改成 overlayroot="tmpfs" (我这里设置用内存接受写缓冲【切勿大量写入填满内存缓冲】,如果需要改成用硬盘接受写缓冲请仔细看说明。)
重启后root文件系统就进入与还原卡一样的保护模式了,自己用mount看挂载点验证一下。
如果想临时进入不还原的开放模式也非常简单,在开机到 grub2 的时候,编辑引导参数加上 overlayroot=disable 即可进入正常模式,重启后继续保护模式。所以学校机房使用时记得给 grub2 上密码。
可以考虑将 home 等数据单独分区,单独挂载,让其不还原。
那些喜欢将 Ubuntu 安装在U盘上移动使用的建议开启此功能。
OVER !
今天一番搜索,发现正常版本的 Ubuntu 也有这样的功能,看看我实现后的效果先:【我的系统是 Ubuntu GNOME 16.04.3】
go@go-ub:~$ mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=1935980k,nr_inodes=483995,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=392752k,mode=755)
/dev/sda5 on /media/root-ro type ext4 (ro,relatime,data=ordered)
tmpfs-root on /media/root-rw type tmpfs (rw,relatime)
overlayroot on / type overlay (rw,relatime,lowerdir=/media/root-ro,upperdir=/media/root-rw/overlay,workdir=/media/root-rw/overlay-workdir/_)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
此处略掉很多字..........................
可以看到真正的root是sda5,使用ro只读挂载的,而 / 则是overlayroot。
实现这个功能很简单
首先:sudo apt install overlayroot 安装一下软件
然后编辑配置文件:/etc/overlayroot.conf
将最后的:overlayroot="" 改成 overlayroot="tmpfs" (我这里设置用内存接受写缓冲【切勿大量写入填满内存缓冲】,如果需要改成用硬盘接受写缓冲请仔细看说明。)
重启后root文件系统就进入与还原卡一样的保护模式了,自己用mount看挂载点验证一下。
如果想临时进入不还原的开放模式也非常简单,在开机到 grub2 的时候,编辑引导参数加上 overlayroot=disable 即可进入正常模式,重启后继续保护模式。所以学校机房使用时记得给 grub2 上密码。
可以考虑将 home 等数据单独分区,单独挂载,让其不还原。
那些喜欢将 Ubuntu 安装在U盘上移动使用的建议开启此功能。
OVER !