.zipアーカイブの抽出中にファイルのタイムスタンプを保存できますか?

.zipアーカイブの抽出中にファイルのタイムスタンプを保存できますか?

.zipアーカイブを解凍し、抽出されたファイルのタイムスタンプを維持したいと思います。ただし、このコマンドはタイムスタンプを保存しません。

unzip my.zip

私は見たこの記事は2011年の記事です、解決策があるかどうか知りたいですか?

答え1

デフォルトでは、引数なしでunzipを使用すると、ファイルが抽出され、ディレクトリ構造とタイムスタンプが保存されます。

-lパラメーターを使用すると、ファイルのタイムスタンプが表示されるリストを取得できます。抽出されたコンテンツはリストに表示されているコンテンツと一致します。

開こうとしているzipファイルで他の点が見つかった場合は、「-l」リストの出力と抽出されたディレクトリのls -lリストを表示できますか?

修正する

サブフォルダにはzipアーカイブのタイムスタンプが保持されます。ただし、フォルダが最上位レベルにある場合は、元のタイムスタンプが失われ、抽出時にタイムスタンプが適用されます。

ここに例があります。 Ortho4XP.zipファイルは、300を超えるファイルとサブディレクトリを含むzipファイルです。今日は2017年8月7日です。出力が示すように、最上位ディレクトリにはアーカイブの解凍日が表示されます。ただし、出力からわかるように、他のファイルとサブディレクトリには、ファイルが圧縮された時点のタイムスタンプが保持されます。

ljames@ubunzeus:~/Downloads/open/del/2$ unzip ~/Downloads/Ortho4XP.zip
ljames@ubunzeus:~/Downloads/open/del/2$ ls -lta
total 888
drwxrwxr-x 17 ljames ljames   4096 Aug  7 17:11 .
drwxrwxr-x  3 ljames ljames   4096 Aug  7 17:11 __MACOSX
drwxrwxr-x  2 ljames ljames   4096 Aug  7 17:11 Licence
drwxrwxr-x  2 ljames ljames   4096 Aug  7 17:11 Archives
drwxrwxr-x 12 ljames ljames   4096 Aug  7 17:11 Patches
drwxrwxr-x  3 ljames ljames   4096 Aug  7 17:11 Previews
drwxrwxr-x  3 ljames ljames   4096 Aug  7 17:11 Utils
drwxrwxr-x  5 ljames ljames   4096 Aug  7 17:11 Install
drwxrwxr-x  3 ljames ljames   4096 Aug  7 17:11 Manual
drwxrwxr-x  5 ljames ljames   4096 Aug  7 17:11 bin
drwxrwxr-x  4 ljames ljames   4096 Aug  7 17:11 ..
-rwxr--r--  1 ljames ljames 389049 Feb 24 19:02 Ortho4XP_devel.py
-rwxr--r--  1 ljames ljames 388606 Jan 12  2017 Ortho4XP_v120b.py
-rwxr--r--  1 ljames ljames  36037 Jan 12  2017 Carnet_d_adresses.py
-rwxr--r--  1 ljames ljames   6716 Sep 12  2016 Ortho4XP.cfg
drwxr--r--  2 ljames ljames   4096 Aug 31  2016 OSM_data
drwxr--r--  2 ljames ljames   4096 Aug 31  2016 Tiles
-rwxr--r--  1 ljames ljames  13332 Jul 10  2016 README.install_NOT_UP_TO_DATE
drwxr--r--  2 ljames ljames   4096 Jul 21  2015 Elevation_data
drwxr--r--  2 ljames ljames   4096 Jul 21  2015 Masks
drwxr--r--  2 ljames ljames   4096 Jul 21  2015 Orthophotos
drwxr--r--  2 ljames ljames   4096 Jul 21  2015 tmp
ljames@ubunzeus:~/Downloads/open/del/2$

アップデート#2

アーカイブタイムスタンプを保持しないフォルダと保持するフォルダの違いを特定するために研究を続けています。より明確に答えをすぐに更新します。これは、zipファイルを作成するときに使用されるオプションによって異なります。

答え2

Busyboxのバージョンは、unzip抽出時にタイムスタンプを維持しないことを発見しました。

$ bsdtar tvvf a.zip
-rw-r--r--  0 1000   1000        0 Jan  1  2000 a
Archive Format: ZIP 1.0 (uncompressed),  Compression: none
$ busybox unzip a.zip
Archive:  a.zip
  inflating: a
$ ls -nd a
-rw-r--r-- 1 1000 1000 0 Nov 17 13:01 a
$ busybox | head -n1
BusyBox v1.36.1 (Debian 1:1.36.1-3.1+b1) multi-call binary.

関連情報