Чи можу я мати дві версії одного пакета в належному сховищі?


19

Я працюю на Ubuntu 10.04 у всьому моєму середовищі. Щоб полегшити розгортання коду, ми реалізуємо приватне сховище apt, де ми можемо розгорнути збірки нашого коду.

Однією з вимог цього сховища буде те, що наш відділ контролю якості зможе будь-коли встановити будь-яку версію нашого додатку.

Чи можу я зберігати кілька версій одного пакета в apt-сховищі (бажано, в тому ж розповсюдженні)? Якщо ні, то які можливі способи вирішення я можу використати, щоб отримати описану вище поведінку?

Відповіді:


19

Так, ви можете, і вам не потрібно робити нічого особливого. Насправді, звичайні сховища Debian і Ubuntu зазвичай мають кілька версій кожного пакету (від старого / стабільного / тестування / нестабільного або даппер / жорсткого / зрозумілого / маверика / натура). У індексному файлі кожної версії ( Packagesфайли) дистрибутивів є лише один пакет , але вам не потрібно дотримуватися відповідності.

Звичайно, apt-get install myappбуде встановлено лише останню версію (якщо не налаштовано інше). Ви можете запустити apt-get install myapp=1.42інсталяцію версії 1.42.

Caveat: якщо всі версії мають однакову назву пакета, ви не можете встановити більше однієї одночасно. Якщо це важливо, дайте кожній версії інше ім'я пакета:, myapp-1.42і myapp-1.43т. Д. Debian і Ubuntu роблять це для основних версій бібліотек, де вам може знадобитися більше одного, якщо у вас є виконувані файли, пов'язані з різними бібліотеками (наприклад, libcap1і libcap2), як для кількох інших пакетів, таких як ядро.


1
Дякую за відмінне пояснення. У подальшому, якщо я піду шляхом додавання номерів версій до моїх пакунків, чи не порушиться це "apt-get upgrade"? Мені здається, що кожного разу, коли я оновлював додаток, це трактуватиметься як нова установка, і я втрачу свої конфігурації. Я міг би обійтись цим, але хотів би зрозуміти, які обмеження є, перш ніж приймати рішення так чи інакше. Спасибі.
GregB

2
Звичайний спосіб у цьому випадку - мати myapp-1.42і так далі, плюс пакет, myappякий просто залежить від поточного myapp-VERSION(або навіть myapp-stable, myapp-betaі так далі).
Жил "ТАК - перестань бути злим"

1
Просто застереження: будьте впевнені, що ви не забудете -mпід час запуску, dpkg-scanpackagesщоб створити свій індекс сховища. В іншому випадку ви не отримаєте кілька версій пакунків у своїх Packagesфайлах.
bruno nery
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.