CentOS 7.x / 6.x पर git का नवीनतम संस्करण कैसे स्थापित करें


232

मैंने हमेशा इस्तेमाल किया:

yum install git

इसने मेरे CentOS 6. पर git का नवीनतम संस्करण स्थापित नहीं किया। मैं CentOS 6 के लिए git के नवीनतम संस्करण को कैसे अपडेट कर सकता हूं? समाधान CentOS के नए संस्करणों जैसे कि CentOS 7 पर लागू हो सकता है।


11
हाँ यही है। यह पूरी तरह से एक सवाल पूछने और इसका जवाब देने के लिए सीमा के भीतर है जब यह उपयोगी जानकारी है जिसे संबोधित नहीं किया गया है।
द टीन मैन

जवाबों:


337

आप Git 2.x: CentOS 6 के लिए , CentOS 7 के लिए स्थापित करने के लिए WANDisco के CentOS रिपॉजिटरी का उपयोग कर सकते हैं

  1. WANDisco रेपो पैकेज स्थापित करें:

    yum install http://opensource.wandisco.com/centos/6/git/x86_64/wandisco-git-release-6-1.noarch.rpm
    - or -
    yum install http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-1.noarch.rpm
    - or -
    yum install http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm
    
  2. Git 2.x का नवीनतम संस्करण स्थापित करें:

    yum install git
    
  3. इंस्टॉल किए गए Git के संस्करण की पुष्टि करें:

    git --version
    

02 के रूप में मार्च 2020, WANDisco से नवीनतम उपलब्ध संस्करण है 2.22.0


9
यह उत्तर लागू होना चाहिए। पहले से लागू उत्तर --disablerepo=base,updatesमेरे लिए काम नहीं करता है।
किर्बी

1
और एफडब्ल्यूआईडब्ल्यू, 2016-11-08 के अनुसार, गिट का वैंडिस्को संस्करण 2.10 संस्करण तक है; आधिकारिक Git SCM विज्ञप्ति के अनुरूप।
जेकगोल्ड

6
यह वही है जिसने मेरे लिए काम किया है। स्वीकृत उत्तर की तुलना में बहुत सरल।
बेन वाटसन

1
फरवरी 2019 तक, इस रेपो को अपडेट मिलना बंद हो गया है: नवीनतम git v2.20.1 है, लेकिन रेपो में केवल v2.18.0 है
IanB

1
pgp कुंजी https के माध्यम से उपलब्ध नहीं है, क्या कोई और इसे सत्यापित कर सकता है?
user3338098

134

यहाँ ब्लॉग पर एक नज़र रखने के बाद मुझे टिप्पणियों में से एक में समाधान मिला। सुनिश्चित करें कि आपको rpmforgeअपने CentOS यम में रिपॉजिटरी मिला है और बस बहने वाली कमांड चलाएं:

yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git

यदि आपके पास पहले से ही स्थापित है तो उपयोग करें:

yum --disablerepo=base,updates --enablerepo=rpmforge-extras update git

संबंधित सवाल):

  1. CentOS 6.4 पर नवीनतम संस्करण में git को अपग्रेड करते समय समस्याओं का सामना करना

नोट अपडेट:

एंथोनी Hatzopoulos के लिए धन्यवाद, git v1.8xआप के रूप में git18 का उपयोग करने की आवश्यकता होगी:

yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git18 

नोट 2 अपडेट करें:

नीचे दिए गए संकेत के लिए @Axlrod और प्रतिक्रिया के लिए @Hiphip के लिए भी धन्यवाद:

सक्षम rpmforge.repoकरने के लिए फ़ाइल को बदलें rpmforge-extras, yum update git । अन्यथा यह निर्भरता समस्याओं के बारे में शिकायत करता है।

नोट 3 अपडेट करें:

Git के एक विशिष्ट संस्करण को स्थापित करते हुए कहते हैं 2. x मुझे यह अच्छा और आसान-से-सरल मार्गदर्शक मिला कि कैसे GIT स्रोत डाउनलोड करें और इसे स्वयं संकलित करें (और इसे स्थापित करें)। यदि स्वीकृत उत्तर आपको इच्छित संस्करण नहीं देता है, तो निम्न निर्देशों को आज़माएं:

