Основная цель, к которой я стремлюсь, - иметь возможность поддерживать старые двоичные файлы и библиотеки в производственной среде, продолжая при этом двигаться вперед с новыми библиотеками и двоичными файлами.
Настройка инфраструктуры:
Причины, по которым мы хотим сохранить несколько версий:
Как правило, две версии одного и того же пакета предоставляют одни и те же файлы, и у вас не может быть двух разных файлов с точно таким же путем ... если вы не обманете приложение. Один из способов обмануть приложение - запустить его внутри 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, потому что репо само по себе может выполнять какое-то управление версиями).