2017-08-02 2 views
0

私は私がtgzファイルを作成し、そのSHA256を計算したいフォルダがあります。は、別のユーザーと異なるサイズを与える

フォルダは、次のコマンドを使用して、TGZに変換さを

"tar -c -C#{Shellwords.escape dir} #{Shellwords.escape basename} " \ 
     "--owner=0 --group=0 --mtime='2000-01-01 00:00:00' | gzip -n > #{Shellwords.escape file}" 

今私は2人の別々のユーザーを使用して上記のプロセスを実行し、それは私に2つのファイル与えた:1と2

をtgzファイルの両方が、サイズが異なります

[email protected] 1 myuser \Domain Users 9024 Jul 31 14:28 1.tgz 
[email protected] 1 myuser \Domain Users 9037 Jul 31 14:29 2.tgz 

ファイル間でdiffを計算しようとすると、次のコマンドを使用してdiff.Diffが取得されました。

diff <(tar -tvf 1.tgz | sort) <(tar -tvf 2.tgz | sort) 

これら2つのファイルのrubyを使ってsha256を計算すると、それは異なります。

質問:異なるユーザーから実行しているときにtgzファイルに違いが生じるのはなぜですか?

+0

スタックオーバーフローは、プログラミングや開発の質問のためのサイトです違いを見ることができます

diff <(gunzip -c 1.tgz | xxd) <(gunzip -c 1.tgz | xxd) 

と。この質問は、プログラミングや開発に関するものではないので、話題にはならないようです。ヘルプセンターの[ここではどのトピックを参照できますか](http://stackoverflow.com/help/on-topic)を参照してください。おそらく[Raspberry Pi Stack Exchange](https://raspberrypi.stackexchange.com/)、[Internet of Things Stack Exchange](https://iot.stackexchange.com/)、[Unix&Linux Stack Exchange](http: //unix.stackexchange.com/)がより良い場所になるでしょう。 – jww

+0

これはプログラミング上の質問です。 – user93796

答えて

0

違いはヘッダーにあり、tarの各ファイルのヘッダーにはユーザーIDとグループIDが含まれています。 https://en.wikipedia.org/wiki/Tar_(computing)#Headerを参照してください。

また、最新のtarは、Ustarという追加のデータをヘッダに追加します。https://en.wikipedia.org/wiki/Tar_(computing)#UStar_format には、オーナーのユーザ名も含まれています。

試してください:あなたは

関連する問題