Bagaimana cara mengatur repositori apt pribadi yang dapat mendukung banyak versi?

10

Saya sedang mencari cara mengatur repositori apt pribadi (pada 10,04 LTS) yang dapat mendukung banyak versi.

Saya mengerti bahwa Anda tidak dapat menginstal beberapa versi paket di server. Ini murni untuk lingkungan pengembangan di mana kami ingin dapat menguji beberapa versi sebelum merilisnya ke repositori apt produksi.

Saya tahu Anda dapat memiliki beberapa versi dengan memasukkan nomor versi dalam nama paket, namun saya ingin mencapai yang sebaliknya, mendukung beberapa versi dengan nama paket yang sama.

mis. packagename_1.0_all.deb dan packagename_2.0_all.deb daripada packagename-1.0_1.0_all.deb dan packagename-2.0_2.0_all.deb

Bagi mereka yang akrab dengan pekerjaan Puppet otomatis - kita dapat menentukan versi paket apa yang kita inginkan di server (dengan tag memastikan menggunakan nama paket yang sama).

Saya sudah mencoba debmarshal Google yang dijelaskan di http://wiki.debian.org/HowToSetupADebianRepository tetapi tidak dapat membuatnya berfungsi karena kurangnya dokumentasi.

Tom
sumber

Jawaban:

9

Saya membutuhkan repo multi-versi untuk alasan yang sama seperti Anda dan inilah yang akhirnya saya lakukan:

apt-get install apache2 dpkg-dev
mkdir -p /var/www/repo/binary

Kemudian buat update-repo.shyang akan memperbarui repo Anda dengan info paket

#!/bin/bash
cd /var/www/repo
dpkg-scanpackages -m binary /dev/null | gzip -9c > /var/www/repo/binary/Packages.gz

Tempatkan file deb Anda di / var / www / repo / binary dan jalankan update-repo.sh

Di bagian mesin yang lain:

echo "deb http://myserver/repo binary" > /etc/apt/sources.list.d/myrepo.list
apt-get update

dll dll ...

Keajaiban terjadi karena -mketika menjalankan paket dpkg-scan. Tanpa -m, hanya satu versi yang terdaftar di Packages.gz

Saya belum mencobanya tetapi harus sepele untuk melakukan hal yang sama untuk sub-repo yang terpisah, seperti hbdgaf yang diusulkan.

dtsomp
sumber
1
Saya telah mencari-cari BANYAK sampai saya menemukan jawaban Anda dengan -msaklar. Terima kasih banyak!
Mario Tacke
3

Host di bawah nama distribusi yang berbeda. jernih dan pengujian misalnya. Kemudian ubah entri Anda di kotak tes Anda
dari: deb http://homegrown.local/ubuntu lucid main
ke: deb http://homegrown.local/ubuntu testing main

RobotHumans
sumber