サーバー上の OS を「フレッシュクリーン」にするにはどうすればよいでしょうか?

サーバー上の OS を「フレッシュクリーン」にするにはどうすればよいでしょうか?

OS に関係のないすべてをサーバーから削除する高速で信頼性の高い方法はありますか?

すべてを削除するというのは、次のことを意味します。

  1. すべてのパッケージとその依存関係を完全に削除します
  2. OSに関係のないディレクトリをすべて削除します

一般的に、私は Debian および CentOS ベースのサーバーでこれを実行することに興味があります。

1 つまたは複数のコマンドを使用して「高速かつ信頼性の高い」方法がない場合、手動で行う方法を説明してください。

答え1

「新規インストール」のようにクリーンなシステムに戻そうとしている場合は、新規インストールを行う必要があります。または、インストール直後にシステムのベアメタル イメージを作成するという先見の明がある場合は、その状態に戻すことができます。

Linux のパッケージ システムでも、削除またはアンインストールでは削除されない構成や設定があります。特にサーバー環境では、クリーン インストールが必要な場合、インストール以降に行ったすべての操作を単純に削除することはできません。クリーン インストール状態に到達するには、クリーン インストールを実行する必要があります。

更新: クリーニングパッケージ

Ramii.org には、Debian システムでパッケージを一覧表示し、未使用のパッケージをクリーンアップするためのヒントがいくつか掲載されています。http://raymii.org/s/tutorials/Debian-apt-get-dpkg-packages-cleanup-commands.html

インストールされているパッケージを一覧表示するには:

dpkg --get-selections | cut -f1 | while read pkg; do dpkg -L $pkg | xargs -I'{}' bash -c 'if [ ! -d "{}" ]; then echo "{}"; fi' | tr '\n' '\000' | du -c --files0-from - | tail -1 | sed "s/total/$pkg/"; done | sort -rn > ~/packages.log.txt

彼は、apt 削除プロセス中に削除されなかった設定ファイルを一覧表示する方法を列挙し続けます。

必要なパッケージをすべて削除したら、次のコマンドを実行します。

apt-get autoremove

そして

apt-get clean

リポジトリと未使用の apt ファイルをクリーンアップします。

答え2

簡単な方法がないのでパッケージを 1 つずつ削除する場合は、必ず「purge」してください。つまり、Debian の場合は、「aptitude purge packaged」を実行してすべての設定ファイルを削除します。また、「aptitude autoremove」を実行して不要な依存関係を削除することもできます。

答え3

Debian では、「deborphan」ツールを使用して、依存するパッケージがないパッケージを一覧表示できます。そのため、本当に必要だとわかっている場合を除いて、それらのパッケージは削除できます。すべてのパッケージング ツールと同様に、注意して使用してください。

関連情報