METHOD='replace' と METHOD='system' の GNU tar マニュアルページの不思議な参照

METHOD='replace' と METHOD='system' の GNU tar マニュアルページの不思議な参照

私のtar(GNU tar 1.28)のマニュアルページには、tarballにファイルが追加されたときに適用される--atime-preserveオプションがリストされています。完全な説明は次のとおりです。

 --atime-preserve
       preserve access times on dumped files, either by restoring the times after reading (METHOD='replace'; default) or by not setting
       the times in the first place (METHOD='system')

ただし、METHOD = 'replace'とMETHOD = 'system'の正確な意味はまだ説明されていません。誰でもこれについて明らかにできますか?

ベストアンサー1

それは単なるオプションの価値です。オンラインマニュアル(そしてinfo文書 - 確認info tar 'Option Summary')より明確にするには:

--atime-preserve
--atime-preserve=replace
--atime-preserve=system

ファイルを読み取るときにファイルアクセス時間を保存します。現在、このオプションは、スーパーユーザー権限がない限り、自分が所有するファイルに対してのみ機能します。

--atime-preserve=replaceファイルを読み取る前にそのファイルのアクセス時間を覚えておいて、ファイルを読み取った後にアクセス時間を復元してください。他のプログラムが同時にファイルを読み取ると、アクセス時間が失われるため、問題が発生する可能性があります。ほとんどのプラットフォームでアクセス時間を復元するにはデータ変更時間を復元するためのtarも必要です。できません)。 )コンテスト条件)。悪いことに、ほとんどのプラットフォームでは、回復アクセス時間は状態変更時間も更新するため、このオプションは増分バックアップと互換性がありません。

--atime-preserve=systemファイルのタイムスタンプの変更を防ぐことは、他のプログラムによるタイムスタンプの更新を妨げないため、増分バックアップに適しています。ただし、基本的な操作とファイルシステムを実装するための特別なオプションが必要であり、O_NOATIME検索ディレクトリはアクセス時間を更新しないでください。この記事を書く時点(2005年11月)現在、この機能はLinuxおよびLinuxカーネル2.6.8以降でのみ利用可能です。さらに悪いことは、現在この機能が実際に機能しているかどうかを知る信頼できる方法がないことです。時々、tarは自分自身が機能しないことを知り、--atime-preserve=systemtarを使用すると苦情が表示され、すぐに終了します。しかし、時々tarはこのオプションが有効であると思うかもしれませんが、実際にはそうではありません。

おすすめ記事