web-dev-qa-db-ja.com

ubuntu 18.04のdebパッケージをビルドする方法

私はubuntu 18.04のdebパッケージを作成することに興味があります。 ソースからNGINX debianパッケージを作成する方法 .

私の質問は、ルート権限を使用してdebパッケージをビルドしても安全ですか? checkinstallの代わりにSudo checkinstallを使用する必要があるためです。

これまでのところ、ルート権限を使用してrpmパッケージをビルドするべきではありません。そして、私はこの用語がdebパッケージで利用できないのではないかと思っています。

TIA

1
Abdul

このフォーラムのスレッド は、配布用の.debパッケージを作成する基本的な方法を概説しています。実際、これにはroot権限の必要はありません。関係する基本の非常に素晴らしい例として、ここでフォーラムユーザーcurvedinfinityへのクレジットを付けてそれを複製します。

リンク で説明されているcheckinstallツールは、主に一般的な.debパッケージの準備を目的としたものではありません。これは主に、パッケージマネージャーが知っている方法で自分でコンパイルしたソフトウェアをインストールすることを目的としています。したがって、ルート権限が必要です。実際に使用されるトリックは、システムに固有の.debファイルを作成し、それをインストールすることです。作成される.debは、一般的な配布には適さない場合があります。

buntuforums からの抜粋curedfinity

パッケージの名前を決めます。標準のdebian表記は、次の形式ではすべて小文字です。

<project>_<major version>.<minor version>-<package revision>

たとえば、最初のパッケージに名前を付けることができます...

helloworld_1.0-1

パッケージを作成するディレクトリを作成します。名前はパッケージ名と同じにする必要があります。

mkdir helloworld_1.0-1

パッケージングディレクトリが実際にはファイルシステムのルートであると仮定します。インストールするプログラムのファイルをシステムに配置します。

mkdir helloworld_1.0-1/usr
mkdir helloworld_1.0-1/usr/local
mkdir helloworld_1.0-1/usr/local/bin
cp "~/Projects/Hello World/helloworld" helloworld_1.0-1/usr/local/bin

次に、パッケージマネージャーがプログラムをインストールするための特別なメタデータファイルを作成します...

mkdir helloworld_1.0-1/DEBIAN
gedit helloworld_1.0-1/DEBIAN/control

そのようなものをそのファイルに入れてください...

Package: helloworld
Version: 1.0-1
Section: base
Priority: optional
Architecture: i386
Depends: libsomethingorrather (>= 1.2.13), anotherDependency (>= 1.2.6)
Maintainer: Your Name <[email protected]>
Description: Hello World
 When you need some sunshine, just run this
 small program!

(説明の各行の前のスペースは重要です)

次に、パッケージを作成する必要があります。

dpkg-deb --build helloworld_1.0-1

これで完了です。

引用の終わり。

1
vanadium