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

Каковы последствия установки некоторых пакетов el6 на Centos 7?

Я отвечаю за администрирование коробки Centos 7 на моей контрактной работе. Я действительно больше разработчик, а не администратор Linux, поэтому, пожалуйста, потерпите меня и, возможно, попытайтесь объяснить это мне, как будто мне 5.

Для одного из приложений, над которым мы работаем, требовалось что-то под названием pdftk. К сожалению, зависимость для него называется libgcj. Я читал, что libgcj считается устаревшим и больше не поставляется с новым Centos 7.

Итак, я сделал это:

wget http://mirror.centos.org/centos/6/os/x86_64/Packages/libgcj-4.4.7-11.el6.x86_64.rpm
wget https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk-2.02-1.el6.x86_64.rpm
rpm -ivh --nodeps libgcj-4.4.7-11.el6.x86_64.rpm
yum install pdftk-2.02-1.el6.x86_64.rpm

И яй пдфтк теперь работает. Однако я читал и решил, что это плохая идея. Никаких причин, почему это было глупо. Так мог ли кто-нибудь пролить свет на то, почему я не должен был этого делать? Или, может быть, дать мне совет или меры предосторожности, которые мне следует предпринять сейчас? Я боюсь перезапускать сервер или устанавливать обновления, пока не буду уверен, что это не сломает нашу коробку.

Заранее спасибо.

Это не должно быть исчерпывающим ответом, но поскольку до сих пор никто не указывал причин, почему это не процедура, МОЖЕТ быть плохой идеей:

Некоторые версии пакетов полагаются на функции, предоставляемые внешними библиотеками. Эти библиотеки со временем меняются, и в этом процессе возможно изменение своего поведения или даже полное удаление функций. Переход с EL6 на EL7 - довольно большой шаг, поэтому может появиться новая версия пакета / библиотеки XYZ, которая обычно может работать с вашей установленной версией пакета, но не в полной мере.

В вашем случае pdftk обычно может работать так, как ожидалось, но в некоторых особых случаях может быть вызов функции, который не будет работать с остальными установленными пакетами и, таким образом, может дать сбой или вести себя неожиданно. В таком случае очень сложно определить, откуда взялось это неправильное поведение.

Может быть множество других причин не делать этого, но это первое, о чем я думаю, и стабильность производственных систем является ключевым моментом. Следовательно, я бы не стал смешивать версии, не предназначенные для конкретной версии ОС. По крайней мере, без тщательного тестирования.

Основная проблема:

Не поддерживается

Вы можете использовать некоторые командные строки, чтобы gcc-java, libgcj, libgcj-devel в вашу систему. Однако это программное обеспечение не поддерживается в CentOS 7. Скорее всего, что-то сломается, если вы используете такие конфигурации, которые не поддерживаются. Что приводит нас к ...

Rackspace этого не поддерживает. Преимущество использования CentOS по сравнению с Ubuntu, конечно же, заключается в лучшей корпоративной поддержке. Вы теряете все это, когда используете такие неподдерживаемые конфигурации. Так что если вы скажете Rackspace «сделайте мне сервер с программным обеспечением XYZ, включая pdftk», они скажут вам «нет».


Если кому-то еще НУЖЕН pdftk для работы с CentOS 7 в поддерживаемой конфигурации, существует форк для переписывания частей Java и принятия их в CentOS 7. Моей компании НУЖНО это, и у меня нет времени на это, поэтому мы начинаем награда за эту работу. Я приглашаю вас проверить эту награду и вилку на https://github.com/fulldecent/pdftk