web-dev-qa-db-ja.com

パッケージを介してLinuxにプログラムをインストールする

自分が書いたプログラムをインストールするための*.deb-パッケージを作成しようとしています。これは、同じサブディレクトリにハッシュされる3つの実行可能ファイルで構成されます。例:

.../myprogram/
    |
    +- Program A
    +- Program B
    +- Program C

それらを/usr/share/...に保存できると思いましたが、lintianがエラーを出します。だから私は/usr/share/...でアーチに依存するオブジェクトは場所を持つことができないことを読みました。しかし、他にどこですか?実行可能ファイルは「独自の」サブフォルダーにグループ化する必要があります。

私が調べたとき例えば/usr/bin/プログラムのサブフォルダーはありません。

1
Christoph

Debianバイナリパッケージには、/optにファイルを含めることはできません。 FHSによると、これはローカルにインストールされたパッケージ専用です。これは lintianによってフラグが立てられます になります。これを行うと、スポンサーを通過したと仮定して、Debianによる自動拒否が発生します。公式アーカイブのパッケージには、/optにファイルがありません。ユーザーレベルの実行可能ファイルを/usr/binの最上位に配置するのは正しいことです。なぜサブディレクトリに実行可能ファイルが必要なのですか?いずれの場合も、実行可能ファイルの/usr/binにサブディレクトリを作成することはできません。これは、サブディレクトリがパスにないためです。

別のアプローチは、ファイルシステム内の別の場所(通常は/usr/bin/usr/lib、または/etc/alternatives)への/usr/share内のシンボリックリンクを使用することです。ただし、ほとんどの場合、これらの実行可能ファイルを/usr/binに直接配置するのが正しいと思います。

3
Faheem Mitha

いくつかの可能性があります。

  • /optはオプションの略で、特定のフォルダーに配置できますが、デフォルトではPATHに入力されないため、/usr/binにシンボリックリンクを作成すると、/optから使用できるようになります。 .debファイルを使用する場合、これは有効なオプションではないようです
  • 何も気にせずに/usr/binに入れたり、特定のフォルダに入れないようにすることもできます
0
Kiwy