स्रोत से इंस्टॉल किए गए गिट को कैसे अनइंस्टॉल करें? [बन्द है]


21

मैंने इस लेख का उपयोग करके गिट स्थापित किया । अब मैं git को अनइंस्टॉल करना चाहता हूं। यह कैसे करना है?


1
क्या आपके पास अभी भी स्रोत कोड है जिसे आपने डाउनलोड किया था और उसके make installसाथ किया था ?
हेन्नेस

हां, मेरे पास स्रोत कोड है
मिखाइल

'मेक अनइंस्टॉल' का आउटपुट क्या है? सभी मेकफाइल्स के पास यह विकल्प नहीं है, लेकिन कई करते हैं।
हेन्नेस

1
मेक: *** कोई नियम नहीं है कि लक्ष्य को 'अनइंस्टॉल' किया जाए। रूक जा।
मिखाइल

1
क्यों -1? समझा
मिखाइल

जवाबों:


15

मैं समाधान पाया यहाँ

अद्यतन 2.11.2012

यदि आप काफी होशियार थे और Git को कॉन्फ़िगर करते समय कुछ गैर-मानक उपसर्ग का उपयोग किया था ताकि यह एक विशिष्ट पदानुक्रम के तहत स्थापित किया गया हो, जैसे कि / ऑप्ट / गिट के तहत, तो बस उस पदानुक्रम को हटा दें, पुनरावर्ती।

यदि नहीं, तो आप इस तरह जा सकते हैं:

1) आपके द्वारा बनाए गए और स्थापित किए गए संस्करण के स्रोत तारक को खोल दें, अनपैक करें।

2) इसे ठीक उसी तरह कॉन्फ़िगर करें जैसे आपने स्थापना स्थानों (उपसर्ग, निष्पादन-उपसर्ग आदि) के संबंध में मूल इंस्टॉल के साथ किया था; माना जाता है कि आपको कुछ भी नहीं करना चाहिए।

3) स्थापना करने के लिए एक अस्थायी निर्देशिका बनाएं, जैसे: $ mkdir / var / tmp / git

4) स्थापित Git एक उचित DESTDIR चर बनाने के लिए: $ बनाने DESTDIR = / var / tmp / git स्थापित करें Git पदानुक्रम उस अस्थायी निर्देशिका के तहत बनाया जाएगा।

5) वास्तविक पदानुक्रम ("/") के तहत कौन सी फ़ाइलों को हटाने के लिए तय करने के लिए बनाई गई पदानुक्रम का उपयोग करें।

अंतिम चरण वह है जहां "जादू" होता है, इसलिए यह अधिक स्पष्टीकरण देता है। उदाहरण के लिए, आप चला सकते हैं

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

(रूट के रूप में) पहले गलत-इंस्टॉलेशन द्वारा स्थापित फाइल्स को रूट फाइल सिस्टम में डिलीट करें। ऊपर दी गई परिवीक्षा में मिली फ़ाइलों की सूची को प्रिंट करने के लिए / 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


कृपया वहां पाए गए कुछ विवरणों का विस्तार करें। बिट-रोट होता है, और जब यह उत्तर बेकार हो जाता है।
15ad में sysadmin1138 :

ठीक है, मैंने अपना जवाब अपडेट किया
मिखाइल

आदर करना। यह काम करता है
dotslash

सारांश: ./configuresudo make && sudo make DESTDIR=/var/tmp/git installsudo find /var/tmp/git -type f -printf '/%P\n' | sudo xargs -n 10 rm -f
वाहिद

3

मैं सिर्फ 2691 मेकफाइल की पंक्तियों के बावजूद गया। वास्तव में कोई स्थापना रद्द करें। Drat।

उस स्थिति में make rpmविकल्प का उपयोग करने के लिए वर्कअराउंड हो सकता है । आरपीएम स्थापित करें (सभी स्थापित फ़ाइलों को अधिलेखित करें, जो पहले से स्थापित फ़ाइलों के समान होना चाहिए)। फिर आरपीएम को डी-इंस्टॉल करें।

सभी भविष्य के मामलों में एक पैकेज (आरपीएम, यम, जो भी हो) का निर्माण करें। यह रखरखाव को इतना आसान बनाता है।


1
सिवाय इसके कि आमतौर पर make installउपसर्ग में सामान रखा जाता है /usr/localजबकि आरपीएम / डिब / अपने-पैकेज-यहां ./configureविभिन्न मापदंडों के साथ चलते हैं ताकि वे जो फाइलें स्थापित करते हैं वे उपसर्ग के साथ समाप्त हो जाएं /usr
पीटीमैन

मैं CentOS में नौसिखिया हूँ। मुझे क्या कमांड चलाना चाहिए? क्या आप अधिक समझा सकते हैं, कृपया
मिखाइल

मैंने make rpmकमान चलाई । मुझे आगे क्या करना चाहिए?
मिखाइल

के साथ शुरू करो man rpmया 'rpm --help। यह शायद आपको उपयोग करने के लिए बताएगा rpm -i packagename.rpm। हालांकि आपकी मदद करने के लिए छाता-वेब पर सिसादमिन पूछना सबसे अच्छा हो सकता है। केवल इतना है कि हम बहुत दूर से कर सकते हैं।
हेन्नेस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.