
私はTimeshiftベースのスナップショットが有効になっているコンピュータでclamavを使用して完全なシステムチェックを実行する簡単な方法を探しています。
Ubuntu Webサイトのこの回答からわかるように、、私が使用するコマンドは次のとおりです。
clamscan -r --bell -i -exclude-dir="^/sys" /
(注:-exclude-dir="^/sys"
他のユーザーが私に/ sysが仮想ディレクトリであり、読み取りアクセスエラーを防ぐために検索から除外されるのが最善であることを説明しながら、このパラメータを提案しました。)
コマンドは期待どおりに機能します。 「コンピュータ上のすべてのファイルを確認しますが、感染したファイルのみを表示し、見つかった場合はアラームを鳴らします。」
これには明らかな問題があります。 「マイコンピュータのすべてのファイル」には、Timeshiftがスナップショットデータを保存するために使用するディレクトリである「/timeshift」ディレクトリが含まれています。
今公式Timeshiftページから:
RSYNCモードではスナップショットはrsyncとハードリンクを使用して作成されます。スナップショット間の公開ファイル共有これにより、ディスク容量が節約されます。各スナップショットは完全なシステムバックアップであり、ファイルマネージャを使用して参照できます。
簡単に言えば、Timeshiftは変更されたファイルをコピーし、ハードリンクを使用して変更されていないファイルを参照します。私が理解したところ、これは「最初の」スナップショットがファイルシステムの完全なコピーである可能性があります(明らかにTimeshiftが無視するように設定されているすべてのファイル/パスを除く)、後続のスナップショットには変更されたファイルのみが含まれ、変更されていないリンクです。
問題:標準設定では、clamscanは/ timeshiftフォルダのすべてのファイルもスキャンします。実際の実際のファイルである変更されたファイルを検索できますが...リンクを検索することは、基本的に同じファイルを複数回検索することを意味するため、無駄のようです。ファイル内の最初の変更のスナップショットを一度検索し、検索ごとに次のスナップショットで変更されていないファイルへのリンク。
だから私はこれらのハードリンクをスキャンから除外する簡単な方法を探しています。man clamscan
オプションがあることを示していますが、--follow-file-symlinks
そうしても
clamscan -r --bell -i -exclude-dir="^/sys" --follow-file-symlinks=0 /
うまくいかないようです。最終的に私が理解する限り、オプションは除外されます。シンボリックリンク、Timeshiftが使用されている間ハードリンク。
だから私の質問は次のとおりです。/ timeshiftディレクトリにハードリンクされたファイルをスキャンするのをスキップするのではなく、実際のファイルをスキャンしながらシステム全体をスキャンする方法はありますか?
(付随する質問:clamtk UIを使用して同じ効果を得ることはできますか?)
答え1
ファイルへのハードリンクは、「実際のファイル」と呼ぶものと変わらない。実際には両方のディレクトリにある同じファイルです。あなたの場合の最善の解決策は、コマンド-exclude-dir="^/timeshift"
にパラメータをもう1つ追加することですclamscan
。