tarのエントリは100文字まで?

自宅のサーバのバックアップスクリプトを作成しようとして,Antのビルドスクリプトを着々と書いていた。特にCVSのリポジトリは多くのファイルがあるため,tar形式でファイル群を1つにまとめようと思い,tarタスクを書いた。

いざ実行してみると,ほとんどのファイルがtarに入れられず,エラーになってしまった。

[tar] Entry: yoichiro.eclipse.plugins.translationview/src/〜/internal/ui/messages.properties,v longer than 100 characters.

どうやら「100文字超えてるぞ」というエラーのようだ。

実は,由緒正しい古いtarコマンドは,100文字を超えるエントリを扱うことができなかったらしい。とはいえ,最近のtarコマンドはしっかり100文字以上のエントリを扱えるのだが,tarコマンドと言ってもGNUのtarコマンドに限られる。GNU独自仕様ということだ。

その辺をAntのtarタスクはちゃんと考慮していて,しっかりとlongfile属性によって制御できるようになっている。

Tarタスク」 - JaJakarta

longfile属性に”gnu”という値を指定してあげれば,100文字以上のエントリに対してもエラーとならずに扱うことができるようになる。

「tarタスクはダメっぽいから,zipタスクに変えちゃえばいいか」などと最初にバッドノウハウを思いついてしまう僕は,まだまだ修業が足りない。

このエントリーをはてなブックマークに追加

関連記事

2023年のRemap

Remapにファームウェアビルド機能を追加しました

Google I/O 2023でのウェブ関連のトピック

2022年を振り返って

現在のRemapと今後のRemapについて