http://tecadmin.net/install-git-2-0-on-centos-rhel-fedora/

(बाद में इसे हटा दिए जाने पर उपरोक्त स्रोत से चिपकाया / सुधार किया गया)

चरण 1: आवश्यक पैकेज स्थापित करें

सबसे पहले हमें यह सुनिश्चित करने की आवश्यकता है कि हमने आपके सिस्टम पर आवश्यक पैकेज स्थापित किए हैं। Git स्रोत संकलित करने से पहले आवश्यक पैकेजों को स्थापित करने के लिए निम्नलिखित कमांड का उपयोग करें।

# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
# yum install  gcc perl-ExtUtils-MakeMaker

चरण 2: पुराने Git RPM की स्थापना रद्द करें

अब RPM फ़ाइल या यम पैकेज प्रबंधक के माध्यम से Git की किसी भी पूर्व स्थापना को हटा दें। यदि आपका पुराना संस्करण भी स्रोत के माध्यम से संकलित किया गया है, तो इस चरण को छोड़ दें।

# yum remove git

चरण 3: डाउनलोड और संकलन स्रोत का संकलन करें

कर्नेल गिट से git सोर्स कोड डाउनलोड करें या Git 2.0.4 डाउनलोड करने के लिए केवल निम्न कमांड का उपयोग करें।

# cd /usr/src
# wget https://www.kernel.org/pub/software/scm/git/git-2.0.4.tar.gz
# tar xzf git-2.0.4.tar.gz

Git स्रोत कोड को डाउनलोड करने और निकालने के बाद, स्रोत कोड संकलित करने के लिए निम्नलिखित कमांड का उपयोग करें।

# cd git-2.0.4
# make prefix=/usr/local/git all
# make prefix=/usr/local/git install
#
# echo 'export PATH=$PATH:/usr/local/git/bin' >> /etc/bashrc
#  or
# echo 'export PATH=$PATH:/usr/local/git/bin' > /etc/profile.d/git.sh
#
# source /etc/bashrc

HINT 1: bashrc में संकलित गिट बिन निर्देशिका को जोड़ने की अद्यतन विधि। क्योंकि echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc"" के बजाय "" का उपयोग किया जाता है, यह मौजूदा सत्र के मूल्य को $ PATH के लिए एक चर के रूप में रखने के बजाय विस्तारित करेगा, और पूरे सिस्टम पर प्रतिकूल प्रभाव डाल सकता है। कम से कम, इसे "" के बजाय "'का उपयोग करना चाहिए और वास्तव में एक अलग स्क्रिप्ट होना चाहिए/etc/profile.d/

HINT 2 (@DJB): /usr/local/git/binइससे पहले $PATH, पुराने संस्करण git पहले से ही $ PATH पर था:export PATH=/usr/local/git/bin:$PATH

चरण 4. चेक संस्करण की जाँच करें

उपरोक्त चरणों के पूरा होने पर, आपने अपने सिस्टम में Git को सफलतापूर्वक स्थापित कर लिया है। Git वर्जन को चेक करने के लिए निम्न कमांड का उपयोग करें

# git --version

git version 2.0.4

मैं यह भी जोड़ना चाहता था कि जीआईटी वेबसाइट पर "गेटिंग स्टार्टेड" गाइड में यह भी शामिल है कि कैसे इसे स्वयं डाउनलोड और संकलित करने के निर्देश हैं:

http://git-scm.com/book/en/v2/Getting-Started-Installing-Git


3
यह केवल मुझे git v1.7x मिला। Git आप का उपयोग करना होगा v1.8x के लिए git18के रूप मेंyum --disablerepo=base,updates --enablerepo=rpmforge-extras install git18
एंथोनी Hatzopoulos

