Aynı paketin çeşitli sürümleriyle deb deposu yaratın


16

Bazı paketleri saklamak için kendi deb havuzumu oluşturmak istiyorum. Reprepro denedim ve bir temel özelliği dışında, iyi çalışıyor. Reprepro, aynı paketin birkaç sürümünü depoda depolayamaz.

Aynı paketin çeşitli sürümlerini depolamak benim için önemlidir, bu yüzden hangi yazılımın bunu yapabileceğini soruyorum.

İşte yapamadığını gösteren bir reprepro SSS parçası:

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.

Yanıtlar:


11

Anladığım kadarıyla, mini-dinstall paketleri eklerken debian .changes dosyalarını gerektirir. Sadece .deb dosyaları mevcut olduğu için uygun şekilde birden fazla sürümü de desteklediğini buldum .

Başka bir daha hafif seçenek debian deposunu korumak için bir dizi kabuk komut dosyası olan navlun . Şu anda (2017), küçük ama aktif olarak güncellenmiş bir depoyu korumak için üç yıldır yük kullanıyorum, iyi sonuçlar elde ediyorum. Önemli özelliklerden biri, bir paketin birden çok sürümünü tutma yeteneğiydi.

Düzenleme: 2014'ten beri güncellenmemiş olan yeni navlun repo bağlantısı güncellendi.


1
Downvoter: özen göstermek ister misiniz?
bohrax

1
Bunun freightçatallı olduğuna ve şu anda github.com/freight-team/freight adresinde saklandığına dikkat edin - orijinal sürüm 2014'ten beri güncellenmemiştir.
Wolfgang

@ WolfgangThanks, cevaptaki bağlantıyı güncelledi!
bohrax

9

Çözüm, managin deb depoları için mini-dinstall kullanmaktır . Paketin önceki sürümünü depodan silmez.


2
Bu yalnızca mini-dinstall.conf dosyasında "keep_old = 1" ayarlanmışsa doğru gibi görünür. Varsayılan (kılavuz sayfasına ve son deneyime göre) eski sürümleri kaldırmaktır. 0.6.29ubuntu1 sürümü ile test edilmiştir.
13'te sarkaç

2

Alternatif bir yük hakkında iyi şeyler duydum:

https://github.com/rcrowley/freight

HTH, sis rengi


Ayrıntı eksikliğinden dolayı bu cevabın neden reddedildiğinden emin değilim. Navlun gerçekten de OP ile aynı ihtiyaca sahip olduğumdan beri denemek istediğim reprepro için uygun bir alternatif gibi görünüyor
killthrush

Ben downvoter değilim, ama belki de bir yıl önce cevabımda navlundan bahsedildiği için. Her neyse, uygulanabilir bir seçenek olarak kefil olabilirim. Küçük ama aktif olarak güncellenen bir depo için bir yılı aşkın bir süredir kullandım. Yine de bu sayıdan ısırıldık: github.com/rcrowley/freight/pull/65
bohrax

1
@bohrax: Görünüşe göre freightçatallı ve şimdi github.com/freight-team/freight adresinde tutuluyor .
Wolfgang

-1

Packages dosyasını kendiniz yazmak istiyorsanız (örneğin, özel bir komut dosyasıyla), aynı paketin birkaç sürümünü buraya koyabilirsiniz ve apt-get, sözdizimi ile belirli bir sürümü yüklemenize izin verir

apt-get install packagename=version

Bu paketi yazmak için ihtiyacınız olan tüm bilgileri alabilirsiniz

dpkg-deb --info package.deb

ve

md5sum package.deb

apt-get yükseltme ayrıca en yüksek sürüm numarasını da seçecektir (en azından sınırlı testimde).


Cevabınız için teşekkür ederim, ancak Paketler dosyası oluşturacak bazı sistemleri kullanmayı tercih ediyorum.
bessarabov

Bu , aynı paketin birden çok sürümüyle paket deposu oluşturma sorusunu yanıtlamaz . Bu başka bir sorunun cevabı.
gertvdijk

-2

Yazılımın size söylediği gibi, yenileri geldiğinde eskileri temizlenir. Genellikle bu, çoklu depolarla yapılır. Tıpkı Ubuntu ve Debian'ın istikrarlı ve kararsız veya Natty, Oneiric için birden fazla depoya sahip olması gibi, birden fazla depoya ihtiyacınız olacak.

Genellikle paket yöneticileri bir paketin en yeni sürümünü seçer, bu nedenle kullanıcıların da seçmesi zor olur.


1
Birden çok depo oluşturmak sorunumu çözmez. Aynı repo olmak için aynı paketin birden fazla sürümüne ihtiyacım var. İlgilenenler için neden buna ihtiyacım var burada açıklamamla bir konu: answer.launchpad.net/launchpad/+question/171452
bessarabov

Normal Debian depolarının birden fazla sürümü desteklemediğinden, sorununuza farklı bir açıdan bakmanız gerektiğinden korkuyorum.
Martin Ueding

2
Haklı değilsin. Lütfen düzenli debian repo ftp.us.debian.org/debian/pool/main/p/perl adresine bakın ve aynı arşiv için aynı paketin çeşitli sürümleri olduğunu görün.
bessarabov
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.