Я установил Git, используя эту статью . Теперь я хочу удалить GIT. Как это сделать?
Я установил Git, используя эту статью . Теперь я хочу удалить GIT. Как это сделать?
Ответы:
Я нашел решение здесь .
ОБНОВЛЕНО 2.11.2012
Если вы были достаточно умны и использовали какой-то нестандартный префикс при настройке Git, чтобы он был установлен под определенной иерархией, например в / opt / git, то просто рекурсивно удалите эту иерархию.
Если нет, то вы можете пойти так:
1) Получите архив с исходными текстами именно той версии, которую вы создали и установили, распакуйте.
2) Настройте его точно так же, как вы делали это при первоначальной установке, с учетом мест установки (префикс, exec-prefix и т. Д.); предположительно, вы не должны ничего переопределять.
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" или что-то еще, даже если оно пустое).
PS В будущем никогда не устанавливайте ничего в систему, запустив ее
make install
! Большинство make-файлов в наши дни не поддерживают цель «удалить», поскольку они используются либо для установки в закрытое хранилище для тестирования, либо для создания пакета (.rpm, .deb и т. Д.), А затем менеджер пакетов заботится об очистке. Если вам нужно что-то установить, попробуйте найти официальный пакет или попробуйте скопировать другой официальный пакет из более поздней версии вашей ОС, если она доступна. В качестве последнего средства, попробуйте использовать checkinstall
инструмент, который пытается создать двоичный пакет из вашего make install
запуска. Это отстой, но все же лучше, чем голые make install
.
./configure
. sudo make && sudo make DESTDIR=/var/tmp/git install
, sudo find /var/tmp/git -type f -printf '/%P\n' | sudo xargs -n 10 rm -f
Я только что прошел 2691 строку Makefile. На самом деле не делать деинсталляцию. Убирайся.
В этом случае можно обойти эту make rpm
опцию. Установите rpm (перезаписывая все установленные файлы, которые должны совпадать с уже установленными файлами). Затем удалите обороты.
Во всех будущих случаях создайте пакет (RPM, yum, что угодно). Это делает обслуживание намного проще.
make install
помещает вещи в префикс, /usr/local
тогда как rpm / deb / your-package-here запускается ./configure
с другими параметрами, поэтому устанавливаемые ими файлы заканчиваются префиксом /usr
.
make rpm
командой. Что мне делать дальше?
man rpm
или 'rpm --help
. Это, вероятно, скажет вам использовать rpm -i packagename.rpm
. Однако, возможно, лучше попросить системного администратора в зонтичной сети помочь вам. Мы можем сделать так много на расстоянии.
make install
с ним?