/
我正在尝试将Debian Buster 系统的rootfs 挂载为 overridefs,因为我有兴趣使用tmpfs
该/upper
目录。我的想法是使用它来通过使其可假写来保持根文件系统的完整性。我知道有一些软件包打算做到这一点,例如fsprotect
and bilibop-lockfs
,但是我认为前一个可能有点过时,而后一个似乎更有前途,但是两者都使用aufs
并且我想initrd
尽早了解 and用户空间和Linux启动过程,也许将来我会考虑尝试bilibop-lockfs
。
反正 ...我的剧本是基于当前的raspi 配置脚本;如你所见,我基本上是在添加完全相同的脚本作为一个模块并重建,那么当作为内核命令行参数传递initramfs
时,该模块就会被触发。boot=overlay
该脚本显然完成了将 rootfs 安装为 overridefs 的工作,但是......我遇到了以下问题;正如您在输出中看到的df -h
,它显示大小只是3.9G
Filesystem Size Used Avail Use% Mounted on
udev 3.8G 0 3.8G 0% /dev
tmpfs 781M 17M 764M 3% /run
overlay 3.9G 1.2G 2.7G 30% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mmcblk1p2 236M 96M 123M 44% /boot
/dev/mmcblk1p1 511M 5.2M 506M 2% /boot/efi
/dev/mmcblk0p1 58G 811M 54G 2% /data
tmpfs 781M 0 781M 0% /run/user/1001
有些程序在这个大小上存在问题,因为当它们运行一段时间后,它们开始在日志日志中打印“设备上没有剩余空间”。我的问题是......指定这个尺寸的是什么?我在脚本中看不到任何有关大小的信息overlay
。我可以设置更大的尺寸来为这些程序提供更大的余量吗?
谢谢你们。
答案1
好吧,我没有意识到当你挂载 tmpfs 时,你可以在 mountoptions 中选择特定的大小;来自tmpfs 联机帮助页:
Mount options
The tmpfs filesystem supports the following mount options:
size=bytes
Specify an upper limit on the size of the filesystem. The
size is given in bytes, and rounded up to entire pages.
The size may have a k, m, or g suffix for Ki, Mi, Gi
(binary kilo (kibi), binary mega (mebi), and binary giga
(gibi)).
The size may also have a % suffix to limit this instance
to a percentage of physical RAM.
The default, when neither size nor nr_blocks is specified,
is size=50%.
所以更换我的脚本中的第 86 行有了这个:
mount -t tmpfs -o size=100% tmpfs /upper
系统不再报告可用空间问题。