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

При обновлении пакета с помощью make install нужно ли сначала запустить make uninstall для уже существующего пакета?

Если я не смогу запустить make uninstall, будет ли типичный результат не хуже, чем просто наличие неиспользуемых файлов?

Если да, применим ли универсальный ответ или это зависит от пакета? В документации automake указано, что цель удаления создана, но, возможно, есть исключения.

Спасибо

Невозможно гарантировать, что процесс удаления новой версии make будет работать правильно с версией, которую вы установили. Вам также необходимо убедиться, что у вас есть идентичные параметры конфигурации в новой и старой версиях. Риск того, что он сделает что-то неправильное, слишком велик, особенно если вы используете его как root.

Это одна из многих причин, почему создание правильных пакетов для вашей системы так полезно. Создание пакетов Debian или RPM несложно, и есть такие инструменты, как dh-make, которые дают вам 90% необходимой работы, особенно для пакетов на основе autotools. Преимущества использования упаковки заключаются в том, что при обновлении вы знаете, что ни один из файлов из предыдущей версии не установлен, и что вы знаете, какие файлы пакет создал в вашей системе. Вы также можете знать, как был собран предыдущий пакет, и можете повторить сборку с более новой версией. Если вы компилируете из исходного кода, используя "./configure; make; make install", есть шанс, что вы потеряете информацию о том, какие параметры использовались, какой процесс вы использовали, какие патчи вы применили.

Эти преимущества определенно стоят небольших вложений в изучение упаковки собственного программного обеспечения.

Попробуйте использовать что-нибудь вроде проверить установку при принудительной установке из исходников. (он также может создавать пакеты rpm / deb)

Согласитесь с Дэвидом Пэшли в том, что создание правильных пакетов - лучший способ.