カスタムコンパイルされた3.18.9カーネルを実行していますが、システムでスワップを無効にする最善の方法について考えています。それが違いを生むなら、私もinitを使います。
_/etc/fstab
_のスワップ行をコメント化または削除して、起動時にスワップが機能しない/マウントできないようにするか、またはSupport for paging of anonymous memory (swap)
なしでカーネルを再コンパイルして100%有効にしないようにしますか?
暗号化されたパーティションを実行していて、ハードディスクへの偶発的な漏洩を防ぎたいと思っています。私のシステム仕様も十分に優れており、スワップレス環境で生き残ることができます。
cat /proc/swaps
を使用して、構成済みのスワップデバイスとファイルを識別します。swapoff -a
ですべてのスワップデバイスとファイルをオフにします。/etc/fstab
で見つかった一致する参照をすべて削除します。スワップを無効にしたい場合は、注意してください(注:これは推奨ではありません、物理RAMで十分です)、次の手順に従います。
swapoff -a
を実行:これはすぐにスワップを無効にします/etc/fstab
からスワップエントリを削除するreboot
システム。スワップがなくなった場合は問題ありません。何らかの理由で、それがまだここにある場合は、スワップパーティションを削除する必要がありました。手順1と2を繰り返し、その後、fdisk
またはparted
を使用して(現在未使用の)スワップパーティションを削除します。ここで細心の注意を払ってください:間違ったパーティションを削除すると、悲惨な影響があります!reboot
以前は/etc/fstab
のスワップパーティションのみが自動的に使用されていましたが、systemdが少し変更している可能性があります。あなたがする必要があるかもしれません:
systemctl mask dev-sdXX.swap
(sdXXを変更)実際にフォーマットされたスワップパーティションに変更します。これにより、使用しない場合はなぜスワップパーティションがあるのかという疑問が生じます...
Systemdを使用していない場合は、/etc/fstab
からスワップエントリを削除するだけで十分です(私の知る限り)。
たぶん、本当の解決策は、スワップパーティションを取り除くことであり、それらが誤って使用されないようにします。スワップパーティションを削除するには、fdiskを使用してパーティションタイプをスワップから別のタイプに変更し、パーティションを再フォーマットするか、またはdd if=/dev/zero of=/dev/old-swap-partition
を使用して、それをゼロにし、使用を防ぎます。
systemdでスワップパーティションの使用を設定するも参照してください。
Raspbian 1 (Buster)では、-cleanの答えは次のようになります。
無効にするには次の再起動まで、*/etc/fstab*
に記載されているように:
Sudo /sbin/dphys-swapfile swapoff
起動時にスワップを無効にするには:
Sudo systemctl disable dphys-swapfile
(その情報がどこにも見つからなかったことがわかりました...)
私の Linux Mint ボックス(バージョン19.3(Tricia)、 buntu 18.04 (Bionic Beaver)に基づく)では、スワップパーティションがないか、まったくスワップがない場合、systemctlはswapfileを報告しました起動時に毎回.swapが失敗しました。次のコマンドで無効にできます:
Sudo systemctl disable swapfile.swap
Swapfile.swapはsystemdの「特別な」部分であり、man systemd.special
コマンド。
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