tarコマンドでファイルをバックアップ・リストアするとき、例えば他のOSで全てのファイルをアーカイブして、Knoppixで展開してchrootしてGRUBをインストールして、リストア先のシステムを起動すると、ファイルのオーナーが変わってしまうことがあります。これは同じユーザー名が存在しつつもUIDが異なると、展開時のユーザーのUIDで展開されてしまうためです。

これを防ぐために--numeric-ownerというオプションがあるのですが、これがどう働くのかいまいちよく分かってなかったので、整理するために実験をしてみました。

手順:
1. ファイルをアーカイブする(--numeric-ownerありとなし)
2. UIDを変更した状態で展開する(--numeric-ownerありとなし)
3. UIDを戻してファイルのオーナーがどうなったか調べる

作成時のoption展開時のoption異なるUIDで展開した場合→元のUID戻すと?
なしなし同じownerのままownerが替わってしまった
なしありownerが入れ替わる同じownerに戻った
ありなしownerが入れ替わる同じownerに戻った
ありありownerが入れ替わる同じownerに戻った

その結果、--numeric-ownerオプションなし/なしの場合の時だけ、ユーザー名とUIDが入れ替わってしまうことがわかりました。いずれかで--numeric-ownerオプションを付けた場合は、ユーザー名ではなくUIDでファイルの展開がされたため、きちんとUIDの情報が保持されているようです。