2018年5月16日水曜日

パス名にEUCコードと、おそらく変な文字が含まれるtarアーカイブが展開できなかった件

昔から現在でも、パス名に日本語が必要な場合はEUCコードを使ってきた。
少し前から、古いバージョンのFreeBSDで作成したtarアーカイブが展開できず困っていのだが、paxで解決したので書いておく。
このtarアーカイブの中にはEUCコードをパス名に含むものがあり、それらを展開する段になるとcan't statなどと警告が出ていた。展開されたものも、ファイル名が化けており困る結果。pkgのgtarでもうまくいかない。
結局、パス名に関して余計なことをしないpaxを使ったら狙いどおりに展開できた。
# gzcat archive.tar.gz | pax -x
最近のFreeBSDのtarは、manによればFreeBSD 5.4で新規に開発されたもののようだが、LANGを見たりして文字コードを意識する風に見える。その辺でうまく行かないところがあったのか?と想像するが、真相はわからない。便利なこともあるのだろうけど、パス名に関しては何もしない方がありがたい気がした。

0 件のコメント:

コメントを投稿