答案1
如果您将/boot
文件系统更改为/tmp
in /etc/fstab
,那么在下次重新启动后,您的内核和 initramfs 文件将位于其中,并且如果您的系统有一个在启动时或每隔一段时间定期/tmp
进行清理的自动进程,则可能会被删除。/tmp
然后,一旦清理过程从 /boot-as-/tmp 文件系统中删除了内核和 initramfs 文件,您的系统将无法再次启动。
要正确地将当前/boot
文件系统重新调整为/tmp
,您必须首先执行以下操作:
- 确保您的引导加载程序版本能够从 LVM 逻辑卷读取内核和 initramfs 文件
- 将文件系统安装
/boot
到临时位置,例如/mnt
,然后将内核和 initramfs 文件从/mnt
(以前是/boot
)复制或移动到新/boot
目录,该目录现在只是根文件系统上的常规目录 - 重新安装引导加载程序,并确保它实际上配置为从基于 LVM 的根文件系统而不是以前的单独文件系统读取内核和 initramfs 文件
/boot
/boot
在实际重用旧文件系统之前,引导系统一次以确保没有犯错误/tmp
所有这些都是大量细致的工作,如果出错,可能会导致系统无法启动。我建议不要重新调整你的/boot
用途,/tmp
除非你别无选择。
相反,如果您想要一个单独的/tmp
文件系统,您可以使用基于 RAM 的文件系统tmpfs
。基本上,只需将这样的新行添加到您的/etc/fstab
:
tmpfs /tmp tmpfs defaults,nodev,nosuid,noexec 0 0
重新启动系统后,您现在应该拥有一个基于 RAM 的/tmp
文件系统,并且安全选项已生效。
或者,如果您想要一个/tmp
可以在重新启动后保留其内容的卷,并且您的卷组中有未分配的空间vg_smpp
,您可以轻松地为/tmp
.
- 首先,使用该
vgs
命令查看vg_smpp
卷组是否有足够的未分配空间来满足您的目的:如果该VFree
列不为零,则卷组中有可用的未分配空间。 - 如果有未分配的空间,可以用来
lvcreate -L <desired size> -n lv_tmp vg_smpp
创建新的逻辑卷/dev/mapper/vg_smpp-lv_tmp
。只需替换<desired size>
为新文件系统所需的大小即可/tmp
。 - 创建逻辑卷后,您需要在其上创建一个文件系统:
mkfs.ext4 /dev/mapper/vg_smpp-lv_tmp
。 /etc/fstab
然后,您可以为其添加一行:/dev/mapper/vg_smpp-lv_tmp /tmp ext4 默认值、nodev、nosuid、noexec 1 2
/tmp
现在您可以将其安装到现有目录的顶部:mount /tmp
。此后的下一步是为新安装的 /tmp 文件系统设置适当的权限:chmod 1777 /tmp
、 或drwxrwxrwt
。换句话说,任何人都可以使用该/tmp
文件系统,但有一个额外的限制,即只有文件或子目录的所有者才能删除它。这是目录的标准和预期权限集/tmp
。任何具有活动临时文件的现有程序可能会对这种替换感到有点困惑,因此此时最好重新启动。