
使用していないマシンがあり、そのマシンに Linux をクリーン インストールしたいと考えています。マシンには重要なファイルがある可能性があります。
クリーンインストール後にユーザーが作成したすべてのファイルを一覧表示するにはどうすればよいでしょうか?
/
私は、すべてのファイルを検索し、for ループで繰り返し処理して、ユーザーが作成したすべてのファイル (つまり、どの rpm のマニフェストにもリストされていないファイル) をリストするという単純な操作rpm -q --whatprovides
を実行しようと考えていました。これでうまくいくと思いますが、非常に遅く、8 時間以上かかる可能性があります。試してみる必要があります。
rpm をリストしましたが、これはどの Linux ディストリビューションにも当てはまると思います...ただし、短期的にはまず rpm ソリューションが必要です。
答え1
rpm -qla
は、rpm からのすべてのファイルをすばやく一覧表示します。両方のリストを並べ替えて、と比較することができますcomm
。しかし、ユーザーが編集した rpm の設定ファイル (例: ) はどうでしょうか/etc/exports
。 を使用して、rpm -qVa
インストールされたファイルが変更されていないかどうかを確認できますが、変更される予定のファイル (例: ) は無視されます/etc/shadow
。念のため、 全体のコピーを保持しておくことをお勧めします。特定のパッケージ (例: mysql や.../etc
内のファイル) については、まだ心配する必要があります。/var
答え2
必要なものに応じて 2 つの方法があります。
あなたは時間(変更時刻) のファイルと、
find
最近変更されたファイル、および対応するパッケージを検索するコマンド。これにより、パッケージの一部ではないファイルを見つけることができます。たとえば、 の下にあるファイルを検索する場合などです/var
。rpm -qai
を使用して、すべてのパッケージのインストール日を取得し、最近インストールされたパッケージのレポートを取得し、そのリストから を使用して、インストールされた各パッケージのファイルを一覧表示することができrpm -ql
ます。例えば、CentOS: インストール/更新の日付別にインストールされた RPM を一覧表示しますか?
--last
このオプションはリストをrpm -qa
日付順に並べ替えるので、最初のインストールを行った時期に応じてパッケージを制限するにはリストをフィルタリングするだけでよいと指摘しています。