Edited at

【Ubuntu】Debianパッケージをつくる

More than 3 years have passed since last update.


なにこれ

サービス・ツール類をパッケージ化してプライベートリポジトリで

ホスティングして配布したいみたいな事ありますよね。

そういう時、debianパッケージが便利なんです。

(DebianやUbuntuの場合)


必要なもの


  • packagecloud.ioのアカウント https://packagecloud.io/

  • 配布したいバイナリ、ライブラリ、データ等


手順


ファイル準備

DEBIANフォルダはdebパッケージ生成に必要なmetadataを格納するところです。

DEBIANフォルダ以外のディレクトリ構造が、インストール先マシンのファイルシステムと

対応します。この例だと、インストール先マシンに


  • /usr/local/bin/uhouhoapp

  • /usr/local/lib/libuho.so

が導入されます

uhouho_project/

 ├ DEBIAN/

 │ └ postinst

 │ └ compat

 │ └ prerm

 │ └ control

 ├ usr/

 │ └ local/

 │   └ bin/

 │    └ uhouhoapp

 │   └ lib/

 │    └ libuho.so


DEBIAN/postinst

インストール後に実行されるシェルスクリプト

#!/bin/bash


DEBIAN/prerm

インストール前に実行されるシェルスクリプト

#!/bin/bash


DEBIAN/compat

debhelper の互換性レベルを規定するものらしいです。

2.0


DEBIAN/control

Package: uhouho_project

Version: 1.0.0
Section: interpreters
Priority: optional
Architecture: amd64
Essential: no
Suggests:
Maintainer: Debian Kozou <xxxx@xxx.net>
Conflicts:
Replaces:
Provides:
Description: Hogehoge Package.


debパッケージ作成

$ dpkg-deb -b uhouho_project

dpkg-deb: building package `uhouho_project' in `uhouho_project.deb'.


packagecloud.ioへのアップロード

手順に従ってください


 実際に使う

curl -s https://<TOKEN>:@packagecloud.io/install/repositories/<USER>/uhouho_project.deb.sh | sudo bash

> sudo apt-get install uhouho_project=1.0.0