2
मेरे लिए काम नहीं किया, मुझे rpmforge.repo फ़ाइल को rpmforge-extras को सक्षम करने के लिए बदलना पड़ा, और उसके बाद yum अपडेट git करें। अन्यथा यह निर्भरता समस्याओं के बारे में शिकायत करता है। (चूंकि इसमें आधार से पैकेज की जरूरत थी)
एलेक्स आर

5
Rpmforge-एक्स्ट्रा कलाकार के लिए भंडार डेटा प्राप्त करने में त्रुटि, भंडार नहीं मिला - cent6.6 पर 1 cmd
नितिन

2
रनिंग yum --disablerepo=base,updates --enablerepo=rpmforge-extras list | grep gitकेवल सेंटोस 6.6 पर मेरे लिए Git 1.7.12 दिखाता है। शायद उन्होंने "git18" हटा दिया है?
जोसेफ लीड डे

26
wiki.centos.org/AdditionalResources/Repositories/RPMForge RPMForge / RepoForge एक मृत परियोजना है। इसका रखरखाव नहीं किया जाता है। प्रयोग नहीं करें।
माओज़ ज़दोक

91

रैकस्पेस ius रिपॉजिटरी को बनाए रखता है , जिसमें यथोचित अप-टू-डेट गिट होता है, लेकिन स्टॉक गिट को पहले हटाना होगा।

CentOS 7 निर्देश:

$ sudo yum install https://centos7.iuscommunity.org/ius-release.rpm
$ sudo yum erase git
$ sudo yum install epel-release 
$ sudo yum install git2u

CentOS 6 निर्देश:

$ sudo yum install https://centos6.iuscommunity.org/ius-release.rpm
$ sudo yum erase git
$ sudo yum install epel-release
$ sudo yum install git2u

अच्छा! उन rpmforge संकलन निर्देश काम नहीं किया था -Can't locate ExtUtils/MakeMaker.pm in @INC
Nakilon

इस एक ने मेरे लिए आज सबसे हालिया सेंटो के लिए काम किया, अन्य पुराने थे।
user5389726598465

3
इस पृष्ठ पर यह एकमात्र तरीका है जिसे मैंने कोशिश की है (7 सितंबर 2018 तक) जो CentOS के लिए अप-टू-डेट 2.x git सुनिश्चित करता है और यह भी सुनिश्चित करता है कि एक संकलित git-credential-libsecretस्थापित किया गया है, जो सबसे सुरक्षित ओएस-मूल साधन है जीआईटी क्रेडेंशियल्स के भंडारण के लिए, उदाहरण के लिए http [s] URL के लिए। लेखन के समय वर्तमान में स्वीकृत उत्तर ( stackoverflow.com/a/21820716/407170 ) इन चीजों को नहीं करता है और आपको खुद को संकलित करने की आवश्यकता होती है।
लेस हेजलवुड

यदि आप इसका उपयोग करना चाहते हैं तो Ansible का उपयोग करके, मैं github.com/iuscommunity/automation-examples/blob/… (या अन्य समाधानों के लिए github.com/iuscommunity/automation-examples ) की जाँच करने की सलाह देता हूं
jbmusso

84

मुझे यह अच्छा और आसान-से-सरल गाइड मिला कि कैसे जीआईटी स्रोत डाउनलोड करें और इसे स्वयं संकलित करें (और इसे स्थापित करें)। यदि स्वीकृत उत्तर आपको इच्छित संस्करण नहीं देता है, तो निम्न निर्देशों को आज़माएं:

http://tecadmin.net/install-git-2-0-on-centos-rhel-fedora/

(बाद में इसे हटा दिए जाने पर उपरोक्त स्रोत से चिपकाया / सुधार किया गया)

चरण 1: आवश्यक पैकेज स्थापित करें

सबसे पहले हमें यह सुनिश्चित करने की आवश्यकता है कि हमने आपके सिस्टम पर आवश्यक पैकेज स्थापित किए हैं। Git स्रोत संकलित करने से पहले आवश्यक पैकेजों को स्थापित करने के लिए निम्नलिखित कमांड का उपयोग करें।

# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
# yum install  gcc perl-ExtUtils-MakeMaker

चरण 2: पुराने Git RPM की स्थापना रद्द करें

अब RPM फ़ाइल या यम पैकेज प्रबंधक के माध्यम से Git की किसी भी पूर्व स्थापना को हटा दें। यदि आपका पुराना संस्करण भी स्रोत के माध्यम से संकलित किया गया है, तो इस चरण को छोड़ दें।

# yum remove git

चरण 3: डाउनलोड और संकलन स्रोत का संकलन करें

कर्नेल गिट से git स्रोत कोड डाउनलोड करें या Git 2.5.3 डाउनलोड करने के लिए केवल निम्नलिखित कमांड का उपयोग करें।

# cd /usr/src
# wget https://www.kernel.org/pub/software/scm/git/git-2.5.3.tar.gz
# tar xzf git-2.5.3.tar.gz

Git स्रोत कोड को डाउनलोड करने और निकालने के बाद, स्रोत कोड संकलित करने के लिए निम्नलिखित कमांड का उपयोग करें।

# cd git-2.5.3
# make prefix=/usr/local/git all
# make prefix=/usr/local/git install
# echo 'pathmunge /usr/local/git/bin/' > /etc/profile.d/git.sh 
# chmod +x /etc/profile.d/git.sh
# source /etc/bashrc

चरण 4. चेक संस्करण की जाँच करें

उपरोक्त चरणों के पूरा होने पर, आपने अपने सिस्टम में Git को सफलतापूर्वक स्थापित कर लिया है। Git वर्जन को चेक करने के लिए निम्न कमांड का उपयोग करें

# git --version

git version 2.5.3

मैं यह भी जोड़ना चाहता था कि जीआईटी वेबसाइट पर "गेटिंग स्टार्टेड" गाइड में यह भी शामिल है कि कैसे इसे स्वयं डाउनलोड और संकलित करने के निर्देश हैं:

http://git-scm.com/book/en/v2/Getting-Started-Installing-Git


1
पुन: चरण 3। पथ की स्थापना, मैंने पाया कि यह ( serverfault.com/a/303824 ) बेहतर काम करता है: # इको ​​'पाथमुनगे / usr / स्थानीय / गिट / बिन /'> /etc/profile.d/git.sh / chmod + x /etc/profile.d/git.sh
केनेथ बेंजामिन

3
मैंने सेंटोस 6.5 पर कोशिश की और नवीनतम (आज) जीआईटी संस्करण 2.5.3 की कोशिश की, और एक आकर्षण की तरह काम करता है। wget https://www.kernel.org/pub/software/scm/git/git-2.5.3.tar.gz
विल्लिंको

1
2.7.4 और CentOS 6.5 के साथ काम करना - धन्यवाद
Moe

1
इसने मुझे अपने git स्थानीय क्लाइंट के साथ समानता रखने के लिए 2.10.1 को स्थापित करने की अनुमति दी। निर्देशों का भयानक सेट।
TinkerTenorSoftwareGuy

2
यदि आप अभी भी पाते हैं कि गिट स्थापित नहीं है, तो यह रोगाणु के कारण हो सकता है। आप अपने वातावरण में git जोड़ने के लिए निम्न आदेशों का उपयोग कर सकते हैं। echo "export PATH=/usr/local/git/bin:$PATH" >> /etc/bashrcऔर फिर source /etc/bashrc
mshakeel

10

मेरी व्यक्तिगत प्राथमिकता गैर-मानक सॉफ़्टवेयर स्थापित करने और वितरित घटकों को बदलने के दौरान CentOS के लिए rpm संकुल बनाना है। इसके लिए मेरा सुझाव है कि आप स्वच्छ बिल्ड वातावरण बनाने के लिए मॉक का उपयोग करें।

