Debian: Break hardlinks in /var
Here the root filesystem is managed by OSTree. OSTree is designed to manage/deploy read-only filesystem. For read-only filesystem, hardlink all files with same content is safe and can save disk space. It is a good principle for readonly folders like /bin, /lib and so on. While "/var" is somehow special that it is designed to store variable data files, it can not be read-only, it must be read-write. Files in "/var" should not be hardlinked together like other folders, break them to make it. Do the same for /usr/homedirs/home as it gets mounted at /var/home at runtime. Test Plan: Pass: build ISO image Pass: In runtime system, no hardlink in /var Story: 2008862 Task: 45966 Related-Bug: #1983580 Change-Id: I1a61f919e0a60f83e27b6c0bf402c20c2d43abb4 Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com>
This commit is contained in:
parent
5136501e29
commit
2b1fbfd4bc
@ -0,0 +1,43 @@
|
|||||||
|
From c4eaf35440afe4ef0473b90b32566a05f99dfbd6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Zhang Xiao <xiao.zhang@windriver.com>
|
||||||
|
Date: Sat, 6 Aug 2022 12:39:16 +0000
|
||||||
|
Subject: [PATCH] init-ostree-install.sh: break hardlinks in /var
|
||||||
|
|
||||||
|
Here the root filesystem is managed by OSTree. OSTree is designed to
|
||||||
|
manage/deploy read-only filesystem. For read-only filesystem, hardlink
|
||||||
|
all files with same content is safe and can save disk space. It is a
|
||||||
|
good principle for readonly folders like /bin, /lib and so on. While
|
||||||
|
"/var" is somehow special that it is designed to store variable data
|
||||||
|
files, it can not be read-only, it must be read-write. Files in
|
||||||
|
"/var" should not be hardlinked together like other folders, break
|
||||||
|
them to make it.
|
||||||
|
|
||||||
|
Do the same for /usr/homedirs/home as it gets mounted at /var/home
|
||||||
|
at runtime.
|
||||||
|
|
||||||
|
Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com>
|
||||||
|
---
|
||||||
|
init-ostree-install.sh | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/init-ostree-install.sh b/init-ostree-install.sh
|
||||||
|
index 0e5b8f3..f66224d 100644
|
||||||
|
--- a/init-ostree-install.sh
|
||||||
|
+++ b/init-ostree-install.sh
|
||||||
|
@@ -1478,11 +1478,11 @@ else
|
||||||
|
mount -o $mount_flags LABEL=fluxdata /var1
|
||||||
|
fi
|
||||||
|
if [ -d ${PHYS_SYSROOT}/ostree/1/var ] ; then
|
||||||
|
- tar -C ${PHYS_SYSROOT}/ostree/1/var/ --xattrs --xattrs-include='*' -cf - . | \
|
||||||
|
+ tar -C ${PHYS_SYSROOT}/ostree/1/var/ --hard-dereference --xattrs --xattrs-include='*' -cf - . | \
|
||||||
|
tar --xattrs --xattrs-include='*' -xf - -C /var1 2> /dev/null
|
||||||
|
fi
|
||||||
|
if [ -d ${PHYS_SYSROOT}/ostree/1/usr/homedirs/home ] ; then
|
||||||
|
- tar -C ${PHYS_SYSROOT}/ostree/1/usr/homedirs/home --xattrs --xattrs-include='*' -cf - . | \
|
||||||
|
+ tar -C ${PHYS_SYSROOT}/ostree/1/usr/homedirs/home --hard-dereference --xattrs --xattrs-include='*' -cf - . | \
|
||||||
|
tar --xattrs --xattrs-include='*' -xf - -C /var1/home 2> /dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
--
|
||||||
|
2.32.0
|
||||||
|
|
@ -5,3 +5,4 @@
|
|||||||
0005-Make-boot-efi-mount-as-rw.patch
|
0005-Make-boot-efi-mount-as-rw.patch
|
||||||
0006-debian-set-default-size-variables-in-install-script.patch
|
0006-debian-set-default-size-variables-in-install-script.patch
|
||||||
0007-Wait-for-devices-to-be-configured-after-boot.patch
|
0007-Wait-for-devices-to-be-configured-after-boot.patch
|
||||||
|
0008-init-ostree-install.sh-break-hardlink-in-var.patch
|
||||||
|
Loading…
Reference in New Issue
Block a user