
タイトルの通り、私は人々がダウンロードできる Ubuntu パッケージを作成しapt
、人々がサービスを開始および停止できるように System V スクリプトを使用してパッケージを設定したいと考えています ( などmysql
)。
私はすでにこの記事を読みましたhttps://packaging.ubuntu.com/html/packaging-new-software.htmlしかし、それはあまりにも基本的であり、完全に理解していませんでした。どのフォルダーに何が入っているかをパッケージャーに伝えるにはどうすればよいでしょうか?
少し迷っています。助けていただければ幸いです。ありがとうございます。
このガイドは本当に役に立ちますhttps://blog.serverdensity.com/how-to-create-a-debian-deb-package/
また、ガイドが使用している適切なドキュメントもここにありますhttps://wiki.debian.org/Packaging/Intro?action=show&redirect=IntroDebianPackaging
答え1
ここではパッケージ作成の基本を説明します。これらは、FreeBSD や OpenBSD から Arch Linux、Debian Linux、Ubuntu Linux まで、幅広いシステムに適用されます。
パッケージは次のように作成します。
- Git や Subversion などを介して、またはアーカイブ ファイルをダウンロードして解凍して、ソース コード ツリーを取得します。
- 前提条件のインストールパッケージをビルドするソフトウェアのコンパイルに必要なツールを提供します。
- これにオペレーティング システムごとのパッチを適用します。
- バイナリとデータ ファイルのコンパイルは、特定のソフトウェアによって実行されます。
- パッケージ化するバイナリとデータ ファイルが、
/
パッケージのインストール後に配置されるのと同じようにそのツリー内に配置されたステージング ディレクトリ ツリーを構築します。 - パッケージ作成ツールを、出荷マニフェストおよびその他のメタデータと組み合わせて使用して、パッケージを作成します。
次に、自分で実行するか、オペレーティング システムの保守担当者が公開するパッケージ リポジトリにそれを配置します。後者のプロセスには、多くのロジスティックおよび政治的なハードルがあります。どちらの場合も、署名を処理する必要があります。
詳細はオペレーティングシステムごとに、あるいはパッケージングシステムごとに異なります。たとえば、パッケージマニフェストファイルの構造は異なります。そしてDebianbuild-essential
メタパッケージ普遍的なものではありません。しかし、これらは一般的な原則です。
したがって、Ubuntu ページにある意味不明なツールはすべて、これを高レベルでラッパー化したものであり、元のソース コードに加えたすべての追加要素のソース管理リポジトリを維持するなどの機能を実行します。
Debianのツールは多少異なります。実際、Debianのツールには3つの異なるスタイルがあり、「deb ヘルパー」。
また、WWW上のさまざまな人々からのDebianの指示は、既存のものをダウンロードするという考え方に基づいていることが多いことに注意してください。Debian ソースパッケージ補助的なものをすべて書くのではなく、構築するのですDebian パッケージング関連最初から作成する。このようなパッケージには、ソースツリーにすでに提供されているDebianパッケージメタデータ、制御ファイル、パッチが含まれています。これはオリジナルのソースです。Debianのパッケージング関連。
一般に、ディレクトリの代わりに「インストール」するターゲット ディレクトリを指定すると、パッケージは適切なステージング ツリーを自ら構築します/
。独自のソフトウェアをパッケージ化する場合は、自己完結型のステージング領域に正しく「インストール」するためのメカニズムを提供する必要があります。(私は、、、、、などからすべてを に適したステージング領域に持ち上げるスクリプトを含む「スラッシュパッケージ」パッケージを持ってpackage/stage
います。)command/
manual/
guide/
library/
/usr
最後に: サービスを開始および停止するための van Smoorenburg スクリプトは提供されていませんrc
。これは Ubuntu のネイティブな方法ではありません。2006年以来この時点で、ほぼ15年になります。systemdユニットファイルを提供します。van Smoorenbrgrc
スクリプトを提供したい場合でも、デビアンsystemdを使用していない人には、新しいスタイルvan Smoorenburgrc
スクリプトは 2014 年に導入され、マニュアル ページの例に基づいていますがinit-d-script
、ほとんどの (かなり古い) WWW ドキュメントに記載されている内容とはまったく異なります。
これで、これらの (およびその他の) WWW ページで、、などdebian/control
の詳細に戻ることができます。debian/rules
参考文献
- /etc/init.d/skeleton はどこへ?
- https://askubuntu.com/a/707750/43344
- https://unix.stackexchange.com/a/332441/5132
- ジョナサン・デ・ボイン・ポラード(2018年)。オペレーティングシステム固有のパッケージを追加する「slashpackage の genよくある質問。