5.17. 指定一个自定义文件系统配置
您可以在蓝图中指定自定义文件系统配置,因此可以创建具有特定磁盘布局,而不是默认布局配置的镜像。通过使用蓝图中的非默认布局配置,您可以受益于:
- 安全基准合规性
- 防止磁盘不足错误
- 提高的性能
- 与现有设置的一致性
OSTree 系统不支持文件系统自定义,因为 OSTree 镜像有自己的挂载规则,如只读。不支持以下镜像类型:
- 
						image-installer
- 
						edge-installer
- 
						edge-simplified-installer
另外,以下镜像类型不支持文件系统自定义,因为这些镜像类型不创建分区的操作系统镜像:
- 
						edge-commit
- 
						edge-container
- 
						tar
- 
						container
				对于 9.4 之前的发行版本,蓝图支持以下 挂载点 及其子目录:
			
- 
						/- root 挂载点
- 
						/var
- 
						/home
- 
						/opt
- 
						/srv
- 
						/usr
- 
						/app
- 
						/data
- 
						/tmp
从 RHEL 9.4 和 8.10 发行版本开始,您可以指定任意自定义挂载点,为操作系统保留的特定路径除外。
您不能在以下挂载点及其子目录中指定任意自定义挂载点:
- 
						/bin
- 
						/dev
- 
						/etc
- 
						/lib
- 
						/lib64
- 
						/lost+found
- 
						/proc
- 
						/run
- 
						/sbin
- 
						/sys
- 
						/sysroot
- 
						/var/lock
- 
						/var/run
				您可以在蓝图中为 /usr 自定义挂载点自定义文件系统,但不允许为其子目录自定义文件系统。
			
					从 RHEL 9.0 发行版开始,才支持使用 CLI 自定义挂载点。在之前的发行版本中,您只能将 root 分区指定为挂载点,并将 size 参数指定为镜像大小的别名。
				
				如果您在自定义镜像中有多个分区,您可以在 LVM 上创建带有自定义文件系统分区的镜像,并在运行时调整这些分区大小。为此,您可以在蓝图中指定自定义的文件系统配置,因此可以使用所需的磁盘布局创建镜像。默认文件系统布局保持不变 - 如果您使用没有文件系统自定义的普通镜像,cloud-init 会调整 root 分区的大小。
			
蓝图自动将文件系统自定义转换为 LVM 分区。
				您可以使用自定义文件蓝图自定义来创建新文件或替换现有文件。您指定的文件的父目录必须存在,否则镜像构建会失败。通过在 [[customizations.directories]] 自定义中指定它来确保父目录存在。
			
如果您将文件自定义与其他蓝图自定义相结合,这可能会影响其他自定义的功能,或者可能会覆盖当前的文件自定义。
5.17.1. 在蓝图中指定自定义文件
					使用 [[customizations.files]] 蓝图自定义,您可以:
				
- 创建新文本文件。
- 修改现有文件。警告:这可能会覆盖现有内容。
- 为您要创建的文件设置用户和组所有权。
- 以八进制格式设置模式权限。
您无法创建或替换以下文件:
- 
							/etc/fstab
- 
							/etc/shadow
- 
							/etc/passwd
- 
							/etc/group
					您可以使用 [[customizations.files]] 和 [[customizations.directories]] 蓝图自定义在镜像中创建自定义文件和目录。您只能在 /etc 目录中使用这些自定义。
				
						这些蓝图自定义被所有镜像类型支持,但部署 OSTree 提交的镜像类型除外,如 edge-raw-image、edge-installer、edge-simplified-installer。
					
						如果您将 customizations.directories 与设置了 mode、user 或 group 的镜像中已存在的目录路径一起使用,则镜像构建无法防止更改现有目录的所有权或权限。
					
5.17.2. 在蓝图中指定自定义目录
					使用 [[customizations.directory]] 蓝图自定义,您可以:
				
- 创建新目录。
- 为您要创建的目录设置用户和组所有权。
- 以八进制格式设置目录模式权限。
- 确保根据需要创建父目录。
					使用 [[customizations.files]] 蓝图自定义,您可以:
				
- 创建新文本文件。
- 修改现有文件。警告:这可能会覆盖现有内容。
- 为您要创建的文件设置用户和组所有权。
- 以八进制格式设置模式权限。
您无法创建或替换以下文件:
- 
							/etc/fstab
- 
							/etc/shadow
- 
							/etc/passwd
- 
							/etc/group
以下自定义可用:
- 在蓝图中自定义文件系统配置: - [[customizations.filesystem]] mountpoint = "MOUNTPOINT" minsize = MINIMUM-PARTITION-SIZE - [[customizations.filesystem]] mountpoint = "MOUNTPOINT" minsize = MINIMUM-PARTITION-SIZE- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - MINIMUM-PARTITION-SIZE值没有默认大小格式。蓝图自定义支持以下值和单位:kB 到 TB 以及 KiB 到 TiB。例如,您可以以字节为单位定义挂载点大小:- [[customizations.filesystem]] mountpoint = "/var" minsize = 1073741824 - [[customizations.filesystem]] mountpoint = "/var" minsize = 1073741824- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 使用单位定义挂载点大小。例如: - [[customizations.filesystem]] mountpoint = "/opt" minsize = "20 GiB" - [[customizations.filesystem]] mountpoint = "/opt" minsize = "20 GiB"- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - [[customizations.filesystem]] mountpoint = "/var" minsize = "1 GiB" - [[customizations.filesystem]] mountpoint = "/var" minsize = "1 GiB"- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 通过设置 - minsize来定义最小分区。例如:- [[customizations.filesystem]] mountpoint = "/var" minsize = 2147483648 - [[customizations.filesystem]] mountpoint = "/var" minsize = 2147483648- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 使用 - [[customizations.directories]],在- /etc目录下为镜像创建自定义目录:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 蓝图条目如下所述: - 
									path- 必需 - 输入您要创建的目录的路径。它必须是/etc目录下的绝对路径。
- 
									mode- 可选 - 以八进制格式设置目录的访问权限。如果没有指定权限,则默认为 0755。前面的零是可选的。
- 
									user- 可选 - 将用户设置为目录的所有者。如果没有指定用户,则默认为root。您可以将用户指定为字符串或整数。
- 
									group- 可选 - 将组设置为目录的所有者。如果没有指定组,则默认为root。您可以将组指定为字符串或整数。
- 
									ensure_parents- 可选 - 指定是否要根据需要创建父目录。如果没有指定值,则默认为false。
 
- 
									
- 使用 - [[customizations.directories]],在- /etc目录下为镜像创建自定义文件:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 蓝图条目如下所述: - 
									path- 必需 - 输入您要创建的文件的路径。它必须是/etc目录下的绝对路径。
- 
									mode可选 - 以八进制格式设置对文件的访问权限。如果没有指定权限,则默认为 0644。前面的零是可选的。
- 
									user- 可选 - 将用户设置为文件所有者。如果没有指定用户,则默认为root。您可以将用户指定为字符串或整数。
- 
									group- 可选 - 将组设置为文件所有者。如果没有指定组,则默认为root。您可以将组指定为字符串或整数。
- 
									data- 可选 - 指定纯文本文件的内容。如果没有指定内容,它会创建一个空文件。
 
-