Linux

在 Linux 中禁用交換的最佳方法

  • February 11, 2021

我正在執行一個自定義編譯的 3.18.9 核心,我想知道在系統上禁用交換的最佳方法。如果它有所作為,我也會使用 init。

是否足以註釋或刪除交換行/etc/fstab以防止交換在啟動時工作/掛載,或者我應該重新編譯核心而Support for paging of anonymous memory (swap)不是 100% 確保它沒有被啟用?

我執行加密分區並希望防止意外洩漏到硬碟。我的系統規格也足夠好,可以在無交換環境中生存。

  1. 使用 .標識配置的交換設備和文件cat /proc/swaps
  2. 使用 .關閉所有交換設備和文件swapoff -a
  3. 刪除在 中找到的任何匹配參考/etc/fstab
  4. **可選:**銷毀在步驟 1 中找到的所有交換設備或文件,以防止它們被重複使用。由於您擔心洩露敏感資訊,您可能希望考慮執行某種安全擦除。

人交換

過去只/etc/fstab自動使用交換分區,但是,systemd 可能會稍微改變一下。您可能需要這樣做:

systemctl mask dev-sdXX.swap

(更改 sdXX)到您真正格式化的交換分區,這引出了一個問題,即如果您不想使用交換分區,為什麼要使用它…

如果您不使用 systemd,那麼從中刪除交換條目/etc/fstab就足夠了(據我所知)。

也許真正的解決方案是擺脫交換分區,這樣它們就不會被意外使用。要刪除交換分區,我會使用 fdisk 將分區類型從交換更改為其他類型,然後重新格式化分區或使用: dd if=/dev/zero of=/dev/old-swap-partition以將其歸零並防止其使用。

另請參閱*使用 systemd 設置交換分區的使用*。

引用自:https://serverfault.com/questions/684771