📦
debパッケージとは何か?(その2)
前回までのあらすじ
適当に
.deb
なファイルを落としてきて展開すればわかります。やってみましょう。
どうやって?という人も居るかもしれないので、apt download
コマンドでパッケージ名指定すればいいですよ、と。
$ sudo apt update
$ apt download fonts-vlgothic
取得:1 http://debian-mirror.sakura.ne.jp/debian bullseye/main amd64 fonts-vlgothic all 20200720-1 [2,240 kB]
2,240 kB を 2秒 で取得しました (1,339 kB/s)
fonts-vlgothic
パッケージを指定したらこんな感じでした。ちなみにパッケージ名はtab補完が効くので、途中まで入力したらtabで一気に入れちゃいましょう。
$ ls
fonts-vlgothic_20200720-1_all.deb
$ ar -x fonts- (ファイル名も↓のようにtab補完しましょう)
$ ar -x fonts-vlgothic_20200720-1_all.deb
$
結果は何も出力されていませんが、ファイルは展開されてます。
$ ls
control.tar.xz data.tar.xz debian-binary fonts-vlgothic_20200720-1_all.deb
ほらね。
- control.tar.xz
- data.tar.xz
- debian-binary
の3つが.deb
ファイルから展開されてます。tarball2つと謎のdebian-binary
ファイル。さて、この中身は何でしょう?
control.tar.{xz,gz} ?
こいつは「パッケージメタデータ」です。依存関係とか、パッケージの説明文とかそういうのが含まれてたりします。
data.tar.{xz,gz} ?
こいつがインストールされる「パッケージデータ」の本体です。
debian-binary ?
.deb
パッケージ形式のバージョンのメタデータです。ファイル名ではbianryとかいてありますが、単なるテキストファイルです。
$ file debian-binary
debian-binary: ASCII text
$ cat debian-binary
2.0
こいつは今の所流通しているパッケージ全てで「2.0」です。
Discussion