見出し画像

.debファイルをカスタマイズして、GitHubでPPAをホストして、Debianにインストールする方法(その1: 概要)

最近、とあるプロジェクトの関係で面白い作業をすることがあったので、備忘録も兼ねて手順をnoteに投稿します。

その作業の内容はこちら。

  1. .debファイルをカスタマイズする(オリジナルに手を加える)

  2. カスタマイズしたパッケージのPPAを、GitHubでホスティングする

  3. ホスティングしたPPAから、パッケージをDebianにインストールする

今回から数回に分けて、この作業の内容を書き残そうと思います。
ニッチすぎてとても誰かの役に立つとは思えませんが、面白かったので。




用語と経緯の解説

ふんわりとした説明です。

.debファイル

DebianやUbuntu系統のLinuxディストリビューションのパッケージ管理システム(dpkg)で用いられる、ソフトウェアのパッケージ。Androidでいうところの.apkファイルみたいな感じでしょうか。

PPA(Personal Package Archives)

主にUbuntu系統のLinuxディストリビューションで、開発者が自身のアプリをユーザーに提供するために用いられる手段。ユーザーは、アプリの開発者のPPAを追加することで、その開発者が提供するアプリをインストールできるようになります。

PPAは主にLaunchpadでホスティングされていることが多いのですが、今回はそこではなく、GitHubにホスティングしてみよう、というお話です。

Debianのdpkgはzstdをサポートしていない

DebianとUbuntu、どちらも同じ.debというファイルからパッケージをインストールできるのですが、Ubuntu向けに作られた.debファイルをDebianでインストールしようとすると失敗することがあります。

dpkg-deb: エラー: アーカイブ `/home/user/Downloads/base-files_12.3_amd64.deb' はメンバー 'control.tar.zst' の未知の圧縮を利用しています。終了します
dpkg: アーカイブ /home/user/Downloads/base-files_12.3_amd64.deb の処理
中にエラーが発生しました (--unpack):
dpkg-deb --control subprocess returned error exit status 2

これは、Debianのdpkgがzstdという圧縮形式に対応していないのが原因なんだとか。

なので、Debian向けに.debパッケージを構築するには、zstd以外の圧縮形式に変換してあげる必要があります。



まとめ

経緯を説明したところで、次回、.debファイルをカスタマイズするところから書いていこうと思います。

続き↓↓↓