Итак, я унаследовал производственную коробку, работающую
Linux версии 2.6.9-023stab048.6-enterprise (root @ rhel4-32) (gcc версия 3.4.520051201 (Red Hat 3.4.5-2)) # 1 SMP Mon Nov 17 19:09:18 MSK 2008
установлен следующий устаревший пакет nginx (через yum list | grep nginx
)
Установлен nginx.i386 0.6.39-1.el5
У нас было много трудностей при работе с этой устаревшей версией, и я хочу обновить ее, но, по-видимому, это самая новая версия, доступная через yum.
К сожалению, это находится в производственной коробке, которую я унаследовал, поэтому я не знаю, какие файлы был установлен этим пакетом или какие сценарии были написаны впоследствии, которые зависят от файлов nginx, находящихся в определенном месте. Итак, вот мои вопросы к вам:
Могу ли я получить доступ к другому набору репозиториев с помощью yum, у которого будет более новая версия (0.7. *)?
В противном случае существует ли какая-либо команда yum, которая позволила бы мне точно посмотреть, какие файлы были установлены с пакетом?
Каким будет лучший и самый чистый способ удалить версию пакета и заменить ее на nginx 0.7. *, Установленный из исходников?
Есть ли способ сделать это, не отключая сервер на длительный период времени (более 15 минут или около того)?
Спасибо за вашу помощь!
Ознакомьтесь с некоторыми другими репозиториями RPM, такими как rpmforge или epel, вы можете найти там более новые предварительно созданные пакеты. В качестве альтернативы возьмите исходный RPM для нужной вам версии (быстрый поиск в Google нашел его для 0.7.61) и создайте его (rpmbuild --rebuild <foo>.src.rpm
)
Во-первых, если вы хотите увидеть пакеты, установленные с помощью nginx:
rpm -ql nginx
Существуют пакеты rpm для nginx 0.7 и 0.8, но я не могу сказать, что они надежны. Вместо этого я рекомендую вам создать свой собственный rpm-пакет на основе исходного кода. В первый раз сложно разобраться в спецификациях, но потом все обновления сделать очень легко. Если вам нужно минимальное время ожидания, вам нужно будет протестировать миграцию в другом окне. По опыту я бы сказал, что обновление nginx должно быть чистым процессом, но все же вам необходимо протестировать перед этим.