tar というのは UNIX 関連の環境で使われるソフトで、複数のファイルをひとつのファイルに束ねたり、逆に束ねられたファイルをもとのファイル群に戻したりするのに使われる。ZIP や LHA のようなソフトとは異なり、本来の tar にはファイルを圧縮する機能はなかった。だから、外部のファイル圧縮ソフト…… compress や gzip, bzip2, xz 等……と組み合わせて使われる。
しかし、僕等が通常使っている GNU tar は、このような外部圧縮ソフトを内包したかたちになっている。たとえば、
$ tar cfJ ./hoge.tar.xz ./*.pdf
などのように、xz の機能を併用することを示す J オプションを付与すると、カレントディレクトリに存在する全ての PDF ファイルを束ねて xz で圧縮したアーカイブファイルが一発で生成される。同様に、
$ tar xfJ ./hoge.tar.xz
とやると、圧縮を復調した上で個々のファイルが一発で展開されるわけだ。
ところが、僕が気付かないうちに、このオプションが一部不要になったらしい。展開時には、
$ tar xf ./hoge.tar.xz
のように、J オプションがなくても、xz で圧縮されたアーカイブが一発で展開されるのだ。もちろん、他のファイル圧縮ツールのフォーマットでも同様である。
まあ、ファイルを展開するときには、暗黙のうちに「圧縮する前の状態」に展開することが一意的に定まっている、と見て良いだろうから、このようなことになったのだろう。しかし、正直言ってあまり便利だとは思えないんだが……これで問題が生じることもないかもしれないけれどさ。
コンピュータに関わることで質問をされることがある。まあ、質問するからにはそれなりに困ったことがあって、それで聞いてきているのだろう、と仏心(カトリックで仏心というのも妙な話だが)で答えたりするのだけれど、どういう訳か、逆ギレとしか言いようのないことを言われたり、返されたりして、嫌な気分にさせられることが少なからずある。いっそ、そういう質問に答えるのも、質問が集まってくる場所を見ることも、やめてしまった方がいいかもしれない、と思うのだけど、中には本当に困っている人もいたりするので、完全に回答を放棄するわけにもいかない。
嫌な気分にさせられるのは、ほとんどの場合パターンが決まっている。僕はそういう質問者を「傲慢な質問者」と呼ぶことにしているのだけど、まず、そういう質問者は、何でどう困っているのかを最初に明示しない。たとえば、こんなことがしたいのですが、これこれこんなファイルをこういう OS 上のこのソフトで処理しようとしたら、意図と異なるこんな結果になりました、当初の目的を達するためにはどうしたら良いでしょうか……というようには、まず絶対に書いてこない。こうしようとしたらこうなった、どうしよう……それしか書かないのである。5W1H とか、最近は小学校でも教えるんだろうに、そういう教育を受けていても、もうそれは遠く忘却の彼方らしい。
そういう書き込みを見て、周囲の人々は、その人がどのように困っているのかを想像するしか術がない。せめて、そのトラブルが再現されるファイルなり、トラブルの結果として出力されるファイルなり、そのトラブルの模様を記録したログファイルなりを示してくれれば、そんなことで生じる無駄な手間も、無駄な時間も発生しないのである。しかし、傲慢な質問者は、自分がしたいことができない、それだけが全てなのである。
そして、隔靴掻痒の態で話が進まず、なかなか solution に到達できない、となると、傲慢な質問者は予想し難い反応を示す。「私の欲しい答をアンタラは提示できないのか」と逆ギレしてみたり、「ご意見を頂き、有り難うございました。****** はアンインストールし、使わないことに致します。」と逆ギレしてみたりするのである。「鳴かぬなら殺してしまへホトトギス」……いや、ちょっと違うな。信長はそんな馬鹿じゃなかったはずだ。
自分の欲しい答を得るために、いささかも自分の時間、手間、あるいは金をも費さず、挙句の果てにはそれを他人やソフトウェアのせいにする。いやはや、こんな傲慢さは、一体どうしたら持つことができるのだろう。僕もそういう傲慢さがあれば、気鬱に溜息をつくことなどなく、もっと楽に生きていけるのかもしれないけれど、もちろん僕はそんな傲慢さなど欲しくはない。そんな手合いは唾棄すべき輩としか言いようがないし、そんな輩になるなんて御免被る。
しかし、残念なことに、この10年程を考えてみても、この手の傲慢な質問者は増加する一方である。20年程昔の Linux 関連のコミュニティみたいに「タコは重要な存在だ」なんて牧歌的なことを言っていられた時代があったなんて、信じ難い状況である。あの頃、「タコはタコでなくなろうとしている」ということが暗黙の前提だったわけだけど、今のタコは、自分がタコであることを確信犯的に利用し、それで自らの権益を護っているとしか言い様がない。この「傲慢な馬鹿」の強みを利用する、ということが定着してしまった今、従来の voluntary な共同体で当たり前のように成立していた相互扶助は、もう成立し得ないのかもしれない。ああなるほど、だから iPhone も android も、バナーの出ないアプリが欲しかったら金を払うしかないような状況になって、しかも皆それが当たり前だと思っているわけか。
しかし、人がより良き存在になろうとする、ということこそが、共同体全体が緩慢であってもより良き方向に転がっていく上での driving force だったはずなのだ。それが忘れ去られてしまうのだとしたら、これから先の世の中は、どれ程住みにくく、生きにくくなるのだろうか。
ちょっと前に android のタブレットを入手した。これは現在に至るまで便利に使っているのだが、色々試した結果、ひとつの結論に達せざるを得なかった。この端末ではものを書けない。
僕が何かを書く、というのは、多くの場合は GNU Emacs 上で書くわけだ。日本語の場合は SKK で書くし、英語の場合だったらそのまま打つわけだけど、打った原稿は TeX で PDF にして、これを何処かで印刷したりする。そして作成した原稿のやりとり等に、ネットワークへのアクセスが不可欠である。GUI は必ずしも必要ではないけれど、画像を貼り込んだりしたときの確認のためには、使えるにこしたことはない。以前はこれに加えて、Microsoft Office が使える、ということが必要要件のひとつに入っていたのだけど、LibreOffice がある現在では、これはもはや必要要件ではない。
さて。こういうことを android 端末で実現しようとすると、bluetooth でキーボードを接続して、端末上でどうにかして Emacs を動かすことになるわけだけど、bluetooth キーボードが、CTRL や ESC を併用したキー入力に対して完全には対応し切れない。こうなると、Emacs を使う上でも、SKK やそれに類似した IME を使用する上でも問題になる。
そして、android 端末を使っていてウンザリしてきたのが、フリー版のユーティリティに必ずといっていい程入っているバナー表示。いちいちこれを外すのになにがしかを支払うのも阿呆らしいのだけど、快適にしたいなら金を払え、的な android(や iOS ?)の世界観が、僕にはもう嫌で嫌でならないのだ。
というわけで、持ち歩き専用に、ミニノートを1台買おうかと画策中である。そう懐が潤沢なわけでもないんだけど、仕事に使う以上これでは困るのだ。もう限界である。
最近は、android 端末に PDF を突っ込んだり、漫画を自炊した画像ファイルを突っ込んだりすることが増えてきた。2、3人でプチプレゼンみたいなことになったときには、android 端末を見せながら……というのは便利だし、行き帰りで本を読むときにも、確かにこれは便利である。
しかし、前々からどうにも気になっていることがあった。他人と FAT32 フォーマットの USB メモリスティックや micro SD カードでファイルをやりとりするときに、ファイル名に日本語を使われることがあって、これを Linux 端末を経由して android に持ち込むと化け化けになってしまうのだ。
更に都合の悪いことに、僕は、
- Microsoft Windows (xp, Vista, 7, 8)
- Mac OS X
- Debian GNU/Linux
- android
という具合に、複数の OS を行ったり来たりしながら日常を過ごしている。こうなってくると、もう何が何だか分からない状況なのだ。
今までは、とりあえすファイル名を UTF-8 にしておけば、不都合が生じることはあまりなかった。しかし、android 端末では、これをやってもファイル名が化け化けになってしまう。もう何が何だか……という感じである。
ファイル名の文字コードを変更するユーティリティとしては、convmv という perl スクリプトがある。これであれこれ変えてみるのだが、どうしても android 上に持ち込むと化ける。何だろう……と思いつつ調べていると、メディアを Linux で mount するときに、オプションに "iocharset=utf8,shortname=mixed,utf8" を付けておくといける、という話を聞く。vfat で mount する際に試してみると、なるほど、android 上で作成した日本語ファイル名のファイルが、ちゃんと名前が化けることなく表示できる。まあそれはいいんだが、じゃあ化けるファイル名をどう変換したら読めるようになるんだ?
android 上で作成した日本語ファイル名のコードを調べようと、kcc -c とかやってみると、ASCII でござい、と返事が返ってくる。あー kcc は Unicode を正しく判別できないんだっけ、と "echo * | nkf --guess" などとやってみると、化けているものも表示できるものも、どちらも UTF-8 です、と言われる。うー。じゃあどうして片方は化けてもう片方は化けないのさ。
結局、Windows とか今回のような android とかの話になると、こういう問題が出てくるわけだ。奥村氏の blog でファイル名の文字コードに関するボヤキを発見してしまい、何とまあ面倒な話なのかねえ、と僕も軽く溜息をついたのであった。