パソコン鳥のブログ

アクセスカウンタ

zoom RSS tar形式のファイルを解凍するとハードリンク・シンボリックリンクを含むファイルがサイズ0になる

<<   作成日時 : 2014/12/20 21:27   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

Windows で tar形式のファイルを解凍した場合、アーカイブ元がハードリンク・シンボリックリンクだったファイルは、サイズ0で展開されることがあります。

例えば、下記は Cygwin のパッケージですが、これにはハードリンクのファイルが含まれています。

http://ftp.iij.ad.jp/pub/cygwin/x86/release/dash/dash-0.5.8-2.tar.xz

dash-0.5.8-2.tar.xz を Linux上で展開し、ファイルを見てみます。

tar xf dash-0.5.8-2.tar.xz
ls -li ./usr/bin


以下のように、iノードが 13898885 と一緒なので、ash.exe と dash.exe はハードリンクです。

13898885 -rwxr-xr-x 2 test test 97831 10月 1 08:26 ash.exe
13898885 -rwxr-xr-x 2 test test 97831 10月 1 08:26 dash.exe



これを Windows上で展開する場合、LhaForge(tar32.dll) , Lhaplus, 7-Zip では問題があります。
ハードリンクのファイル(上記ではファイル名 dash)のサイズが0バイトになって展開されます。

一方、Tar for Windowsでは正しく展開されます。
コマンド fsutil で確認してみると、アーカイブ元の通り、ファイル dash と ash がハードリンクで展開されています。

C:\tmp\usr\bin>fsutil hardlink list dash.exe
\tmp\usr\bin\dash.exe
\tmp\usr\bin\ash.exe



シンボリックリンクも同様で、Tar for Windowsでは正しく展開されます。
なお、シンボリックリンクは Windows上ではショートカットとして展開されます。
ハードリンクは先に示した通り、Windows上でもハードリンクで展開されます。


テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
tar形式のファイルを解凍するとハードリンク・シンボリックリンクを含むファイルがサイズ0になる パソコン鳥のブログ/BIGLOBEウェブリブログ
文字サイズ:       閉じる