डेबियन 7 पर नवीनतम गिट में कैसे अपग्रेड करें?


14

मैंने डेब 7 पर apt-get के माध्यम से गिट स्थापित किया है जो मुझे देता है:

# git --version
git version 1.7.10.4

मैं गिट के अक्षांश संस्करण के लिए कुरूप करना चाहूंगा। मैंने कोशिश की है:

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git

लेकिन यह निम्नलिखित त्रुटियाँ देता है:

Fetched 6,944 B in 0s (10.1 kB/s)
W: Failed to fetch http://ppa.launchpad.net/git-core/ppa/ubuntu/dists/wheezy/main/source/Sources  404  Not Found

W: Failed to fetch http://ppa.launchpad.net/git-core/ppa/ubuntu/dists/wheezy/main/binary-amd64/Packages  404  Not Found

मैंने इस गाइड का पालन करने की भी कोशिश की है:

http://backports.debian.org/Instructions/

लेकिन मुझे अभी भी नवीनतम सुझाव नहीं मिल सकता है, कोई सुझाव?


1
स्रोत से संकलित क्यों नहीं किया जाता (INSTALL दस्तावेज़ में उस पर कुछ मदद है, यदि आप इसके लिए नए हैं)?
nerdwaller

यदि लॉन्चपैड स्रोत टूट गया है, तो मैं सीधे संग्रहीत वेबसाइट के लिए संग्रह डाउनलोड करूंगा।
रामौध

2
क्या आपको वास्तव में जरूरत है? ज्यादातर मामलों में, एक नया संस्करण स्थापित करना परेशानी के लायक नहीं है। क्या नए संस्करण में कोई विशेष सुविधा है जिसकी आपको आवश्यकता है? आपके पास कौन सा संस्करण है और आप कौन सा स्थापित करना चाहते हैं? वैसे भी, आप डेबियन के साथ पीपीए का उपयोग नहीं कर सकते हैं , वे एक उबंटू चीज हैं।
टेराडन

जवाबों:


12

अपडेट किया गया 2016-07-27: एक मट्ठा -बैकपोर्ट अब Git 1.9.1 के लिए उपलब्ध है । निर्देश अभी भी अधिक हाल के संस्करण को स्थापित करने या जेसी के लिए लागू होता है।


जब एक बैकपैक पैकेज का नया संस्करण उपलब्ध नहीं होता है, तो आपके पास दो विकल्प होते हैं:

  1. एक बैकपोर्ट तैयार करने के लिए पैकेज अनुरक्षकों से पूछें। यह काम करने की गारंटी नहीं है, लेकिन कुछ रखरखाव करने वाले बैकपोर्ट बनाने के बारे में सकारात्मक हैं, इसलिए मैं सिर्फ कोशिश करूंगा।

    अनुरक्षकों के ई-मेल वहाँ पाए जा सकते हैं ।

  2. इसका निर्माण स्वयं स्रोतों से करें। यह दो तरीके से किया जा सकता है:

    • स्रोत टारबॉल से "जैसा है" बनाएं। आप इस मार्ग चुनना चाहिए, सुनिश्चित हो स्थापित करने के लिए Git के निर्माण प्रणाली कॉन्फ़िगर करने के लिए सब कुछ के तहत ~/gitया /opt/gitया कुछ इस तरह अन्यथा बाद में तुम एक महान PITA को हटाने तुम क्या स्थापित करना होगा।

      समस्या यह है कि सॉफ्टवेयर को पूरे फाइल सिस्टम में फैलाकर स्थापित करने का पारंपरिक यूनिक्स तरीका समझदार है, लेकिन केवल तभी जब आपके पास किसी प्रकार की रजिस्ट्री हो, जो यह जानती हो कि कौन सी फाइल किस पैकेज और इसके विपरीत है, और पैकेजिंग सिस्टम जैसे डेबियन ठीक यही करो। यदि आप स्रोतों से निर्मित पैकेज की "सामान्य" स्थापना करते हैं, तो ज्यादातर मामलों में आपके पास बाद में सॉफ़्टवेयर के इस टुकड़े को अनइंस्टॉल करने का कोई तरीका नहीं होगा ( checkinstallइसके बजाय उपयोग करने की कमी make install, लेकिन यह वास्तव में एक अंतिम उपाय है)। इसके विपरीत, यदि आप एक एकल निर्देशिका के तहत सब कुछ स्थापित करने के लिए एक स्रोत पैकेज को कॉन्फ़िगर करते हैं, तो आपको सॉफ्टवेयर चलाने में मामूली कठिनाइयां होंगी (इसके "बाइनरी" निर्देशिका आपके पर नहीं होगी $PATH), बदले में इसे बाद में अनइंस्टॉल करना एक बिना दिमाग वाला होगा - एक भी rm -rf /path/to/that/dir

    • अपने आप को पीछे करना। यह अधिक शामिल है, लेकिन साधारण मामलों में यह काम कर सकता है इसलिए IMO यह प्रयास करने के लायक है।

      मूल रूप से आप इस तरह जाते हैं ( .dscफ़ाइल का लिंक अस्थिर अवस्था में पैकेज के पेज से लिया जाता है ):

      # apt-get install devscripts
      $ mkdir ~/devel && cd $_
      $ dget http://ftp.de.debian.org/debian/pool/main/g/git/git_2.1.4-2.1.dsc
      $ dpkg-source -x git_2.1.4-2.1.dsc
      $ cd git
      

      जांचें कि क्या आपके पास सभी निर्माण निर्भरताएं चलकर संतुष्ट हैं:

      $ dpkg-checkbuilddeps
      

      और वह सब कुछ स्थापित करें जो कहता है कि उपकरण वर्तमान में गायब है। कभी-कभी एक पैकेज कुछ ऐसे संस्करण का उल्लेख कर सकता है जो उस बैकरो में उपलब्ध होने के लिए बहुत ताज़ा हैं; इस मामले में debian/controlफ़ाइल में ऐसे पैकेज के संस्करण को धोखा देने और ठीक करने का प्रयास करना ठीक है ।

      अब बनाए जाने वाले पैकेजों के संस्करण को ठीक करें। इसे प्राप्त करने का सबसे अच्छा तरीका एक उपकरण को सही काम करना है:

      $ dch --bpo
      

      यह debian/changelogफ़ाइल में एक प्रविष्टि जोड़ देगा और इसे देखने के लिए आपकी पसंद का पाठ संपादक खोल देगा। बस संपादक को बंद करें - निर्मित किए जाने वाले पैकेजों का संस्करण इस फ़ाइल में शीर्ष प्रविष्टि से लिया गया है।

      अब वास्तव में निर्माण करने का प्रयास करते हैं:

      $ dpkg-buildpackage -uc -us -b
      

      यदि आप भाग्यशाली हैं, तो इस बिंदु पर आपके पास चमकदार नए गिट .debपैकेज का एक गुच्छा होगा .., जिसे आप केवल उपयोग करके स्थापित कर सकते हैं dpkg -i <packagename> ...

      ( debuild cleanनिर्मित क्रूड से छुटकारा पाने के लिए दौड़ें या बस gitनिर्देशिका को पूरी तरह से हटा दें । आप दौड़ने के बाद जो कुछ भी स्थापित करना चाहते हैं, उसे हटाना चाहते हैं dpkg-checkbuilddep।)

      दुर्भाग्य से, यदि इमारत किसी कारण से विफल हो जाती है, तो इसे ठीक करने के प्रयास में कुछ ज्ञान लगता है लेकिन यह इस चर्चा के दायरे से बाहर है।


