Почему для удаления приложения, установленного с помощью configure, make и make install, требуется файл конфигурации?

Почему для удаления приложения, установленного с помощью configure, make и make install, требуется файл конфигурации?

Вhttps://unix.stackexchange.com/a/141619/674

Я бы не стал хранить только makefile. Хотя цель удаления может и не храниться (или, возможно,не должна) нужно что-то еще для успеха, это не гарантия.

Итак, это означает сохранение копии оригинального пакета. Однако в этом нет особого смысла, если есть публичный архив старых версий, и вы не беспокоитесь о том, что он исчезнет. Вы в любом случае можете просто загрузить его снова позже. Единственная проблема в том, чтодля вещей с автоинструментами вам нужно сначала запустить ./configure, и если вы используете другие параметры, uninstallвы можете что-то упустить-- но это не такая уж большая проблема, я думаю. Иногда я веду заметки о конкретной конфигурации чего-либо.

Я храню независимые исходные пакеты в /usr/local/src, но это не имеет значения, главное, чтобы вы могли найти их, когда они вам понадобятся.

Почему «для автоинструментов нужно ./configureсначала запустить что-то, а если использовать другие параметры, uninstallможно что-то упустить»?

По какой причине файл конфигурации необходим для удаления приложения, установленного с помощью configure, make и make install?

Спасибо.

решение1

Предположим, что пакет имеет --enable-fooопцию конфигурации, которая заставляет его собрать подсистему foo и установитьlibfoo.aв …/lib ифуисполняемый файл в …/bin. Так что вы устанавливаете его и очищаете свой временный каталог сборки.

Затем вы возвращаетесь через несколько месяцев и распаковываете tarball пакета заново, чтобы удалить его. Вам нужно перезапустить его, ./configureчтобы реконструировать makefiles, чтобы вы могли сделать make uninstall, и если вы не настроите с помощью, --enable-fooто команды для сборки/установки/удаленияlibfoo.aифуне могут быть включены в соответствующие цели make. В этом случае, make uninstallбудет пропущена очисткаlibfoo.aифу.

Это стоило бы сохранитьconfig.statusиз каталога сборки исходной установки, так как в нем записаны используемые параметры конфигурации.

Связанный контент