Shutdown

應該在系統關閉時解除安裝 tmpfs 嗎?

  • February 23, 2014

假設我有一個安裝了以下分區的 linux 系統(在 root 旁邊):

  • /proc上的proc
  • /dev上的 devtmpfs
  • /dev/pts上的 devpts
  • /dev/shm上的 tmpfs
  • /sys上的 sysfs
  • /var/run上的 tmpfs
  • /tmp上的 tmpfs

在停止之前我應該做什麼(在發出停止命令之前執行的最後一個腳本)?我應該解除安裝所有這些文件系統,只安裝 /dev 和 /proc 嗎?掛載這些文件系統可能會導致任何問題嗎?有沒有關於這個的最佳實踐?

更新:我目前正在使用帶有自己編寫的腳本的 sysvinit(最新)。

在 Debian 及其衍生產品上,在停止/重啟之前處理解除安裝的腳本是/etc/init.d/umountfs.

對我來說,該腳本沒有umount您列出的任何文件系統,除了tmpfs. 原因在以下評論中給出:

# Make sure tmpfs file systems are umounted before turning off
# swap, to avoid running out of memory if the tmpfs filesystems
# use a lot of space.

鑑於這些腳本的成熟度,我想這是最佳實踐,儘管調查其他發行版的功能可能是個好主意。

也有可能halt/reboot命令實際上需要上述某些掛載才能工作(很可能是/proc,但也有/sysand /dev),如果沒有它們,該命令可能會失敗。

更新

為了對此添加更多資訊umountfs,在實際halt腳本本身之前呼叫的下一個腳本是umountroot. 與名稱所暗示的相反,該腳本實際上以只讀方式重新掛載 root。注意這個的實際語法:

mount    $MOUNT_FORCE_OPT -n -o remount,ro -t dummytype dummydev / 2>/dev/null \
 || mount $MOUNT_FORCE_OPT -n -o remount,ro              dummydev / 2>/dev/null \
 || mount $MOUNT_FORCE_OPT -n -o remount,ro                       /

mount -no remount,ro /如果有其他掛載點綁定到根目錄,似乎只是做一個直線可能會失敗。有關此問題的完整討論,請參閱此錯誤。僅針對 FreeBSD 設置,因此MOUNT_FORCE_OPT對於 Linux 沒有必要。

引用自:https://unix.stackexchange.com/questions/116527