こんにちは、くみです。
『zipを解凍→cpgzに』『できたcpgzを解凍→zipに戻る』という無限ループに陥っていたのですが、Terminalで解決する事が出来ました。
起こった事象と解決策
起こった事象
- ダウンロードしたzipファイルを解凍したらcpgzという拡張子のファイルが出現。
- cpgzをダブルクリック(アーカイブユーティリティで開かれる)でzipに逆戻り。
- それの繰り返しでいつまで経っても中身のファイルにたどり着かない。
なんか…無限ループです(;´Д`)
解決策
7-ZipというアーカイバをTerminalでインストール・起動して解凍できた。
これだけだと私も何が何だかなので、ちょっと詳しく書きますね。
事象発生から解決策にたどり着くまでの過程
cpgzとはなんぞや…とGoogle検索
gzは知っていたんですけど、cpgzっていうのを初めて見たので、まずはGoogle先生に聞いてみました。
検索結果を見ると、無限ループで悩んでる人は他にもいるようです。
検索結果からいくつか開いて見てみる。
他の人たちの方法を試してみる
まずこのページで提示されていた『バージョンの古いStuffIt Expanderで解凍』という方法なんですが、紹介されていたリンクはNot Foundでした(´・ω・`)
『ファイルの拡張子を「.RAR」や「.SIT」に変える』というのも試してみたんですが、ダメでした。
次にこっちで紹介されていた『Terminalでunzipというコマンドを使う』という方法。
これも、『need PK compat. v4.5 (can do v2.1)』というエラーが出て上手く行きません。(´・ω・`) 解凍された気配がない…
PK compatをインストールすればいいの…?
と思って、PK compatとはなんぞやと思いGoogle先生を問い詰める。
一番上から見てみます。
なんか英語なんですけど、「All you need is to install p7zip.」と言い切っています。なんか頼りになる雰囲気。
どうも『p7zip』というのをTerminalでインストールして、『7za x』というコマンドで解凍しているようだ。
2番めのページも見てみました。こっちは日本語のページです。
need PK compat. v4.5 (can do v2.1)(ページが消えていたのでリンクを外しました)
インドの人からzipをもらったらしい。こっちのコマンドは『7z x』となっていますね。
というわけでp7zipをインストールして解凍を試みる
Terminalで
brew install p7zip
と打ってリターンすると、何やら色々とインストールが進む雰囲気。
終わってからコマンドを試してみました。『Everything is Ok』と出て解凍されたようです(ホームディレクトリの直下に解凍されたファイルが出現していました)。
『7z x』と『7za x』どちらも行けました。
どうやら”x”が解凍コマンドのようで、”7z”と”7za”はどちらも『p7zip』を起動させているという事のようです。
p7zip は次のバイナリを含んでいます。/usr/bin/7z と /usr/bin/7za、それから /usr/bin/7zr です。これらの違いは manpage によると:
7z は圧縮ファイルを展開するために外部のプラグインを使用します。
7za はスタンドアローンの実行ファイルです。7za は 7z に比べて対応しているアーカイブ形式が少ないですが、他のものを必要としません。
7zr はスタンドアローンの実行ファイルです。7zr は 7zaよりも、扱えるアーカイブ形式が少ないですが、他のものを必要としません。7zr は 7z アーカイブを扱うだけの 7za の”軽量版”です。
解凍できる種類の多さが7z>7zaで、でも7zは外部プラグインを必要とする、という事なのか。
7zaでもzipは解凍できるんですね。
p7zip(7-Zip)とはなんぞや
結局”need PK compat”とp7zip(7-Zip)の関係性はわからないままだったのですが、7-Zipとはなんぞやと思い、Wikipedia先生に聞いてみました。
Windows版の7-Zip は7zの他にも多数のデータ圧縮形式および圧縮を行わない書庫形式をサポートする。圧縮と展開(解凍)をサポートする形式にはtar、xz[7][8]、bzip2、gzip、ZIP、WIMが含まれる。展開のみをサポートする形式にはUNIX Compress (.Z)、Cabinet、RAR、LZH、ARJ、cpio、RPMおよびdeb書庫などが含まれる。また、ISO 9660形式やUDF(ISO / IEC 13346 形式)の CD/DVD イメージ (.iso) の展開もサポートする。
ほー。Windows用のソフトウェアだったのか。
p7zipはUNIX移植版のようです。『コマンドラインで起動する高機能アーカイバ』という理解で合っているのかな…?CUIって言うんですね。GUIは知ってるけどCUIという言葉は知らなかった。TerminalとかMS-DOSみたいなやつの事かな。
しかしこうやってコマンドラインからアーカイバを動かしたりするんですね。UNIXだと当たり前の考え方なのかな。UNIXとかいじらないまま来てしまったからなあ…
非プログラマの私は、コマンドラインから何かを走らせる事って日常生活で全然ないのでちょっと慣れませんでしたが、慣れたら便利なんだろうなあ。
そういえば@koshian先生にもテキストエディタをTerminal上で操作(?)とかTerminalでフォントファイルを生成(?)とか、目の前で魔法を見せられたっけ…。
悔しい…私も魔法使いになりたい…
プログラムの知識は時代の新しい教養だなあ…>< この世の中は学ぶ事が色々と多いですね。
▼こしあん大先生におすすめされた本。紙版しかない…(´;ω;`) 生活が落ち着いたら読もう…
UNIXという考え方―その設計思想と哲学
Mike Gancarz オーム社 2001-02 |
▼これも面白そう…
プログラマの考え方がおもしろいほど身につく本 問題解決能力を鍛えよう! アスキー書籍[Kindle版]
V.Anton Spraul,角 征典,高木 正弘 KADOKAWA / アスキー・メディアワークス 2014-08-14 |