仮想ゲストをバックアップする前に、ディスク容量を最適化するスクリプトを実行します(実際にどのハイパーバイザーを使用するかは問題ではありません)。
最新のUbuntuバージョン(例:18.04)は、デフォルトでは/swapfile
パーティションの代わりにパーティション化を使用しているようです。それも良いです。
しかし、スワップファイルとそれを含むルートパーティションをゼロで埋めたいと思います。
交換があります分割$UUID
スワップパーティションから既存のパーティションを抽出し、パーティションをゼロにした後に実行してmkswap -U $UUID
そのスワップパーティションを再作成する方法が常にあるため、これは比較的苦痛ではありません。
しかし、/swapfile
どうすればいいのかわかりません。/swapfile
私はUUIDを介してインストールできないことを知っていますが、/etc/fstab
まだUUIDを維持したいと思います。
したがって、続行するには、次のいずれかが必要だと思います。
- スワップパーティションにする構造を消去せずにスワップファイルをゼロで埋める方法が必要です(例:実行を防ぐ
mkswap -U $UUID
)。 - 交換から既存のUUIDを取得する方法が必要です。文書
blkid
(ビューに何でも使用できるパーティションとは反対です/dev/disk/by-uuid/$UUID
...)
答え1
これにより、スワップファイルを再生成するのと同じくらい完全に消去されることはありませんが、最初の4KiB(厳密にはアーキテクチャに応じて最初のページ)をスキップしてから消去すると、どの構造にも触れません。スワップファイルを識別します。 。
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、タグ)と組み合わせます。最初のページ。