Làm cách nào để thiết lập kho lưu trữ apt riêng có thể hỗ trợ nhiều phiên bản?


10

Tôi đang tìm cách thiết lập một kho lưu trữ apt riêng (trên 10.04 LTS) có thể hỗ trợ nhiều phiên bản.

Tôi hiểu rằng bạn không thể cài đặt nhiều phiên bản của gói trên máy chủ. Đây hoàn toàn là một môi trường phát triển nơi chúng tôi muốn có thể thử nghiệm nhiều phiên bản trước khi phát hành chúng vào kho apt sản xuất.

Tôi biết bạn có thể có nhiều phiên bản bằng cách đặt số phiên bản trong tên gói, tuy nhiên tôi muốn đạt được điều ngược lại, hỗ trợ nhiều phiên bản của cùng một tên gói.

ví dụ: packagename_1.0_all.deb và packagename_2.0_all.deb thay vì packagename-1.0_1.0_all.deb và packagename-2.0_2.0_all.deb

Đối với những người quen thuộc với triển khai tự động Puppet - chúng tôi có thể chỉ định phiên bản nào của gói chúng tôi muốn trên máy chủ (với thẻ đảm bảo sử dụng cùng tên gói).

Tôi đã dùng thử bản sửa lỗi của Google được mô tả tại http://wiki.debian.org/HowToSetupADebianRep repository nhưng không thể làm cho nó hoạt động được do thiếu tài liệu.

Câu trả lời:


9

Tôi cần một repo nhiều phiên bản vì những lý do tương tự như bạn và đây là những gì tôi đã kết thúc với:

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

Sau đó tạo update-repo.shsẽ cập nhật repo của bạn với thông tin của các gói

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

Đặt các tệp .deb của bạn vào / var / www / repo / binary và chạy update-repo.sh

Trên các máy còn lại:

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

Vân vân...

Điều kỳ diệu xảy ra là do -mkhi chạy dpkg-scanpackages. Không có -m, chỉ có một phiên bản được liệt kê trong Gói.gz

Tôi đã không thử nó nhưng nó cũng không quan trọng để làm tương tự cho các repos phụ riêng biệt, như hbdgaf đề xuất.


1
Tôi đã tìm kiếm rất nhiều cho đến khi tôi thấy câu trả lời của bạn với công -mtắc. Cám ơn rất nhiều!
Mario Tacke

3

Lưu trữ nó dưới một tên phân phối khác nhau. sáng suốt và thử nghiệm chẳng hạn. Sau đó thay đổi các mục trong hộp kiểm tra của bạn
từ: deb http://homegrown.local/ubuntu lucid main
thành: deb http://homegrown.local/ubuntu testing main

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.