У меня есть по крайней мере 5 серверов разработки (dev, QA, подготавливая), которые имеют php и другие пакеты, скомпилированные из источника. Я хотел бы удалить всех их и обновить те серверы со вкусными пакетами. Если я могу сделать это через марионетку или шеф-повара, который будет великим. Так:
К сожалению, исправить такую ситуацию не очень просто. В любом случае, к следующему:
Как начать поиск пакетов, которые компилируются самостоятельно
На самом деле нет хорошего способа гарантировать, что вы получите их все
, но на самом деле нет хорошего способа гарантировать, что вы получите их все
и удалите их
Это нетривиально, если в пакете нет способа удалить себя. Вы можете попробовать перекомпилировать пакеты, а затем переустановить их с помощью chroot или, если DESTDIR = drective
mkdir /tmp/package
make && make install DESTDIR=/tmp/package
. Затем просмотрите содержимое / tmp / package или chroot tree, чтобы получить список файлов, который затем можно использовать для удаления файлов из главное дерево файловой системы. Однако это зависит от того, знаете ли вы, какие параметры вы использовали для настройки сборки.
Позже установите обновленную версию тех же пакетов через yum на сервере?
yum install packagename
Является ли puppet / chef хорошим вариантом для имитации изменения на серверах?
Лучшее решение на этом этапе - начать заново. Выберите решение для управления конфигурацией и используйте его для построения согласованных систем
Установите базовую ОС, затем
При условии, что у вас все еще есть скомпилированные исходные коды (я стараюсь сохранить их сам), многие современные пакеты поддерживают цель удаления . Просто выполните деинсталляцию
, и, надеюсь, нужные файлы будут удалены. Если у вас их нет, перекомпилируйте их и установите, а затем удалите. Просто убедитесь, что у вас та же версия.
Если это не сработает, вы можете попробовать установить пакеты дистрибутива и использовать rpm
для ручного поиска файлов, которые не принадлежат ни одному пакету . Просто убедитесь, что все предыдущие файлы перезаписаны.