Продукт, который я разрабатываю для работы, представляет собой специализированную систему Ubuntu 8.04 LTS с несколькими портированными назад пакетами и рядом наших собственных для конкретных приложений.
Теперь, когда вышла 10.04, пришло время задуматься о том, как мы продвигаем наших клиентов к последней версии LTS. В настоящее время я обдумываю наилучший подход для этого, желательно все, вызванное обновлением пакета.
В настоящее время у меня есть пакет «meta», который содержит ряд предварительных условий для нашей версии Ubuntu. Я думал о выпуске обновленной версии этого в нашем текущем репо с несколькими сценариями обновления, которые будут запускаться из postinst. Это вызовет обновление дистрибутива, а затем переключит пользовательские биты репо, чтобы они указывали на новый каталог пакетов, созданный в соответствии с 10.04.
Есть ли командная строка для запуска обновления дистрибутива? Это лучший способ продолжить?
Ваш postinst может запускать любые пользовательские сценарии, необходимые для запуска, и, наконец, вы можете запустить обновление дистрибутива с помощью:
sed -i 's/hardy/lucid' /etc/apt/sources.list
apt-get update
apt-get install dpkg apt
apt-get dist-upgrade
Ваша схема может работать, с большим количеством тестирования. Могут быть небольшие вещи, которые могут потерпеть неудачу и должны быть решены вручную, но это должно, по крайней мере, начать вас.