説明する

説明する

説明する

たとえば、

  1. 私はsourceからビルドしますmy-app
  2. いくつかの依存関係が必要です。インストールしてくださいapt-get install foo bar baz
  3. アプリケーションをビルドします。
  4. 別のhello.deb依存関係をインストールしてくださいfoo
  5. my-appソースフォルダ全体を削除し、しばらくしてから削除します。
  6. 依存関係を削除しましたmy-app

ただし、手順6では、パッケージが依然として必要であるapt-get remove foo bar bazため、単に依存関係を公開できず、パッケージのみを削除する必要があります。hello.debfoobarbaz

提案

この問題を解決するには、仮想パッケージを作成し、依存関係を宣言し、fooこの仮想パッケージを簡単にインストールできます。後でこのダミーパッケージを削除して、これらすべての依存関係を安全に削除できます。ラッパースクリプトはこれらのパッケージを動的にビルドしてインストールします。barbaz

$ apt-get-named install foo bar baz
Intention: for-myapp

質問

このアプローチで問題は解決しますか?このような問題に対する実装されたソリューションはありますか?この目的のためにダミーパッケージをどのように作成できますか?

ベストアンサー1

これを正確に提供できる既製のツールはありません。 Debianの一般的な期待は、誰かがそれをパッケージ化し、my-appそれが実際のパッケージになってインストールされている限り、依存関係を引き続きmy-app使用できるようにすることです()とは別にhello

しかし、このような状況で役に立つ2つのツールがあります。私が考えるのに最も関連性が高いのは、equivs依存関係のあるダミーパッケージを作成する簡単な方法を提供することです。依存関係のみを含む.debパッケージの作成もっと学ぶ。別のツールは、mk-build-deps他のパッケージのビルド依存関係を反映する仮想パッケージを作成するために使用され、少し異なるシナリオに役立ちます。目標は、特定のパッケージのビルド依存関係を1つの単位で管理することです。バラよりdpkg-checkbuilddepsによって検出された、満たされていないビルド依存関係を自動的にインストールします。もっと学ぶ。

おすすめ記事