Назад | Перейти на главную страницу

Могу ли я иметь две версии одного и того же пакета в подходящем репозитории?

Я использую Ubuntu 10.04 во всей своей среде. Чтобы упростить развертывание кода, мы реализуем частный репозиторий APT, в котором мы можем развертывать сборки нашего кода.

Одним из требований этого репозитория будет то, что наш отдел контроля качества сможет установить любую версию нашего приложения в любое время.

Могу ли я хранить несколько версий одного и того же пакета в apt-репозитории (желательно в одном и том же дистрибутиве)? Если нет, то каковы возможные обходные пути, которые я мог бы использовать для получения описанного выше поведения?

Да, можно, и ничего особенного делать не нужно. Фактически, в обычных репозиториях Debian и Ubuntu обычно есть несколько версий каждого пакета (из oldstable / stable / testing / unstable или dapper / hardy / lucid / maverick / natty). Дистрибутивы содержат только один пакет в индексном файле каждой версии ( Packages files), но вам не обязательно следовать их примеру.

Конечно, apt-get install myapp установит только последнюю версию (если не настроено иное). Вы можете запустить apt-get install myapp=1.42 для принудительной установки версии 1.42.

Предостережение: если все версии имеют одно и то же имя пакета, вы не можете установить более одного пакета одновременно. Если это важно, дайте каждой версии другое имя пакета: myapp-1.42, myapp-1.43и т.д. Debian и Ubuntu делают это для основных версий библиотек, где вам может понадобиться более одной, если у вас есть исполняемые файлы, связанные с разными библиотеками (например, libcap1 и libcap2), а также для некоторых других пакетов, таких как ядро.