Debian

僅當驅動器可用時才使用外部交換分區

  • July 3, 2019

我使用在 SD 卡上安裝了 Debian Buster ( armhf )的單板電腦。它有 1 GB 的焊接 RAM,無法增加。我禁用了 Linux 交換,它通常工作正常。

但我有一個應用程序,我希望交換可用。我想在 USB 硬碟驅動器上有一個交換分區,並且只有在需要使用交換時才插入驅動器。此應用程序需要此驅動器存在,因此添加交換功能將非常方便。

到現在為止還挺好。

但是,我希望 Debian 在可用時自動檢測和使用交換空間,而無需使用者互動。

沒有使用者呼叫腳本的好方法嗎?重新啟動是可以接受的,但我寧願不需要它。如果我只是將交換分區放在fstab中,如果在啟動時沒有插入驅動器,則啟動會失敗。

最後,我不擔心禁用交換。應用程序完成後系統將關閉。

如果要使用自動掛載fstab條目,可以添加掛載選項nofail和 systemd timeout x-systemd.device-timeout=XX。這樣就不會報告錯誤,並且在指定的超時設置後繼續引導。否則預設超時為 90 秒。

fstab具有 3 秒超時的範例條目:

/dev/sdb1   none    swap    nofail,sw,x-systemd.device-timeout=3s   0   0

要在啟動後掛載交換分區,您必須創建udev規則或手動執行swapon -a或創建腳本來啟動檢查設備並執行的應用程序swapon -a

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