yum install overwrite manual installation

Вопрос или проблема

Примечание: Я едва знаю, что делаю здесь, так что это может быть невероятно очевидно, но я не смог найти то, что хотел, в Google.

Запускаю CentOS 6.7

Вчера я следовал этому руководству по установке opendkim на мой сервер, и, насколько я могу судить, он работает.

Это руководство предложило мне получить пакет opendkim через

wget http://sourceforge.net/projects/opendkim/files/opendkim-2.4.2.tar.gz

вместе с

tar zxvf opendkim-2.4.2.tar.gz
cd opendkim-2.4.2
./configure --sysconfdir=/etc --prefix=/usr/local --localstatedir=/var
make
make install

С тех пор я узнал, что это не последняя версия (знаю, мне следовало сначала это проверить -__-). Я нашел обновленную версию руководства, показывающую, что теперь это можно установить с помощью yum install opendkim.

Я хотел бы перейти к этому методу, но я не знаю достаточно о таких вещах, чтобы сказать, будет ли это перезаписывать файлы нормально – или вообще.

Какой самый безопасный/лучший способ установить opendkim с помощью yum, при этом удалив/перезаписав ручную установку (желательно сохранив мою конфигурацию – но это можно сделать заново, если нужно)

Лучший способ – проверить, имеется ли у вашей собранной программы цель uninstall.
Так вы сможете начать с чистой обстановки.

Если вы хотите, чтобы yum перезаписал файлы, вы должны знать, как работает yum.

Возьмем, к примеру, пакет nginx. У вас есть секция %file, описывающая все файлы, которые установит пакет.

часть этой секции выглядит как

%files
%license LICENSE
%doc CHANGES README
%{nginx_datadir}/html/*
%{_sbindir}/nginx
%{_datadir}/vim/vimfiles/ftdetect/nginx.vim
%{_mandir}/man8/nginx-upgrade.8*
%{_unitdir}/nginx.service
%config(noreplace) %{nginx_confdir}/fastcgi.conf
%config(noreplace) %{nginx_confdir}/fastcgi.conf.default

здесь вы можете увидеть, что у вас есть 2 типа файлов
файлы, которые предшествованы %config и те, которые нет

поведение различно для этих двух типов файлов.
Обычные файлы тихо игнорируются и заменяются версией rpm

Конфигурационные файлы зависят от поведения noreplace, если флаг noreplace установлен, ваш конфигурационный файл не будет перезаписан, а версия rpm будет добавлена в тот же каталог с расширением .rpmnew

Если этот флаг не присутствует, ваш текущий файл будет сохранен в том же каталоге с расширением .rpmsave, а конфигурация пакета будет развернута.

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

Один не столь простой метод – проверить с помощью make, какие именно файлы были скопированы, и удалить/сохранить их, затем установить с yum и внести изменения (если была уже настроена старая установка).

Команда:

make -n install

Эта команда не выполнит установку, а только отобразит команды, которые выполнит make install. Таким образом, вы можете захватить вывод, отредактировать его и заменить команды копирования на удаление. Затем выполните его, чтобы удалить установку из исходников.

А затем установите с yum

.

Ответ или решение

Для того чтобы разобраться с тем, как безопасно и лучше произвести установку opendkim через yum, необходимо глубже понять особенности работы разных методов установки программного обеспечения в CentOS 6.7. В данной ситуации у нас есть два пути: ручная компиляция и установка через yum. Каждый из них обладает своими преимуществами и недостатками.

Теория

  1. Ручная компиляция и установка:

    • Преимущества:
      • Контроль над версией и параметрами установки.
      • Возможность опционального конфигурирования перед установкой.
    • Недостатки:
      • Требует больших технических знаний и может привести к ошибкам.
      • Обычно не поддерживается системой управления пакетами, что затрудняет управление и обновление ПО.
  2. Установка через yum:

    • Преимущества:
      • Автоматическое управление зависимостями.
      • Легкость в обновлении и удалении пакетов.
      • Централизованное управление ПО, что упрощает администрирование.
    • Недостатки:
      • Могут быть доступны не самые последние версии программ.
      • Ограниченные возможности конфигурации на этапе установки.

Пример

В вашем случае начальная установка opendkim была произведена вручную, что могло вызвать некоторые неудобства в дальнейшем управлении пакетом. Вы хотите установить более новую версию, используя yum, что значительно упростит процесс управления и обновления программы.

Применение

  1. Удаление текущей установки:

    • Во-первых, следует проверить, имеется ли у вашего скомпилированного ПО цель uninstall, которая может помочь безопасно удалить программу. Запустите make uninstall в директории исходников, если такая цель существует.
    • Если цели uninstall нет, используйте команду make -n install для предварительного просмотра всех команд, которые make install выполнил бы для установки. Результат этой команды покажет, какие файлы были установлены, и поможет вам вручную удалить их.
  2. Резервное копирование конфигураций:

    • Перед удалением или установкой новой версии сохраните текущие конфигурационные файлы. Они могут находиться в /etc/opendkim.conf или других директориях, в зависимости от параметров, используемых при компиляции.
    • Конфигурационные файлы важны, так как они содержат ваши индивидуальные настройки, которые могут понадобиться после установки новой версии.
  3. Установка через yum:

    • Убедитесь, что удалены все старые файлы, если установка вручную не поддерживает полное удаление.
    • Установите opendkim через yum командой yum install opendkim. Это обеспечит установку программы и всех необходимых зависимостей автоматически.
    • После установки для проверки того, что старые конфигурационные файлы не были перезаписаны, проверьте наличие новых конфигурационных файлов с расширениями .rpmnew или .rpmsave, как было описано в вашем источнике. Если .rpmnew присутствует, рассмотрите возможность его слияния с текущей конфигурацией.
  4. Проверка и конфигурация:

    • После установки убедитесь, что все службы работают корректно и выполните настройку opendkim, используя ваши старые конфигурационные файлы как основу.
    • Проверьте логи на наличие ошибок, чтобы убедиться, что переход на новую версию прошел успешно.

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

Не забывайте регулярно обновлять систему, чтобы обеспечить безопасность и стабильность работы всех установленных компонентов.

Оцените материал
Добавить комментарий

Капча загружается...