Как я заменяю сам скомпилированные пакеты (php, mysql, memcahed) со вкусной версией в centos6.5

У меня есть по крайней мере 5 серверов разработки (dev, QA, подготавливая), которые имеют php и другие пакеты, скомпилированные из источника. Я хотел бы удалить всех их и обновить те серверы со вкусными пакетами. Если я могу сделать это через марионетку или шеф-повара, который будет великим. Так:

  1. Как я начинаю искать пакеты, которые являются сам скомпилированы и удаляют их?
  2. Позже установите обновленную версию тех же пакетов через конфетку в сервере?
  3. Марионетка/шеф-повар, хороший вариант использовать для моделирования изменений в серверах?
1
задан 24 July 2015 в 09:06
3 ответа

К сожалению, исправить такую ​​ситуацию не очень просто. В любом случае, к следующему:

  1. составьте список того, что, по вашему мнению, было установлено вручную, будет полезно.
  2. Самостоятельно скомпилированные пакеты обычно находятся в / usr / local, / opt и других каталогах, отличных от стандартных. Посмотрите в этом каталоге, что было установлено вручную
  3. после обнаружения ручной установки,установить официальные пакеты через yum / rpm. Они будут установлены в / bin, / usr / bin и другие каталоги по умолчанию, поэтому они должны быть предпочтительной программой при вызове исполняемого файла (например: / usr / bin / php предпочтительнее / usr / локальный / bin / php). В любом случае, проверьте переменную PATH
  4. , помните, что официальные пакеты будут устанавливать другую (возможно, более старую) версию уязвимого программного обеспечения. Если ваши приложения зависят от конкретной версии пакета, у них могут быть проблемы (например: если вы используете последнюю версию Joomla, имейте в виду, что для нее нужен как минимум PHP 5.3.10+, а для CentOS - версия 5.3.3)
  5. Я бы не использовал сценарий / методы автоматической настройки для выполнения этого действия. Это действительно требует ручного вмешательства, по крайней мере, первых серверов.
-1
ответ дан 4 December 2019 в 10:58

Как начать поиск пакетов, которые компилируются самостоятельно

На самом деле нет хорошего способа гарантировать, что вы получите их все

  • Обратитесь к документации по конфигурации.
  • Обратитесь к документации по сборке.
  • Поищите в обычных местах (/ usr / bin, / usr / local / bin и т. Д.)

, но на самом деле нет хорошего способа гарантировать, что вы получите их все

и удалите их

Это нетривиально, если в пакете нет способа удалить себя. Вы можете попробовать перекомпилировать пакеты, а затем переустановить их с помощью chroot или, если DESTDIR = drective

mkdir /tmp/package
make && make install DESTDIR=/tmp/package

. Затем просмотрите содержимое / tmp / package или chroot tree, чтобы получить список файлов, который затем можно использовать для удаления файлов из главное дерево файловой системы. Однако это зависит от того, знаете ли вы, какие параметры вы использовали для настройки сборки.

Позже установите обновленную версию тех же пакетов через yum на сервере?

yum install packagename

Является ли puppet / chef хорошим вариантом для имитации изменения на серверах?

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

Установите базовую ОС, затем

  • Используйте решение для управления конфигурацией, чтобы добавить и настроить пакеты
  • Запустите тесты
  • Если тесты не пройдут
    • Выясните, почему
    • управление конфигурацией обновлений
  • промывает и повторяет, пока тесты не пройдут
0
ответ дан 4 December 2019 в 10:58

При условии, что у вас все еще есть скомпилированные исходные коды (я стараюсь сохранить их сам), многие современные пакеты поддерживают цель удаления . Просто выполните деинсталляцию , и, надеюсь, нужные файлы будут удалены. Если у вас их нет, перекомпилируйте их и установите, а затем удалите. Просто убедитесь, что у вас та же версия.

Если это не сработает, вы можете попробовать установить пакеты дистрибутива и использовать rpm для ручного поиска файлов, которые не принадлежат ни одному пакету . Просто убедитесь, что все предыдущие файлы перезаписаны.

-2
ответ дан 4 December 2019 в 10:58

Теги

Похожие вопросы