![見出し画像](https://assets.st-note.com/production/uploads/images/89122943/rectangle_large_type_2_b93bf5340ec448c4b003754caca33b3e.png?width=1200)
.debファイルをカスタマイズして、GitHubでPPAをホストして、Debianにインストールする方法(その1: 概要)
最近、とあるプロジェクトの関係で面白い作業をすることがあったので、備忘録も兼ねて手順をnoteに投稿します。
その作業の内容はこちら。
.debファイルをカスタマイズする(オリジナルに手を加える)
カスタマイズしたパッケージのPPAを、GitHubでホスティングする
ホスティングした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ファイルをカスタマイズするところから書いていこうと思います。
続き↓↓↓