प्रक्रिया है:

  1. स्रोत RPMS या एक उपयुक्त युक्ति फ़ाइल और प्राचीन स्रोत टारबॉल प्राप्त करें। इस मामले में एक CentOS -6 में के लिए git2X के लिए स्रोत RPM पैकेज मिल सकता है: http://dl.iuscommunity.org/pub/ius/archive/CentOS/6/SRPMS/। अन्य CentOS रिलीज़ के लिए पैकेज भी उपलब्ध हैं।

  2. आवश्यक समर्थन सॉफ़्टवेयर स्थापित करें:

    yum install epel-release  # you need this for mock
    yum install rpm-build
    yum install redhat-rpm-config
    yum install rpmdevtools
    yum install mock
    
  3. एक आरपीएम बिल्ड उपयोगकर्ता खाता जोड़ें ( रूट या वास्तविक उपयोगकर्ता के रूप में निर्माण न करें - सुरक्षा मुद्दे आपको काटने के लिए वापस आ जाएंगे )।

    sudo adduser builder --home-dir /home/builder \
    --create-home --user-group --groups mock \
    --shell /bin/bash --comment "rpm package builder"
    
  4. आगे हमें एक निर्माण वातावरण की आवश्यकता है।

    su -l builder
    rpmdev-setuptree
    

    यह निम्न निर्देशिका संरचना का उत्पादन करता है:

    ~
    └── rpmbuild
        ├── BUILD
        ├── RPMS
        ├── SOURCES
        ├── SPECS
        └── SRPMS
    
  5. हम एक तैयार SRPMS का उपयोग कर रहे हैं ताकि SOURCES टारबॉल को इस मामले के लिए नजरअंदाज किया जा सके और हम SRPMS पर सीधे जा सकें।

    wget http://dl.iuscommunity.org/pub/ius/archive/CentOS/6/SRPMS/git2u-2.5.3-1.ius.centos6.src.rpm \
    -O ~/rpmbuild/SRPMS/git2u-2.5.3-1.ius.centos6.src.rpm
    
  6. मॉक कॉन्फ़िगर करें (रूट के रूप में)

    cd /etc/mock
    rm default.cfg
    ln -s epel-6-x86_64.cfg default.cfg
    vim default.cfg
    

    betaरेपो को अक्षम करें । सक्षम करें baseऔर updateरिपोज करें।

  7. बिल्ड ट्री को प्रारंभ करें (/ var / lib / mock डिफ़ॉल्ट है)

    mock --init
    
  8. यदि हम स्रोत से निर्माण कर रहे थे, तो यह वह जगह है जहाँ हम कल्पना फ़ाइल और उपयोग को नियोजित करेंगे mock --buildsrpm . . .। लेकिन इस मामले में हम सीधे बाइनरी बिल्ड चरण पर जाते हैं:

    mock --no-clean --rebuild ~/rpmbuild/SRPMS/git2u-2.5.3-1.ius.centos6.src.rpm
    

    यह बिल्ड निर्भरता को हल करेगा और उन्हें (लगभग 95 या तो पैकेज) स्वच्छ बिल्ड रूट में डाउनलोड करेगा। यह तब स्रोतों को निकालेगा और बशर्ते एसआरपीएम से बाइनरी का निर्माण करेगा और इसे अंदर छोड़ देगा /var/lib/mock/epel-6-x86_64/result; या जो भी कस्टम बिल्ड रूट लोकेशन और आर्किटेक्चर आप प्रदान करते हैं। इसके लिए काफी समय लगेगा। इस पैकेज के लिए बहुत कुछ है; विशेष रूप से प्रलेखन।

  9. यदि सब ठीक हो जाता है तो आपको डिस्ट्रो वर्जन के स्थान पर इंस्टालेशन के लिए उपयुक्त RPM पैकेज का एक सूट तैयार करना चाहिए। यह वही है जो मैंने समाप्त किया:

    ll /var/lib/mock/epel-6-x86_64/result
    total 34996
    -rw-rw-r--. 1 byrnejb mock   448455 Oct 30 10:09 build.log
    -rw-rw-r--. 1 byrnejb mock    52464 Oct 30 10:09 emacs-git2u-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock    47228 Oct 30 10:09 emacs-git2u-el-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock  8474478 Oct 30 09:57 git2u-2.5.3-1.ius.el6.src.rpm
    -rw-rw-r--. 1 byrnejb mock  8877584 Oct 30 10:09 git2u-2.5.3-1.ius.el6.x86_64.rpm
    -rw-rw-r--. 1 byrnejb mock    27284 Oct 30 10:09 git2u-all-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock    27800 Oct 30 10:09 git2u-bzr-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock   112564 Oct 30 10:09 git2u-cvs-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock   436176 Oct 30 10:09 git2u-daemon-2.5.3-1.ius.el6.x86_64.rpm
    -rw-rw-r--. 1 byrnejb mock 15858600 Oct 30 10:09 git2u-debuginfo-2.5.3-1.ius.el6.x86_64.rpm
    -rw-rw-r--. 1 byrnejb mock    60556 Oct 30 10:09 git2u-email-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock   274888 Oct 30 10:09 git2u-gui-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock    79176 Oct 30 10:09 git2u-p4-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock   483132 Oct 30 10:09 git2u-svn-2.5.3-1.ius.el6.x86_64.rpm
    -rw-rw-r--. 1 byrnejb mock   173732 Oct 30 10:09 gitk2u-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock   115692 Oct 30 10:09 gitweb2u-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock    57196 Oct 30 10:09 perl-Git2u-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock    89900 Oct 30 10:09 perl-Git2u-SVN-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock   101026 Oct 30 10:09 root.log
    -rw-rw-r--. 1 byrnejb mock      980 Oct 30 10:09 state.log
    
  10. यम या आरपीएम का उपयोग करके स्थापित करें।

    आपको git2u-2.5.3-1.ius.el6.x86_64.rpmन्यूनतम और ऐसे अतिरिक्त समर्थन पैकेजों की आवश्यकता होगी , क्योंकि इसमें ( perl-Git2u-2.5.3-1.ius.el6.noarch.rpm) या आप की इच्छा है।

    इस बिल्ड में चक्रीय निर्भरता है: git2u-2.5.3-1.ius.el6.x86_64.rpmनिर्भर करता है perl-Git2u-2.5.3-1.ius.el6.noarch.rpmऔर perl-Git2u-2.5.3-1.ius.el6.noarch.rpmनिर्भर करता है git2u-2.5.3-1.ius.el6.x86_64.rpmrpmइस तरह से एक सीधे स्थापित विफल हो जाएगा।

    इससे निपटने के दो तरीके हैं:

    • यम के माध्यम से एक ही समय में दोनों को स्थापित करें:

      yum localinstall \
        git2u-2.5.3-1.ius.el6.x86_64.rpm \
        perl-Git2u-2.5.3-1.ius.el6.noarch.rpm`
      
    • एक स्थानीय यम रेपो सेटअप करें।

      मैं LocalFile.repoनीचे अपनी फ़ाइल शामिल कर रहा हूं क्योंकि इसमें यह करने के निर्देश हैं और एक ही समय में आवश्यक रेपो फ़ाइल प्रदान करता है।

cat /etc/yum.repos.d/LocalFile.repo
# LocalFile.repo
#
#  This repo is used with a local filesystem repo.
#
# To use this repo place the rpm package in /root/RPMS/yum.repo/Packages.
# Then run: createrepo --database --update /root/RPMS/yum.repo.
#
# To use:
#  yum --enablerepo=localfile [command]
#  
# or to use only ONLY this repo, do this:
#
#  yum --disablerepo=\* --enablerepo=localfile [command]

[localfile]
baseurl=file:///root/RPMS/yum.repo
name=CentOS-$releasever - Local Filesystem repo

# Before persistently enabling this repo see the priority note below.
enabled=0
gpgcheck=0

# When this repo is enabled all packages in repos with priority>5
# will not be updated even when they have a more recent version.
# Be careful with this.
priority=5

आपको perl-TermReadKeyसामान्य रिपॉजिटरी से उपलब्ध अतिरिक्त निर्भरता पैकेज को मैन्युअल रूप से प्री-इंस्टॉल करने की भी आवश्यकता हो सकती है।


यदि आप कल्पना फ़ाइल का संपादन नहीं करने जा रहे हैं, तो सीधे IUS बाइनरी पैकेज का उपयोग क्यों न करें?
carlwgeorge

5

CentOS 6 पर आधुनिक गिट बनाने और स्थापित करने के लिए:

yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
export GIT_VERSION=2.6.4
mkdir /root/git
cd /root/git
wget "https://www.kernel.org/pub/software/scm/git/git-${GIT_VERSION}.tar.gz"
tar xvzf "git-${GIT_VERSION}.tar.gz"
cd git-${GIT_VERSION}
make prefix=/usr/local all
make prefix=/usr/local install
yum remove -y git
git --version # should be GIT_VERSION

5

जैसा कि गिट कहते हैं :

आरएचईएल और डेरिवेटिव आमतौर पर गिट के पुराने संस्करणों को जहाज करते हैं। आप टारबॉल डाउनलोड कर सकते हैं और स्रोत से निर्माण कर सकते हैं, या एक 3-पार्टी रिपॉजिटरी का उपयोग कर सकते हैं, जैसे कि IUS कम्युनिटी प्रोजेक्ट के बारे में और अधिक हालिया संस्करण प्राप्त करने के लिए।

यहाँ अच्छा ट्यूटोरियल है । मेरे मामले में (Centos7 सर्वर) स्थापित करने के बाद लॉगआउट करना और फिर से लॉगिन करना था।


4

gitCentos 6/7 पर नवीनतम संस्करण बनाएँ

आरपीएम के निर्माण के लिए प्रणाली तैयार करना

  1. स्थापित करें:

    EL6 के लिए, उपयोग करें:

    sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm  
    

    EL7 के लिए, उपयोग करें:

    sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    
  2. स्थापित करें fedpkg:

    sudo yum install fedpkg
    
  3. अपने आप को ग्रुप मॉक में जोड़ें (आपको इस परिवर्तन के बाद सर्वर में पुनः लॉगिन करने की आवश्यकता हो सकती है):

    sudo usermod -a -G mock $USER
    

डाउनलोड git

  1. डाउनलोड gitस्रोत:

    fedpkg clone -a git && cd git
    fedpkg sources
    
  2. स्रोतों की पुष्टि करें:

    sha512sum -c sources
    

आरपीएम का निर्माण करें

  1. Srmp बनाएँ। el6RHEL7 के लिए, RHEL6 के लिए उपयोग करें el7

    fedpkg --dist el7 srpm
    
  2. नकली में पैकेज बनाएँ:

    mock -r epel-7-x86_64 git-2.16.0-1.el7.src.rpm
    
  3. से gitrpm का नवीनतम संस्करण स्थापित करें /var/lib/mock/epel-7-x86_64/result/। ध्यान दें, आपको पहले अपने सिस्टम से git के मौजूदा संस्करण को अनइंस्टॉल करने की आवश्यकता हो सकती है।

यह निर्देश टॉड जुल्िंगर द्वारा मेलिंग सूची पोस्ट पर आधारित है ।


1
बहुत बढ़िया जवाब। इसे पैकेज मैनेजमेंट के तहत रखें। अनधिकृत रिपोज का उपयोग करने या स्रोत से स्थापित करने से बहुत बेहतर है। मैंने हमेशा ब्राउज़र के माध्यम से फेडोरा पैकेज साइट से src पैकेज डाउनलोड किया है, लेकिन यह एक बहुत क्लीनर समाधान है। धन्यवाद!
ओरोडबैन

3

यहाँ एक गोलमटोल उत्तर जोड़ना। मैं आरएचईएल 6.0 अमेज़ॅन उदाहरण पर गिट स्थापित करने के लिए संघर्ष कर रहा था, और जो मुझे बचा रहा था वह था ... कोंडा, जैसा कि एना कोंडा पायथन में है।

मैं से कमांड लाइन पर conda स्थापित अभिलेखागार (कोड के बाद मॉडलिंग की इस ):

wget http://repo.continuum.io/miniconda/Miniconda2-4.2.12-Linux-x86_64.sh -O ~/miniconda.sh
bash ~/miniconda.sh -b -p $HOME/miniconda
export PATH="$HOME/miniconda/bin:$PATH"

और फिर भाग गया

conda install git

और एक अपेक्षाकृत हाल ही में संस्करण गिट स्थापित किया गया था। आज 12/26/2016 है और संस्करण 2.9.3 है।


1

यहाँ सेंट 6 पर गिट स्थापित करने की मेरी विधि है।

sudo yum groupinstall "Development Tools"
sudo yum install zlib-devel perl-ExtUtils-MakeMaker asciidoc xmlto openssl-devel curl-devel
sudo yum install wget
cd ~
wget -O git.zip https://github.com/git/git/archive/v2.7.2.zip
unzip git.zip
cd git-2.7.2
make configure
./configure --prefix=/usr/local
make all doc
sudo make install install-doc install-html

मेरे अनुभव (सेंटोस 6.7) में, आपको भी होना चाहिए yum install libcurl-devel
jgrump2012

1

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

मुझे लगता है कि ज्यादातर लोग CentOS पर नवीनतम git का निर्माण करना पसंद नहीं करते हैं क्योंकि निर्भरताएं मेजबान को दूषित करेंगी और आपको बहुत सारी कमांड्स चलानी होंगी। इसलिए, मेरे पास एक विचार है जो डॉकर कंटेनर के अंदर गिट का निर्माण कर रहा है और फिर डॉक्यूम वॉल्यूम माउंट के माध्यम से निष्पादन योग्य स्थापित करता है। उसके बाद, आप छवि और कंटेनर को हटा सकते हैं।

हां, नकारात्मक पक्ष यह है कि आपको डॉकटर इंस्टॉल करना होगा। लेकिन कम से कम निर्भरता मेजबान को पेश की जाती है और आपको अन्य यम रेपो स्थापित करने की आवश्यकता नहीं होती है।

यहाँ मेरा भंडार है। https://github.com/wood1986/docker-library/tree/master/git


0

यदि पहले से स्थापित git पहले पुराने git को हटाता है

sudo yum remove git*

IUS CentOS 7 रेपो जोड़ें

sudo yum -y install  https://centos7.iuscommunity.org/ius-release.rpm
sudo yum -y install  git2u-all

अब git2u-all पैकेज स्थापित करने के बाद git संस्करण की जाँच करें। यदि आपके मशीन पर डॉकटर स्थापित है, तो आईयूएस-रिलीज़ समस्या पैदा कर सकता है।

git --version

बिंगो !!


-3

यह बहुत भ्रामक और खतरनाक हो सकता है, अपस्ट्रीम बेस रिपोजिटरी को ऐड-ऑन रिपोजिटरी के साथ काफी परीक्षण और विचार के बिना बदलने के लिए। RPMforge, विशेष रूप से, प्रभावी रूप से रुकावट है और इसे अपडेट नहीं मिल रहा है।

मैं व्यक्तिगत रूप से git 2.4 के निर्माण के लिए उपकरण प्रकाशित करता हूं, जिसे https://github.com/nkadel/git24-srpm/ पर वैकल्पिक रूप से "git24" पैकेज के रूप में लपेटा गया है । बेझिझक उन तक पहुँच और कांटा लगाइए, यदि आप चाहते हैं कि संकुल मानक प्रणाली संकुल से अलग हो, जितना कि "सांबा" और "सांबा 4" पैकेज विभेदित हैं।


1
कई बार अपने स्वयं के संसाधनों / वेबसाइटों से लिंक करना ठीक है, लेकिन कृपया सुनिश्चित करें कि आपकी पोस्ट अभी भी पर्याप्त रूप से पूर्ण उत्तर प्रदान करती है, भले ही आपका लिंक काम नहीं करता हो (संयोग से, यह पहले से काम नहीं करता है)
हेडन शिफ

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