DEBファイルを手動で作成したいと思います。インストールするデータがあるフォルダと、インストール後に実行するスクリプトを提供したいと思います。
可能ですか?
ベストアンサー1
ソースコードパッケージの作成
私の提案はソースパッケージを作成することです。インストールする構築に必要、デブヘルパー、dh-make。インストールするファイルがあるディレクトリに変更し($PACKAGE-$VERSION
たとえば、myapp-4.2-1
Myapp V4.2を初めてパッケージ化する場合は、ディレクトリ名は形式である必要があります)、実行しますdh_make --createorig
。質問に答えてください。 Debhelperは、debian
テンプレートの必須ファイルと選択ファイルを含むサブディレクトリにファイルを作成し、パッケージを構築するために必要な基本インフラストラクチャを作成します。次のファイルの一部を変更する必要があります。
- 編集する
debian/rules
ビルドする必要があるものをビルドし、正しい場所にファイルをインストールします。一部のファイルだけをコピーして内容をコンパイルしたくない場合は、ファイルを編集します。debian/install
どのファイルをどこにインストールするかを指定します。 - 編集する
debian/copyright
関連する場合は、パッケージのライセンス情報と最新バージョンを入手できる場所に関する情報を追加してください。 - 編集する
debian/changelog
ITPへの参照を削除します(Debianプロジェクトで作業している場合にのみ関連します)。debian/postinst.ex
次に名前を変更するdebian/postinst
そこにインストール後にコマンドを追加します。後でパッケージを更新する場合は、実行してdebchange -i
変更ログエントリを追加するか、Emacsでファイルを編集します(使用)。dpkg-dev-elインストールする)。
パッケージをdpkg-buildpackage -rfakeroot -us -uc
ビルドするには実行します(PGPキーを使用してパッケージに署名するには削除します)。.deb
-us -uc
バイナリパッケージを直接作成
ソースパッケージからビルドせずに直接バイナリパッケージを作成することを決定した場合(プロセスを容易にするためのツールがあまりないので簡単ではありません)、debパッケージ形式に関する基本的な知識が必要です。に記載されていますDebian Policy Manual、特にch.3(バイナリパッケージ形式)、チャンネル5(制御ファイル)、チャンネル6(インストールスクリプト)そして付録B(バイナリパッケージ作業)。
/usr/share/doc/copyright
パッケージが予想ファイル(パッケージコンテンツのライセンスと最新バージョンのパッケージを見つけることができる場所を含む)と/usr/share/doc/changelog.Debian.gz
(debパッケージの変更ログを含む)をインストールしていることを確認してください。パッケージを内部的にのみ使用したい場合は必要ありませんが、それをお勧めします。
Debianとその派生物について
利用可能なDebianツールがある場合は、dpkg-deb
それを使用してパッケージをビルドしてください。インストールするデータを含むディレクトリに、制御ファイルとDEBIAN
管理者スクリプトを含む最上位ディレクトリを追加します。
$ ls mypackage-42
DEBIAN etc usr var
$ dpkg-deb -b mypackage-42
難しい道
Debianツールがない場合は、名前付きファイルアーカイブ、名前付き制御ファイルの別のアーカイブ(サブディレクトリなし)、名前付きテキストを含むテキストdata.tar.gz
ファイルcontrol.tar.gz
を作成します。debian-binary
2.0
cd mypackage-42
tar czf ../data.tar.gz [a-z]*
cd DEBIAN
tar czf ../../control.tar.gz *
cd ../..
echo 2.0 > debian-binary
ar r mypackage-42.deb debian-binary control.tar.gz data.tar.gz
少なくとも1つは必要です。制御ファイルPackage
、、、、、、Maintainer
フィールドPriority
、Architecture
および必要な依存関係宣言が含まれていますInstalled-Size
。Version
インストール後に実行されるスクリプトと呼ばれますpostinst
。実行可能にしてください。並んで行きますcontrol
。
さまざまな形式のバイナリパッケージ変換
他のディストリビューション用のバイナリパッケージがすでに存在する場合は、次のものを使用できます。エイリアンそれを変換します。