Lから始まるLinux

5章21話
メッセージ(実践)
5章22話 アーカイブ
もくじ
5章23話
ビルド(手順)
アーカイブ
若木 みどり
お兄ちゃん! ZIP を扱うことがあるんだけど Linux でも似たようなものは あるのかな?
若木 しげる
もちろんあるよ! 今回は「アーカイブ(archive)」 について学ぼう!
若木 みどり
アーカイブ? 圧縮と何が違うんだろう?
基本
若木 しげる
ZIP は複数のファイルを まとめて1つにして それを圧縮する仕組みだよね
若木 みどり
うん! 1ファイルになって ファイルサイズも小さくなるから メール添付とかでよく使うよ!
若木 しげる
でも Linux では 「複数のファイルを1つにまとめる」 「圧縮する」を別々の機能と考えるんだ
機能 役割
アーカイブ 複数のファイルやディレクトリを1つのファイルにまとめること
圧縮 ファイルサイズを小さくすること
若木 みどり
なるほど! ZIP は1つの作業に見えるけど Linux では2つの作業として 分けているんだね
若木 しげる
今回は Linux で標準的なアーカイブ 「tar アーカイブ」を扱っていこう!
アーカイブ作成
若木 しげる
tar 「tar アーカイブ」を管理するよ
tar [オプション]... [ファイル]...
オプション役割
cアーカイブを作成する(create)
f作成するアーカイブを指定する(file)
若木 しげる
以下の例を実行してみよう!
tar cf my-directory.tar my-directory
若木 みどり
これは my-directory ディレクトリをmy-directory.tar アーカイブにまとめているんだね
若木 しげる
そうだよただしこの時点ではファイルサイズは変わっていないよアーカイブは「まとめる」だけだからね
若木 みどり
じゃあ圧縮はどうするのかな?
圧縮オプション
若木 しげる
圧縮は tarオプションを追加するよ
オプション圧縮形式拡張子特徴
zGZIP.gzそこそこの圧縮率で処理速度が速い
jBZIP2.bz2圧縮率と処理速度のバランスが良い
JXZ.xz高圧縮率だが処理速度はやや遅い
若木 しげる
これらの圧縮オプションを使った例を見てみよう
圧縮形式コマンド
GZIPtar cfz my-directory.tar.gz my-directory
BZIP2tar cfj my-directory.tar.bz2 my-directory
XZtar cfJ my-directory.tar.xz my-directory
若木 みどり
拡張子が.tar.gz が合わさって.tar.gz のようになっているね
若木 しげる
このような拡張子を二重拡張子というんだ「tar アーカイブ」二重拡張子が一般的だよ
若木 みどり(笑顔)
二重拡張子って付けたことがないなぁちょっと新鮮で面白いね!
アーカイブ展開
若木 しげる
アーカイブの展開には以下のオプションを指定するよ
オプション役割
xアーカイブを展開する(extract)
f展開するアーカイブを指定する(file)
tar xf my-directory.tar.gz
若木 みどり
圧縮オプションは付けなくてもいいのかな?
若木 しげる
拡張子から圧縮形式を自動で判別してくれるんだだから圧縮オプションは指定しなくても問題ないよ
若木 みどり
拡張子を見て自動で判断してくれるなんて親切だね!
tarball
若木 しげる
こうやって tarアーカイブし圧縮したファイルを「ターボール(tarball)」と言うんだ
若木 みどり
良く扱うから通称がついているんだ!
若木 しげる
Linux のソフトウェアやソースコードはtarball 形式で配布されることが多いんだ
若木 みどり
通常の圧縮や展開の用途だけでなくLinux を扱う上で大切なスキルなんだね!
まとめ
若木 みどり
今回はアーカイブについて学んだよ!tar で作成や展開を行うんだ!
若木 しげる
Windows や macOS にも tarball を解凍できるソフトウェアがあるのでLinux から他の OS へファイルを送るのにも使えるよ!