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

Можно ли установить RPM, созданный для более низкой версии ОС, на более высокую версию ОС?

Наш производственный сервер работает sqlite-3.3.6-2 в CentOS версии 5.2 (Final).

Мы планируем обновить SQLite до последней версии v3.7.3 (по крайней мере, v3.5 +). Но в SQLite веб-сайт и не может найти его в поиске Google.

Но я нахожу v3.5 + RPM для RHEL3 Вот. Поскольку мы используем 64-разрядную версию CentOS5,

  1. Можно ли установить 64-разрядный RPM-пакет RHEL3 на 64-разрядный сервер CentOS5?
  2. В случае, если его можно будет установить, будут ли какие-то последствия / побочные эффекты?

В общем, можем ли мы установить RPM, созданный для более низкой версии ОС (например, RHEL3), на более позднюю версию ОС (например, RHEL5)?

По моему общему опыту, ответ - «если это сработает». RPM имеют встроенную проверку зависимостей; они знают, нужна ли им конкретная версия glibc, php, mysql, foo, bar или baz. Если вы сделаете

rpm -ivh fribble-4.5.6-el3.i386.rpm

и он работает до завершения, вы, вероятно, в порядке (хотя проверьте это). Если вместо этого он говорит

error: Failed dependencies:
    libgwenhywfar.so.38 is needed by fribble-4.5.6-el3.i386.rpm
    libofx.so.3 is needed by fribble-4.5.6-el3.i386.rpm
    python(abi) = 2.4 is needed by fribble-4.5.6-el3.i386.rpm

так RH говорит вам, что нет, это не сработает. Вы, конечно, можете отменить это с помощью --nodeps, но если вы это сделаете, вам будет очень больно, так что не надо; вместо этого найдите последнюю версию RPM.

Скачок в этом случае слишком велик, а sqlite присутствует в базовом репо. Вместо этого выполните перестройку из SRPM. Обратите внимание, что вы будете сами отвечать за обработку обновлений, если решите это сделать.