web-dev-qa-db-ja.com

Linuxでスワップを無効にする最良の方法

カスタムコンパイルされた3.18.9カーネルを実行していますが、システムでスワップを無効にする最善の方法について考えています。それが違いを生むなら、私もinitを使います。

_/etc/fstab_のスワップ行をコメント化または削除して、起動時にスワップが機能しない/マウントできないようにするか、またはSupport for paging of anonymous memory (swap)なしでカーネルを再コンパイルして100%有効にしないようにしますか?

暗号化されたパーティションを実行していて、ハードディスクへの偶発的な漏洩を防ぎたいと思っています。私のシステム仕様も十分に優れており、スワップレス環境で生き残ることができます。

57
user283167
  1. cat /proc/swapsを使用して、構成済みのスワップデバイスとファイルを識別します。
  2. swapoff -aですべてのスワップデバイスとファイルをオフにします。
  3. /etc/fstabで見つかった一致する参照をすべて削除します。
  4. オプション:手順1で見つかったスワップデバイスまたはファイルを再利用しないように破棄します。機密情報の漏えいを懸念しているため、何らかの安全なワイプを実行することを検討してください。

man swapoff

85
Aaron Copley

スワップを無効にしたい場合は、注意してください(注:これは推奨ではありません、物理RAMで十分です)、次の手順に従います。

  1. swapoff -aを実行:これはすぐにスワップを無効にします
  2. /etc/fstabからスワップエントリを削除する
  3. rebootシステム。スワップがなくなった場合は問題ありません。何らかの理由で、それがまだここにある場合は、スワップパーティションを削除する必要がありました。手順1と2を繰り返し、その後、fdiskまたはpartedを使用して(現在未使用の)スワップパーティションを削除します。ここで細心の注意を払ってください:間違ったパーティションを削除すると、悲惨な影響があります!
  4. reboot
11
shodanshok

以前は/etc/fstabのスワップパーティションのみが自動的に使用されていましたが、systemdが少し変更している可能性があります。あなたがする必要があるかもしれません:

systemctl mask dev-sdXX.swap

(sdXXを変更)実際にフォーマットされたスワップパーティションに変更します。これにより、使用しない場合はなぜスワップパーティションがあるのか​​という疑問が生じます...

Systemdを使用していない場合は、/etc/fstabからスワップエントリを削除するだけで十分です(私の知る限り)。

たぶん、本当の解決策は、スワップパーティションを取り除くことであり、それらが誤って使用されないようにします。スワップパーティションを削除するには、fdiskを使用してパーティションタイプをスワップから別のタイプに変更し、パーティションを再フォーマットするか、またはdd if=/dev/zero of=/dev/old-swap-partitionを使用して、それをゼロにし、使用を防ぎます。

systemdでスワップパーティションの使用を設定するも参照してください。

11
Gregor

Raspbian 1 (Buster)では、-cleanの答えは次のようになります。

無効にするには次の再起動まで*/etc/fstab*に記載されているように:

Sudo /sbin/dphys-swapfile swapoff

起動時にスワップを無効にするには:

Sudo systemctl disable dphys-swapfile

(その情報がどこにも見つからなかったことがわかりました...)

2
Michaël GENAY

私の Linux Mint ボックス(バージョン19.3(Tricia)、 buntu 18.04 (Bionic Beaver)に基づく)では、スワップパーティションがないか、まったくスワップがない場合、systemctlはswapfileを報告しました起動時に毎回.swapが失敗しました。次のコマンドで無効にできます:

Sudo systemctl disable swapfile.swap

Swapfile.swapはsystemdの「特別な」部分であり、man systemd.specialコマンド。

1
piotao

Raspbianで/ etc/fstabファイルを表示すると、次のコメントが表示されます

a swapfile is not a swap partition, no line here
  use dphys-swapfile swap[on|off] for that

しかし、事前設定されたスワップファイルを完全に無効にするために、これは完全にうまく機能します。

swapoff -a
chmod -x /etc/init.d/dphys-swapfile
reboot

このソリューションは少し速くて汚いように見えますが、次のようにして簡単に再有効化できます。

chmod +x /etc/init.d/dphys-swapfile
reboot
0
Ilka31415