
В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из каталога сборки исходной установки, так как в нем записаны используемые параметры конфигурации.