当前时区为 UTC + 8 小时


版面规则


我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。


发表新帖 回复这个主题  [ 6 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [分享]开启 Ubuntu Linux 自带的还原卡 overlayroot 软件
帖子发表于 : 2018-01-13 10:08 

注册: 2011-01-02 12:31
帖子: 176
送出感谢: 19
接收感谢: 8
最近玩树莓派的时候,发现这类开发板通常关机就直接拔电源了,久而久之总会有导致root文件系统损坏的概率。一番搜索发现有个老外发的.sh脚本,可以将树莓派的root挂载为只读,系统的写入操作则会使用内存进行缓冲。关机,重启后 root 保持原样。他使用的是 overlayfs。这简直就是还原卡的功能呀。

今天一番搜索,发现正常版本的 Ubuntu 也有这样的功能,看看我实现后的效果先:【我的系统是 Ubuntu GNOME 16.04.3】

[email protected]:~$ 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 !



_________________
评价: 11.11% Ping-Wuvickycq科学之子
 
页首
 用户资料  
 
2 楼 
 文章标题 : Re: [分享]开启 Ubuntu Linux 自带的还原卡 overlayroot 软件
帖子发表于 : 2018-01-13 14:06 

注册: 2013-05-26 6:58
帖子: 2178
系统: Debian 9
送出感谢: 905
接收感谢: 30
具体到我个人来说,我都是资料保存了之后sync然后断电.


_________________
Linux桌面优化综合贴[2017.09.18](欢迎各位补充或指正误区)
[2016.03.10]会C语言但看不懂英文文档的点这里,一个用C语言编写的简陋学习工具
单硬盘通过iso文件实机安装Debian的方法
重启或操作fcitx时失去响应的一个解决方法,不妨试试看


页首
 用户资料  
 
3 楼 
 文章标题 : Re: [分享]开启 Ubuntu Linux 自带的还原卡 overlayroot 软件
帖子发表于 : 2018-01-13 14:36 
头像

注册: 2011-03-20 13:12
帖子: 4551
地址: 山东省寿光县
系统: Debian
送出感谢: 106
接收感谢: 1009
楼主这个办法不错。我以前都是用 live-boot 这个软件包辅助实现,把 rootfs 做成 squashfs 镜像。跟楼主的方法相比,由于 squashfs 镜像无法修改,想再装个软件或改配置很麻烦。(除非再覆盖一层 persistence 分区/文件) 楼主的方法简单多了。

(不过 squashfs 镜像的一个优势是精简后可以全部装入内存 \( toram\),变成类似 ramos,跑起来飞快。另外在机房里批量部署也比较方便)

科学之子 写道:
具体到我个人来说,我都是资料保存了之后sync然后断电.

对于开发板,这个玩法的一大意义是防止 SD 卡一年半载后挂掉


_________________
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户



_________________
评价: 3.7% 科学之子
 
页首
 用户资料  
 
4 楼 
 文章标题 : Re: [分享]开启 Ubuntu Linux 自带的还原卡 overlayroot 软件
帖子发表于 : 2018-01-13 22:15 
头像

注册: 2007-11-25 13:29
帖子: 7282
地址: 新疆博乐
系统: 14.04/16.04/Fedroa22
送出感谢: 38
接收感谢: 102
标记一下备用,
刚用的时候想过,后面限制学生普通用户,就没在考虑这个问题


_________________
===新手请看===
Ubuntu 安装 | Ubuntu12.04/14.04/16.04 桌面操作指南
··Ubuntu16.04 安装图文教程(超简单)
····有时间就静下心来——折腾:)


页首
 用户资料  
 
5 楼 
 文章标题 : Re: [分享]开启 Ubuntu Linux 自带的还原卡 overlayroot 软件
帖子发表于 : 2018-01-14 5:01 
头像

注册: 2012-11-14 9:34
帖子: 581
系统: Fedora26/UMate16043
送出感谢: 2
接收感谢: 39
vickycq 写道:
由于 squashfs 镜像无法修改,想再装个软件或改配置很麻烦。


一般我们修改 squashfs 镜像的方法如下(细节不列):

引用:
mount filesystem.squashfs root-ro -o loop,ro
mount casper-rw root-rw -o loop,rw
mount none -t overlayfs workdir -o lowdir=root-ro,upperdir=root-rw
mksquashfs workdir newfilesystem.squashfs -comp xz


然后把 newfilesystem.squashfs 复制成 filesystem.squashfs。

不知道有没有办法把整个系统(ext4)变成 squashfs 来开机?



_________________
评价: 3.7% 科学之子
 
页首
 用户资料  
 
6 楼 
 文章标题 : Re: [分享]开启 Ubuntu Linux 自带的还原卡 overlayroot 软件
帖子发表于 : 2018-01-14 5:49 
头像

注册: 2012-11-14 9:34
帖子: 581
系统: Fedora26/UMate16043
送出感谢: 2
接收感谢: 39
Ping-Wu 写道:
vickycq 写道:
由于 squashfs 镜像无法修改,想再装个软件或改配置很麻烦。


一般我们修改 squashfs 镜像的方法如下(细节不列):

引用:
mount filesystem.squashfs root-ro -o loop,ro
mount casper-rw root-rw -o loop,rw
mount none -t overlayfs workdir -o lowdir=root-ro,upperdir=root-rw
mksquashfs workdir newfilesystem.squashfs -comp xz


然后把 newfilesystem.squashfs 复制成 filesystem.squashfs。

不知道有没有办法把整个系统(ext4)变成 squashfs 来开机?


必须提一下,有一阵子 Ubuntu 里的 overlayfs 故障了,我们必须改用 aufs 档案系统,第三个步骤改为(细节省略):

引用:
mount -t aufs -o br:root-rw:root-ro none workdir


如果有人有兴趣把目前正在使用的 Ubuntu 系统“烧成” squashfs 然后放到 USB 里开机的话(即 LiveUSB),可以参考下面一篇文章:

https://help.ubuntu.com/community/MakeA ... iskInstall

Fedora 以前也可以这么做,但我在 Fedora 26/27 尝试了很多次都失败了。可以很容易的制作 “定制的U棒” (customized USB)也许是 Ubuntu 系统最大的优点之一吧。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 6 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译