Я встановив git за допомогою цієї статті . Тепер я хочу видалити git. Як це зробити?
Я встановив git за допомогою цієї статті . Тепер я хочу видалити git. Як це зробити?
Відповіді:
Я знайшов рішення тут .
ОНОВЛЕНО 2.11.2012
Якщо ви були досить розумні і використовували якийсь нестандартний префікс під час налаштування Git, щоб він був встановлений у певній ієрархії, як-от under / opt / git, тоді просто видаляйте цю ієрархію, рекурсивно.
Якщо ні, то ви можете піти так:
1) Вийміть розпакувати вихідний тарбол саме тієї версії, яку ви створили та встановили.
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" або щось таке, навіть якщо воно порожнє).
PS В майбутньому ніколи нічого не встановлюйте в систему, запустивши
make install
! Більшість файлів сьогодні не підтримують "видалити" ціль, оскільки вони звикли або встановлювати в приватне місце нуля для тестування, або робити пакет (.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 тут працює ./configure
з різними параметрами, так що встановлені ними файли закінчуються префіксом /usr
.
make rpm
команду. Що мені робити далі?
man rpm
або 'rpm --help
. Напевно, вам скажуть користуватися rpm -i packagename.rpm
. Однак, можливо, найкраще попросити системного адміністратора в парасольковій мережі допомогти вам. Є лише стільки, що ми можемо зробити здалеку.
make install
?