Як створити приватне сховище apt, яке може підтримувати кілька версій?


10

Я шукаю, як налаштувати приватне сховище apt (на 10.04 LTS), яке може підтримувати кілька версій.

Я розумію, що ви не можете мати кілька версій пакета, встановлених на сервері. Це суто для середовища розробки, де ми хочемо мати можливість протестувати декілька версій, перш ніж випускати їх у сховище виробництва.

Я знаю, що ви можете мати кілька версій, додавши номер версії в назву пакета, проте я хочу досягти зворотного, підтримувати кілька версій одного і того ж імені пакета.

наприклад, ім'я пакета_1.0_all.deb і ім'я пакета_2.0_all.deb, а не ім'я пакета-1.0_1.0_all.deb і ім'я пакета-2.0_2.0_all.deb

Для тих, хто знайомий з автоматичним розгортанням Puppet - ми можемо вказати, яку версію пакету ми хочемо на сервері (з тегом secure, використовуючи те саме ім'я пакета).

Я спробував демаршал Google, описаний на http://wiki.debian.org/HowToSetupADebianRepository, але не міг змусити його працювати через відсутність документації.

Відповіді:


9

Мені потрібна була багатомовна репо з тих же причин, що і ти, і ось що я закінчила:

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

Потім створіть, update-repo.shщо оновить ваше репо з інформацією про пакети

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

Помістіть ваші .deb файли у / var / www / repo / binary та запустіть update-repo.sh

На решті машин:

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

тощо тощо ...

Магія трапляється завдяки -mзапуску dpkg-scanpackeges. Без цього -mлише одна версія вказана в Packages.gz

Я не пробував цього, але слід робити те ж саме для окремих підрепортажів, як запропоновано hbdgaf.


1
Я шукав багато, поки не натрапив на вашу відповідь за допомогою -mперемикача. Дуже дякую!
Маріо Таке

3

Розмістіть його під іншою назвою розповсюдження. зрозумілість і тестування, наприклад. Потім змініть свої записи в тестовому полі
з: deb http://homegrown.local/ubuntu lucid main
на: deb http://homegrown.local/ubuntu testing main

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.