お手軽 deb パッケージ作成方法

ファイルツリーがあれば,Debian パッケージは簡単に作れるようだ.

##作成法 ###ファイルツリーの構築 まず適当なディレクトリを作成して,その下に”/“(ファイルシステムのルート)からのインストールイメージを構成する.

% mkdir hogehoge
% cd hogehoge
% mkdir -p ./usr/local/hogehoge
% echo "HOGEHOGE" > ./usr/local/hogehoge/README

###DEBIANディレクトリの作成 DEBIAN ディレクトリに4つのファイルを設置する必要があります.

  • compat

Version を指定するらしい.ここは “2.0” で.

2.0
  • control

パッケージ情報が書かれたファイル.依存関係とかバージョンなど.ひとまず下記のようにしてみる.

Package: hogehoge-package
Version: 1.0.0-01
Section: interpreters
Priority: optional
Architecture: i386
Essential: no
Suggests:
Maintainer: Shin-ichiro OGAWA <rust.stnard@gmail.com>
Conflicts:
Replaces:
Provides:
Description: Hogehoge Package.
  • postinst

インストール後に実行する実行可能なシェルスクリプト.何もしなければ下記のように.

#!/bin/sh
  • prerm

インストール前に実行する実行可能なシェルスクリプト.何もしなければ下記のように.

#!/bin/sh

###パッケージの作成 下記のコマンドで作成します.

% cd ../
% ls
hogehoge
% dpkg-deb -b hogehoge
dpkg-deb: `hogehoge.deb' にパッケージ `hogehoge-package' を構築しています。
% sudo dpkg -i hogehoge.deb
[sudo] password for ogawa:
未選択パッケージ hogehoge-package を選択しています。
(データベースを読み込んでいます ... 現在 XXXXXX 個のファイルとディレクトリがインストールされています。)
(hogehoge.deb から) hogehoge-package を展開しています...
hogehoge-package (1.0.0-01) を設定しています ...

% cat /usr/local/hogehoge/README
HOGEHOGE
% sudo dpkg -r hogehoge-package
(データベースを読み込んでいます ... 現在 XXXXXX 個のファイルとディレクトリがインストールされています。)
hogehoge-package を削除しています ...
dpkg - 警告: hogehoge-package の削除中、ディレクトリ `/usr/local' が空でないため削除できませんでした。

##まとめ と言う感じに簡単に作れました.これで Rails とか rubygems とか fakeroot 使えばパッケージ作れそうです.

 
comments powered by Disqus