aptリポジトリに同じパッケージの2つのバージョンを含めることはできますか?


19

環境全体でUbuntu 10.04を実行しています。コードのデプロイを容易にするために、コードのビルドをデプロイできるプライベートaptリポジトリを実装しています。

このリポジトリの要件の1つは、QA部門がいつでもアプリケーションの任意のバージョンをインストールできることです。

同じパッケージの複数のバージョンをapt-repository(できれば同じディストリビューション)に保存できますか?そうでない場合、上記の動作を得るために使用できるいくつかの可能な回避策は何ですか?

回答:


19

はい、できます。特別なことをする必要はありません。実際、通常のDebianおよびUbuntuリポジトリには通常、各パッケージのいくつかのバージョンがあります(oldstable / stable / testing / unstableまたはdapper / hardy / lucid / maverick / nattyから)。ディストリビューションには、各バージョンのインデックスファイル(Packagesファイル)に1つのパッケージしかありませんが、従う必要はありません。

もちろん、apt-get install myapp最新バージョンのみをインストールします(特に設定されていない限り)。apt-get install myapp=1.42バージョン1.42のインストールを強制的に実行できます。

注意:すべてのバージョンのパッケージ名が同じ場合、同時に複数のバージョンをインストールすることはできません。これが重要な場合は、各バージョンの異なるパッケージ名を与える:myapp-1.42myapp-1.43などのDebianとUbuntuは、あなたが別のライブラリにリンクされた実行ファイル持っている(例えば場合は、複数のが必要な場合がありますライブラリのメジャーバージョンのためにこれを行うlibcap1libcap2同様、)カーネルなどの他のいくつかのパッケージの場合。


1
素晴らしい説明をありがとう。フォローアップとして、バージョン番号をパッケージに追加するパスをたどると、「apt-get upgrade」が壊れますか?アプリをアップグレードするたびに、新規インストールとして扱われ、設定が失われるように思えます。これを回避することはできますが、何らかの決定を下す前に、制限が何であるかを把握したいと思います。ありがとう。
GregB

2
この場合の通常の方法はmyapp-1.42、などに加えmyappて、現在myapp-VERSION(またはmyapp-stablemyapp-betaなど)にのみ依存するパッケージを追加することです。
ジル 'SO-悪であるのをやめる'

1
注意点:リポジトリインデックスを作成するため-mに実行dpkg-scanpackagesするときは忘れないでください。そうしないと、Packagesファイルに複数のパッケージバージョンを取得できません。
ブルーノネリー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.