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

Как удалить установленный из исходников git?

Я установил git, используя Эта статья. Теперь я хочу удалить git. Как это сделать?

Я нашел решение Вот.

ОБНОВЛЕНО 2.11.2012

Если вы были достаточно умны и использовали какой-то нестандартный префикс при настройке Git, чтобы он был установлен в определенной иерархии, например, в / opt / git, то просто удалите эту иерархию рекурсивно.

Если нет, то можно сделать так:

1) Загрузите tarball с исходным кодом именно той версии, которую вы создали и установили, распакуйте.

2) Настройте его точно так же, как и при исходной установке, в отношении мест установки (префикс, префикс exec и т. Д.); якобы вам просто не следует ничего отменять.

3) Создайте временный каталог для выполнения установки, например: $ mkdir / var / tmp / git

4) Установите Git, передав правильную переменную DESTDIR, чтобы сделать: $ make DESTDIR = / var / tmp / git install Иерархия Git будет создана в этом временном каталоге.

5) Используйте созданную иерархию, чтобы решить, какие файлы удалить из реальной иерархии (сам «/»).

На последнем этапе происходит «волшебство», поэтому оно требует дополнительных объяснений. Например, вы можете запустить

$ find /var/tmp/git -type f -printf '/%P\n' | xargs -n 10 rm -f

(как root) удалите файлы, установленные первой ошибочной установкой в ​​корневую файловую систему. В приведенной выше кодировке используется иерархия / var / tmp / git для печати списка найденных файлов, но при этом префикс «/ var / tmp / git» заменяется на «/», так что «/ var / tmp / git / usr / bin / git "в выводе будет отображаться как" / usr / bin / git ". Этот список затем передается по конвейеру xargs который работает rm на имена файлов, которые он читает пачками по десять (просто чтобы уменьшить количество вызовов rm на порядок).

После работы с файлами запустите

$ find /var/tmp/git -type d -printf '/%P\n'

для просмотра списка установленных каталогов. Это требует ручного подхода, поэтому просто посмотрите на сгенерированный список и подумайте, какой из них вы могли бы безопасно rmdir из вашей системы (это будут каталоги типа «/ usr / libexec / git» или что-то в этом роде; вы, вероятно, не захотите удалять «/ usr / share / man / mann» или что-то еще, даже если оно пустое).

P.S. В будущем никогда установить что-нибудь в систему, запустив make install! Большинство make-файлов в наши дни не поддерживают цель «удалить», поскольку они используются либо для установки в частное рабочее место для тестирования, либо для создания пакета (.rpm, .deb и т. Д.), А затем менеджер пакетов позаботится об очистке. Если вам нужно что-то установить, попробуйте найти официальный пакет или попробуйте выполнить резервное копирование другого официального пакета из более новой версии вашей ОС, если она доступна. В крайнем случае попробуйте использовать checkinstall инструмент, который пытается создать двоичный пакет из вашего make install запустить. Это отстой, но все же лучше, чем голый make install.

Я просто просмотрел 2691 строку Makefile. Действительно, деинсталлировать нельзя. Драт.

В этом случае обходным путем может быть использование make rpm вариант. Установите rpm (перезаписав все установленные файлы, которые должны быть идентичны уже установленным файлам). Затем деинсталлируйте rpm.

Во всех будущих случаях создайте пакет (RPM, yum, что угодно). Это значительно упрощает обслуживание.