スワップファイルになった理由を消去せずに/ swapfileをゼロで埋めるにはどうすればよいですか?

スワップファイルになった理由を消去せずに/ swapfileをゼロで埋めるにはどうすればよいですか?

仮想ゲストをバックアップする前に、ディスク容量を最適化するスクリプトを実行します(実際にどのハイパーバイザーを使用するかは問題ではありません)。

最新のUbuntuバージョン(例:18.04)は、デフォルトでは/swapfileパーティションの代わりにパーティション化を使用しているようです。それも良いです。

しかし、スワップファイルとそれを含むルートパーティションをゼロで埋めたいと思います。

交換があります分割$UUIDスワップパーティションから既存のパーティションを抽出し、パーティションをゼロにした後に実行してmkswap -U $UUIDそのスワップパーティションを再作成する方法が常にあるため、これは比較的苦痛ではありません。

しかし、/swapfileどうすればいいのかわかりません。/swapfile私はUUIDを介してインストールできないことを知っていますが、/etc/fstabまだUUIDを維持したいと思います。

したがって、続行するには、次のいずれかが必要だと思います。

  1. スワップパーティションにする構造を消去せずにスワップファイルをゼロで埋める方法が必要です(例:実行を防ぐmkswap -U $UUID)。
  2. 交換から既存のUUIDを取得する方法が必要です。文書blkid(ビューに何でも使用できるパーティションとは反対です/dev/disk/by-uuid/$UUID...)

ベストアンサー1

  1. これにより、スワップファイルを再生成するのと同じくらい完全に消去されることはありませんが、最初の4KiB(厳密にはアーキテクチャに応じて最初のページ)をスキップしてから消去すると、どの構造にも触れません。スワップファイルを識別します。 。

  2. blkidスワップファイルでもうまく動作します。

    $ mkswap swap
    Setting up swapspace version 1, size = 512 MiB (536866816 bytes)
    no label, UUID=7916b81f-1faa-4b7d-84ef-b0bf2f75dbbc
    
    $ blkid swap
    swap: UUID="7916b81f-1faa-4b7d-84ef-b0bf2f75dbbc" TYPE="swap"
    

ヘッダー形式は次のとおりです。カーネルで定義:以前の形式は最初のページの最後に魔法のような価値がありましたが、新しい形式はそれを1KiBの空き領域と簡単に入れることができるいくつかのフィールド(バージョン、サイズ、間違ったページ、UUID、タグ)と組み合わせます。最初のページ。

おすすめ記事