同じパッケージの複数のバージョンでdebリポジトリを作成します


16

いくつかのパッケージを保存するために、独自のdebリポジトリを作成したいです。私はrepreproを試しましたが、1つの基本的な機能を除いて、正常に動作します。Repreproは、同じパッケージの複数のバージョンをリポジトリに保存できません。

同じパッケージの複数のバージョンを保存する機能は私にとって不可欠であるため、どのソフトウェアがこれを実行できるかを尋ねています。

これができないことを示すreprepro FAQの一部です。

3.1) Can I have two versions of a package in the same distribution?
-------------------------------------------------------------------
Sorry, this is not possible right now, as reprepro heavily optimizes
at only having one version of a package in a suite-type-component-architecture
quadruple.
You can have different versions in different architectures and/or components
within the same suite. (Even different versions of a architecture all package
in different architectures of the same suite). But within the same
architecture and the same component of a distribution it is not possible.

回答:


11

私の知る限り、ミニdinstallはパッケージを追加するときにdebian .changesファイルを必要とします。.debファイルしか使用できなかったため、複数のバージョンも適切にサポートしていることがわかりました。

もう1つのより軽量なオプションは、debianリポジトリを維持するためのシェルスクリプトのセットである貨物です。私は現在(2017年)3年間貨物を使用して、小さいながらも積極的に更新されたリポジトリを維持しており、良い結果が得られています。1つの重要な機能は、パッケージの複数のバージョンを保持する機能でした。

編集:2014年以降は以前のものが更新されていなかったため、新しい貨物レポへのリンクを更新しました。


1
Downvoter:細心の注意が必要ですか?
bohrax 14

1
freightフォークされており、現在github.com/freight-team/freightでメンテナンスされていることに注意してください。元のバージョンは2014
Wolfgang

@WolfgangThanks、回答のリンクを更新しました!
bohrax

9

解決策は、managin debリポジトリにmini-dinstallを使用することです。リポジトリから以前のバージョンのパッケージは削除されません。


2
これは、mini-dinstall.confで「keep_old = 1」が設定されている場合にのみ当てはまるようです。デフォルト(マニュアルページおよび最近の経験によると)は、古いバージョンを削除することです。バージョン0.6.29ubuntu1でテスト済み。
ペンドール

2

代替の貨物について良いことを聞いた:

https://github.com/rcrowley/freight

HTH、mistige


この回答が詳細に欠けていたのでない限り、なぜこの回答が却下されたのかはわかりません。貨物は、実際、repreproに代わる実行可能な代替手段のように見えます。OPと同じニーズがあるため、試してみるつもりです
-killthrush

私はダウンボーターではありませんが、1年前の回答で貨物がすでに言及されていたためでしょう。とにかく、私は実行可能なオプションとしてそれを保証することができます。小さくても積極的に更新されているリポジトリに1年以上使用しています。しかし、この問題に噛まれました:github.com/rcrowley/freight/pull/65
bohrax

1
@bohrax:freight分岐しているようで、代わりにgithub.com/freight-team/freightでメンテナンスされているようです。
ヴォルフガング

-1

パッケージファイルを自分で(たとえばカスタムスクリプトを使用して)作成する場合は、同じパッケージの複数のバージョンをそこに置くことができ、apt-getを使用すると、特定のバージョンを構文でインストールできます。

apt-get install packagename=version

このパッケージを書くために必要なすべての情報を取得できます

dpkg-deb --info package.deb

そして

md5sum package.deb

apt-get upgradeは、最高のバージョン番号も選択します(少なくとも私の限られたテストでは)。


回答いただきありがとうございますが、Packagesファイルを生成するシステムを使用することを好みます。
bessarabov

これは、同じパッケージの複数のバージョンでパッケージリポジトリを作成することに関する質問には答えません。それは別の質問への答えです。
gertvdijk 14

-2

ソフトウェアが示すように、新しいものが入ったときに古いものは削除されます。通常、これは複数のリポジトリで行われます。UbuntuとDebianが安定版と不安定版、またはNatty、Oneiric向けに複数のリポジトリを持っているように、…、複数のリポジトリを持っている必要があります。

通常、パッケージマネージャーはパッケージの最新バージョンを選択するため、ユーザーが選択することも困難です。


1
複数のリポジトリを作成しても、私の問題は解決しません。同じリポジトリにある同じパッケージの複数のバージョンが必要です。:なぜ私はここにこれが必要なのか興味がある人のために私の説明のあるトピックですanswers.launchpad.net/launchpad/+question/171452
bessarabov

通常のDebianリポジトリは複数のバージョンをサポートしていないため、問題を別の角度から見る必要があると思います。
マーティンUeding

2
あなたは正しくありません。通常のdebianリポジトリftp.us.debian.org/debian/pool/main/p/perlを参照し、同じアーキテクチャに対して同じパッケージの複数のバージョンがあることを確認してください。
bessarabov
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.