8
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-06-14

なにこれ

サービス・ツール類をパッケージ化してプライベートリポジトリで
ホスティングして配布したいみたいな事ありますよね。
そういう時、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
8
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?