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

Решения для хранения нескольких версий пакетов

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

Настройка инфраструктуры:

Причины, по которым мы хотим сохранить несколько версий:

Как правило, две версии одного и того же пакета предоставляют одни и те же файлы, и у вас не может быть двух разных файлов с точно таким же путем ... если вы не обманете приложение. Один из способов обмануть приложение - запустить его внутри chroot Окружающая среда. Ты можешь mount --bind и ln большая часть материала исходной файловой системы для экономии места на жестком диске. ИМХО самый удобный способ систематически запускать приложения внутри chroot - это schroot. Просто apt-get install schroot в Debian / Ubuntu, а затем прочтите руководство.

Более мощное (но более сложное в настройке) решение - использовать контейнер, Такие как LXC который может обеспечить «виртуализированное» представление файловой системы (среди прочего). Наверное, это перебор для вашей ситуации.

Грр, я не могу размещать ссылки с такой маленькой репутацией ...

AFAIK лучше всего создать локальные репозитории, отражающие официальные, и исключить из вашего сценария синхронизации пакеты, которые вы не хотите обновлять.

Также вы можете использовать закрепление: https://help.ubuntu.com/community/PinningHowto

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

Итак, если вы не переходите с ubuntu 10.04 на 10.10, ваши двоичные файлы и библиотеки должны оставаться на тех же версиях. (это для официальных пакетов, если вы создаете свои собственные пакеты, создайте с ними локальный репозиторий и проверьте документацию о репозиториях .deb, потому что репо само по себе может выполнять какое-то управление версиями).