linux - كيفية تثبيت أحدث إصدار من بوابة على CentOS 7.x/6.x




git installation (8)

بناء أحدث نسخة من git على Centos 6/7

إعداد نظام لبناء rpms

  1. تثبيت Epel:

    بالنسبة إلى 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. استخدم el6 لـ RHEL6، el7 لـ RHEL7.

    fedpkg --dist el7 srpm
    
  2. إنشاء حزمة في محاكاة:

    mock -r epel-7-x86_64 git-2.16.0-1.el7.src.rpm
    
  3. قم بتثبيت أحدث إصدار من git rpm من /var/lib/mock/epel-7-x86_64/result/ . ملاحظة ، قد تحتاج إلى إلغاء تثبيت الإصدار الحالي من git من النظام أولاً.

يعتمد هذا التعليمة على نشر قائمة بريدية بواسطة تود زولينجر .

اعتدت على المعتاد:

yum install git

لم تقم بتثبيت أحدث إصدار من بوابة Git على جهاز CentOS 6. كيف يمكنني التحديث إلى أحدث إصدار من git لـ CentOS 6؟ يمكن تطبيق الحل على الإصدارات الأحدث من CentOS مثل CentOS 7.


أفضلي الشخصي هو إنشاء حزم rpm لـ CentOS عند تثبيت برنامج غير قياسي واستبدال المكونات الموزعة. لهذا نوصي باستخدام Mock لإنشاء بيئة بناء نظيف.

الإجراء هو:

  1. احصل على RPMS المصدر أو ملف SPEC مناسب و troll ball المصدر المصدر. في هذه الحالة ، يمكن للمرء العثور على حزم RPM المصدر لـ git2X لـ CentOS-6 على: 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. إضافة حساب مستخدم بناء rpm ( لا تبني كجذر أو كمستخدم حقيقي - ستعود مشاكل الأمان إلى عضة لك ).

    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 معدة بحيث يمكن تجاهل المصادر الكربونية لهذه الحالة ويمكننا الذهاب مباشرة إلى 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
    

    تعطيل repos beta . تمكين base update repos.

  7. تهيئة شجرة الإنشاء (/ var / lib / mock الافتراضي)

    mock --init
    
  8. إذا كنا نبني من مصادر ، فهذا هو المكان الذي نستخدم فيه ملف SPEC ونستخدم mock --buildsrpm . . . mock --buildsrpm . . . . لكن في هذه الحالة نذهب مباشرة إلى خطوة البناء الثنائية:

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

    سيؤدي ذلك إلى حل تبعيات الإنشاء وتنزيلها (حوالي 95 حزمة أو ما إلى ذلك) في جذر الإنشاء النظيف. سوف يقوم بعد ذلك باستخراج المصادر وبناء الملف الثنائي من الـ SRPM المقدم وتركها في /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. التثبيت باستخدام yum أو rpm.

    سوف تحتاج إلى 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 تبعية دورية: 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 يعتمد perl-Git2u-2.5.3-1.ius.el6.noarch.rpm على git2u-2.5.3-1.ius.el6.x86_64.rpm . ومن ثم فإن التثبيت المباشر مع rpm سوف يفشل.

    هناك طريقتان للتعامل معها:

    • تثبيت كلاهما في نفس الوقت عبر yum:

      yum localinstall \
        git2u-2.5.3-1.ius.el6.x86_64.rpm \
        perl-Git2u-2.5.3-1.ius.el6.noarch.rpm`
      
    • إعداد المحلية repum yum.

      أقوم بتضمين ملف LocalFile.repo أدناه لأنه يحتوي على إرشادات حول كيفية القيام بذلك ويوفر ملف 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 المتوفرة من المستودعات المعتادة.


بعد إلقاء نظرة على المدونة here وجدت الحل في أحد التعليقات. تأكد من أنك قمت بإضافة مستودع rpmforge إلى حسابك في CentOS yum وقم فقط بتشغيل الأمر المتدفق:

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

إذا كنت قد قمت بالفعل بتثبيت git ثم استخدم:

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

أسئلة ذات صلة):

  1. تواجه مشاكل أثناء ترقية بوابة إلى أحدث إصدار على CentOS 6.4

ملاحظة التحديث:

شكرا ل Anthony Hatzopoulos ، ل git v1.8x ستحتاج إلى استخدام git18 كما هو الحال في:

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

ملاحظة التحديث 2:

أيضا بفضلAxlrod للتلميح أدناه وHiphip للتغذية المرتدة:

قم بتغيير ملف 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 القديم

الآن قم بإزالة أي تثبيت مسبق لـ Git من خلال RPM file أو Yum package manager. إذا تم أيضًا تجميع إصدارك القديم من خلال المصدر ، فيمكنك تخطي هذه الخطوة.

# yum remove git

الخطوة 3: تنزيل وتجميع مصدر Git

قم بتنزيل git source code من kernel 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: تم تحديث طريقة إضافة git bin إلى bashrc. نظرًا لأن echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/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

# git --version

git version 2.0.4

أردت أيضًا أن أضيف أن دليل "Getting Started" في موقع GIT الإلكتروني يتضمن أيضًا تعليمات حول كيفية تنزيله وتجميعه بنفسك:

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


تحتفظ Rackspace بمستودع 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

لبناء Git الحديثة على 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

لقد وجدت هذا الدليل اللطيف والسهل المتابعة بشأن كيفية تنزيل مصدر 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 القديم

الآن قم بإزالة أي تثبيت مسبق لـ Git من خلال RPM file أو Yum package manager. إذا تم أيضًا تجميع إصدارك القديم من خلال المصدر ، فيمكنك تخطي هذه الخطوة.

# yum remove git

الخطوة 3: تنزيل وتجميع مصدر Git

قم بتنزيل git source code من kernel 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

# git --version

git version 2.5.3

أردت أيضًا أن أضيف أن دليل "Getting Started" في موقع GIT الإلكتروني يتضمن أيضًا تعليمات حول كيفية تنزيله وتجميعه بنفسك:

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


هنا طريقي لتثبيت git على centos 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

يمكنك استخدام WANDisco's CentOS مستودع لتركيب Git 2.x: لـ CentOS 6 ، لـ CentOS 7

  1. تثبيت حزمة repand 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
    

اعتبارًا من 18 من آب 2017 ، أحدث إصدار متاح من WANDisco هو 2.14.1.







yum