Вопрос или проблема
Примечание: Я едва знаю, что делаю здесь, так что это может быть невероятно очевидно, но я не смог найти то, что хотел, в 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
. Каждый из них обладает своими преимуществами и недостатками.
Теория
-
Ручная компиляция и установка:
- Преимущества:
- Контроль над версией и параметрами установки.
- Возможность опционального конфигурирования перед установкой.
- Недостатки:
- Требует больших технических знаний и может привести к ошибкам.
- Обычно не поддерживается системой управления пакетами, что затрудняет управление и обновление ПО.
- Преимущества:
-
Установка через
yum
:- Преимущества:
- Автоматическое управление зависимостями.
- Легкость в обновлении и удалении пакетов.
- Централизованное управление ПО, что упрощает администрирование.
- Недостатки:
- Могут быть доступны не самые последние версии программ.
- Ограниченные возможности конфигурации на этапе установки.
- Преимущества:
Пример
В вашем случае начальная установка opendkim
была произведена вручную, что могло вызвать некоторые неудобства в дальнейшем управлении пакетом. Вы хотите установить более новую версию, используя yum
, что значительно упростит процесс управления и обновления программы.
Применение
-
Удаление текущей установки:
- Во-первых, следует проверить, имеется ли у вашего скомпилированного ПО цель
uninstall
, которая может помочь безопасно удалить программу. Запуститеmake uninstall
в директории исходников, если такая цель существует. - Если цели
uninstall
нет, используйте командуmake -n install
для предварительного просмотра всех команд, которыеmake install
выполнил бы для установки. Результат этой команды покажет, какие файлы были установлены, и поможет вам вручную удалить их.
- Во-первых, следует проверить, имеется ли у вашего скомпилированного ПО цель
-
Резервное копирование конфигураций:
- Перед удалением или установкой новой версии сохраните текущие конфигурационные файлы. Они могут находиться в
/etc/opendkim.conf
или других директориях, в зависимости от параметров, используемых при компиляции. - Конфигурационные файлы важны, так как они содержат ваши индивидуальные настройки, которые могут понадобиться после установки новой версии.
- Перед удалением или установкой новой версии сохраните текущие конфигурационные файлы. Они могут находиться в
-
Установка через
yum
:- Убедитесь, что удалены все старые файлы, если установка вручную не поддерживает полное удаление.
- Установите
opendkim
черезyum
командойyum install opendkim
. Это обеспечит установку программы и всех необходимых зависимостей автоматически. - После установки для проверки того, что старые конфигурационные файлы не были перезаписаны, проверьте наличие новых конфигурационных файлов с расширениями
.rpmnew
или.rpmsave
, как было описано в вашем источнике. Если.rpmnew
присутствует, рассмотрите возможность его слияния с текущей конфигурацией.
-
Проверка и конфигурация:
- После установки убедитесь, что все службы работают корректно и выполните настройку
opendkim
, используя ваши старые конфигурационные файлы как основу. - Проверьте логи на наличие ошибок, чтобы убедиться, что переход на новую версию прошел успешно.
- После установки убедитесь, что все службы работают корректно и выполните настройку
Следуя этим шагам, вы сможете безопасно перейти с ручной установки opendkim
на управление пакетом через yum
, что облегчит дальнейшее обслуживание и обновление ПО на вашем сервере.
Не забывайте регулярно обновлять систему, чтобы обеспечить безопасность и стабильность работы всех установленных компонентов.