@ डेरेकसन, आपके संपादन सुझाव के लिए धन्यवाद - मैं इसकी सराहना करता हूं! लेकिन क्या आप इस बारे में विस्तार से बता सकते हैं कि dgetजरूरत क्यों नहीं है? इसका पूरा बिंदु आपको स्रोत पैकेज बनाने वाली सभी फ़ाइलों को लाने के लिए है, ताकि आपके पास वास्तव में अनपैक, ट्विक और बिल्ड करने के लिए कुछ हो। केवल एक ही .dscफ़ाइल प्राप्त करना सिर्फ इतना ही होगा, लेकिन स्रोत और विखंडन टारबॉल गायब होंगे।
kostix

ओह, मेरी गलती है। कमांड के अनुक्रम ने मुझे धोखा दिया, क्योंकि केवल git_2.1.4-2.1.dsc फ़ाइल का उपयोग तर्क के रूप में स्पष्ट रूप से किया जाता है। मैंने सोचा था कि dpkg-source ने स्रोतों को प्राप्त किया है, लेकिन इसके लिए वास्तव में पैकेज फ़ाइलों की आवश्यकता होती है।
डेरेकसन

7

आप अभी भी उबंटू सटीक के लिए गिट पीपीए का उपयोग कर सकते हैं, यह उपयुक्त नवीनतम स्रोत से बनाने के लिए कह रहा है जो इसे वहां मिलता है। वितरण समान हैं कि यह ठीक काम करना चाहिए।

मैंने इसे रास्पियन पर सफलता के साथ इस्तेमाल किया (जो कि मट्ठा पर आधारित है) बांह के लिए पैकेज पाने के लिए, लेकिन यह किसी भी वास्तुकला के लिए काम करना चाहिए।

पहले PPA के लिए GPG कुंजी जोड़ें:

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E1DF1F24

स्रोत पैकेज के लिए URL को उपयुक्त में जोड़ें:

cat > /etc/apt/sources.list.d/git.list << EOF
deb-src http://ppa.launchpad.net/git-core/ppa/ubuntu precise main
EOF

उपयुक्त अद्यतन:

apt-get update

बिल्ड निर्भरता स्थापित करें:

apt-get build-dep git

स्रोत से गिट डाउनलोड और निर्माण करें। आप यह कर सकते हैं कि यह एक अस्थायी निर्देशिका है, क्योंकि निर्माण प्रक्रिया में थोड़ा सा बदलाव होता है:

apt-get -b source git

आपके द्वारा अभी-अभी बनाए गए और साफ किए गए पैकेज को स्थापित करें (git-core की अब आवश्यकता नहीं है):

dpkg -i git_*.deb git-man_*.deb
dpkg -P git-core

7

यदि आप डेबियन 7 (व्हीजी) में एक विशिष्ट पैकेज को अपग्रेड करना चाहते हैं, तो आपके पास अपने पंक्तियों / बस / ब्योरों को जोड़कर बैकपोर्ट का उपयोग करने का विकल्प है । निम्न पंक्तियों को सूचीबद्ध करें:

deb http://cloudfront.debian.net/debian wheezy-backports main
deb-src http://cloudfront.debian.net/debian wheezy-backports main

फिर, git को स्थापित / अपग्रेड करने के लिए , कमांड्स चलाएं:

$ aptitude update
$ aptitude -t wheezy-backports install git

आप /etc/apt/source.list.d/ में एक अलग फ़ाइल में बैकपोर्ट भी कॉन्फ़िगर कर सकते हैं। मैं विशेष रूप से /etc/apt/sources.list.d/backports.list फ़ाइल का उपयोग करना पसंद करता हूं ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.