Her zamanki gibi kullandım:
yum install git
Git'in en son sürümünü CentOS 6'ya yüklemedi. CentOS 6 için git'in en son sürümüne nasıl güncelleyebilirim? Çözüm, CentOS 7 gibi daha yeni CentOS sürümlerine uygulanabilir.
Her zamanki gibi kullandım:
yum install git
Git'in en son sürümünü CentOS 6'ya yüklemedi. CentOS 6 için git'in en son sürümüne nasıl güncelleyebilirim? Çözüm, CentOS 7 gibi daha yeni CentOS sürümlerine uygulanabilir.
Yanıtlar:
Git 2.x'i yüklemek için WANDisco'nun CentOS deposunu kullanabilirsiniz: CentOS 6 için, CentOS 7 için
WANDisco repo paketini kurun:
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
Git 2.x'in en son sürümünü yükleyin:
yum install git
Yüklü Git sürümünü doğrulayın:
git --version
02 Mart 2020 itibarıyla, WANDisco'nun en son sürümü 2.22.0'dır .
--disablerepo=base,updates
benim için çalışmıyor.
Buradaki bloga bir göz atarak yorumlardan birinde çözümü buldum. rpmforge
Depoyu CentOS yum'unuza eklediğinizden emin olun ve sadece akan komutu çalıştırın:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git
Git zaten yüklüyse şunu kullanın:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras update git
İlgili sorular):
Anthony Hatzopoulos sayesinde, git v1.8x
git18'i aşağıdaki gibi kullanmanız gerekir:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git18
Ayrıca aşağıdaki ipucu için @Axlrod ve geri bildirim için @Hiphip'e teşekkürler:
Etkinleştirilecek
rpmforge.repo
dosyayı değiştirin ,. Aksi takdirde bağımlılık sorunlarından şikayetçi oldu.rpmforge-extras
yum update git
Git say 2.x'in belirli bir sürümünü yüklemek, GIT kaynağını nasıl indireceğiniz ve kendiniz derleyeceğiniz (ve yükleyeceğiniz) hakkında bu güzel ve takip edilmesi kolay kılavuzu buldum. Kabul edilen cevap size istediğiniz sürümü vermezse, aşağıdaki talimatları deneyin:
http://tecadmin.net/install-git-2-0-on-centos-rhel-fedora/
(Ve daha sonra kaldırılması durumunda yukarıdaki kaynaktan yapıştırıldı / yeniden biçimlendirildi)
Adım 1: Gerekli Paketleri Yükleyin
Öncelikle sisteminize gerekli paketleri yüklediğimizden emin olmalıyız. Git kaynağını derlemeden önce gerekli paketleri yüklemek için aşağıdaki komutu kullanın.
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
# yum install gcc perl-ExtUtils-MakeMaker
Adım 2: Eski Git RPM'sini kaldırın
Şimdi Git'in önceki yüklemelerini RPM dosyası veya Yum paket yöneticisi aracılığıyla kaldırın. Eski sürümünüz kaynak yoluyla da derlenmişse bu adımı atlayın.
# yum remove git
3. Adım: Git Kaynağını İndirin ve Derleyin
Git kaynak kodunu çekirdek git'ten indirin veya Git 2.0.4'ü indirmek için aşağıdaki komutu kullanın.
# 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 kaynak kodunu indirip çıkardıktan sonra, kaynak kodu derlemek için aşağıdaki komutu kullanın.
# 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
İPUCU 1: Derlenmiş git bin dizinini bashrc'ye ekleme yöntemi güncellendi. Çünkü
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
"" yerine '' kullanılan, bir değişken olarak tutmanın $ yerine PATH şu anki oturumun değerini artıracağı ve olumsuz tüm sistemi etkileyebilir. En azından "" yerine "" kullanmalı ve gerçekten ayrı bir komut dosyası olmalıdır./etc/profile.d/
İPUCU 2 (@DJB):
/usr/local/git/bin
önce$PATH
, Git eski sürümü $ PATH zaten bir başlangıcı:export PATH=/usr/local/git/bin:$PATH
Adım 4. Git Sürümünü Kontrol Edin
Yukarıdaki adımların tamamlanmasından sonra, Git'i sisteminize başarıyla yüklediniz. Git sürümünü kontrol etmek için aşağıdaki komutu kullanalım
# git --version
git version 2.0.4
Ayrıca GIT web sitesindeki "Başlarken" kılavuzunun da kendiniz nasıl indirilip derleneceğine ilişkin talimatlar içerdiğini eklemek istedim:
http://git-scm.com/book/en/v2/Getting-Started-Installing-Git
git18
olduğu gibi kullanmanız gerekiryum --disablerepo=base,updates --enablerepo=rpmforge-extras install git18
yum --disablerepo=base,updates --enablerepo=rpmforge-extras list | grep git
sadece Git 1.7.12'yi Centos 6.6'da gösteriyor. Belki de "git18" i kaldırmışlardır?
Rackspace , makul bir güncel gitme içeren ius deposunu korur , ancak önce stok git kaldırılmalıdır.
CentOS 7 talimatları:
$ 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 talimatları:
$ sudo yum install https://centos6.iuscommunity.org/ius-release.rpm
$ sudo yum erase git
$ sudo yum install epel-release
$ sudo yum install git2u
Can't locate ExtUtils/MakeMaker.pm in @INC
git-credential-libsecret
bir kurulumun sağlanmasını sağlayan denediğim tek yöntemdir (7 Eylül 2018 itibariyle) git kimlik bilgilerini depolamak için, örneğin http [s] URL'leri için. Yazma sırasında şu anda kabul edilen cevap ( stackoverflow.com/a/21820716/407170 ) bunları yapmaz ve kendinizi derlemenizi gerektirir.
GIT kaynağını nasıl indireceğiniz ve kendiniz derleyeceğiniz (ve yükleyeceğiniz) hakkında bu güzel ve takip edilmesi kolay kılavuzu buldum. Kabul edilen cevap size istediğiniz sürümü vermezse, aşağıdaki talimatları deneyin:
http://tecadmin.net/install-git-2-0-on-centos-rhel-fedora/
(Ve daha sonra kaldırılması durumunda yukarıdaki kaynaktan yapıştırıldı / yeniden biçimlendirildi)
Adım 1: Gerekli Paketleri Yükleyin
Öncelikle sisteminize gerekli paketleri yüklediğimizden emin olmalıyız. Git kaynağını derlemeden önce gerekli paketleri yüklemek için aşağıdaki komutu kullanın.
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
# yum install gcc perl-ExtUtils-MakeMaker
Adım 2: Eski Git RPM'sini kaldırın
Şimdi Git'in önceki yüklemelerini RPM dosyası veya Yum paket yöneticisi aracılığıyla kaldırın. Eski sürümünüz kaynak yoluyla da derlenmişse bu adımı atlayın.
# yum remove git
3. Adım: Git Kaynağını İndirin ve Derleyin
Git kaynak kodunu çekirdek git'ten indirin veya Git 2.5.3'ü indirmek için aşağıdaki komutu kullanın.
# 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 kaynak kodunu indirip çıkardıktan sonra, kaynak kodu derlemek için aşağıdaki komutu kullanın.
# 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
Adım 4. Git Sürümünü Kontrol Edin
Yukarıdaki adımları tamamladıktan sonra Git'i sisteminize başarıyla yüklediniz. Git sürümünü kontrol etmek için aşağıdaki komutu kullanın
# git --version
git version 2.5.3
Ayrıca GIT web sitesindeki "Başlarken" kılavuzunun da kendiniz nasıl indirilip derleneceğine ilişkin talimatlar içerdiğini eklemek istedim:
http://git-scm.com/book/en/v2/Getting-Started-Installing-Git
wget https://www.kernel.org/pub/software/scm/git/git-2.5.3.tar.gz
echo "export PATH=/usr/local/git/bin:$PATH" >> /etc/bashrc
ve sonra source /etc/bashrc
Kişisel tercihim, standart olmayan yazılımlar kurarken ve dağıtılmış bileşenleri değiştirirken CentOS için rpm paketleri oluşturmak. Bunun için temiz bir yapı ortamı oluşturmak için Mock kullanmanızı öneririz.
Prosedür:
Kaynak RPMS'yi veya uygun bir SPEC dosyasını ve bozulmamış kaynak tarball'ını edinin. Bu durumda CentOS-6 için git2X için kaynak RPM paketleri şu adreste bulunabilir: http://dl.iuscommunity.org/pub/ius/archive/CentOS/6/SRPMS/
. Diğer CentOS sürümleri için paketler de mevcuttur.
Gerekli destek yazılımını yükleyin:
yum install epel-release # you need this for mock
yum install rpm-build
yum install redhat-rpm-config
yum install rpmdevtools
yum install mock
Bir devir inşa kullanıcı hesabı ekleme ( - güvenlik sorunları root olarak inşa etmezler ya da gerçek kullanıcı olarak edecektir sizi ısırmaya geri gelmek ).
sudo adduser builder --home-dir /home/builder \
--create-home --user-group --groups mock \
--shell /bin/bash --comment "rpm package builder"
Sonra bir inşa ortamına ihtiyacımız var.
su -l builder
rpmdev-setuptree
Bu aşağıdaki dizin yapısını üretir:
~
└── rpmbuild
├── BUILD
├── RPMS
├── SOURCES
├── SPECS
└── SRPMS
Hazırlanan bir SRPMS kullanıyoruz, böylece SOURCES tarball'ları bu durumda göz ardı edilebilir ve doğrudan SRPMS'ye gidebiliriz.
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
Sahte yapılandır (kök olarak)
cd /etc/mock
rm default.cfg
ln -s epel-6-x86_64.cfg default.cfg
vim default.cfg
beta
Depoları devre dışı bırakın . etkinleştirme base
veupdate
depolarını .
Derleme ağacını başlat (/ var / lib / mock varsayılan)
mock --init
Eğer KAYNAKLAR'dan inşa edilmiş olsaydık, o zaman SPEC dosyasını kullanacak ve kullanacağız mock --buildsrpm . . .
. Ancak bu durumda doğrudan ikili derleme adımına gidiyoruz:
mock --no-clean --rebuild ~/rpmbuild/SRPMS/git2u-2.5.3-1.ius.centos6.src.rpm
Bu, yapı bağımlılıklarını çözer ve bunları (yaklaşık 95 kadar paket) temiz yapı köküne indirir. Daha sonra kaynakları çıkarır ve sağlanan SRPM'den ikili dosyayı oluşturur ve içinde bırakır /var/lib/mock/epel-6-x86_64/result
; veya sağladığınız özel oluşturma kök konumu ve mimarisinde. Uzun zaman alacaktır. Bu pakette çok şey var; özellikle belgeler.
Her şey yolunda giderse, dağıtım sürümü yerine kurulum için uygun bir RPM paketi hazırlamanız gerekir. Ben ne ile sonuçlandı:
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
Yum veya RPM kullanarak kurun.
En git2u-2.5.3-1.ius.el6.x86_64.rpm
az ve gerektiği gibi ek destek paketlerine ihtiyacınız olacaktır ( perl-Git2u-2.5.3-1.ius.el6.noarch.rpm
) veya istediğiniz gibi.
Bu yapının döngüsel bir bağımlılığı vardır: git2u-2.5.3-1.ius.el6.x86_64.rpm
bağlıdır perl-Git2u-2.5.3-1.ius.el6.noarch.rpm
ve perl-Git2u-2.5.3-1.ius.el6.noarch.rpm
bağlıdır git2u-2.5.3-1.ius.el6.x86_64.rpm
. Böylece düz bir kurulum rpm
başarısız olur.
Bununla başa çıkmanın iki yolu vardır:
Her ikisini aynı anda yum üzerinden yükleyin:
yum localinstall \
git2u-2.5.3-1.ius.el6.x86_64.rpm \
perl-Git2u-2.5.3-1.ius.el6.noarch.rpm`
Yerel bir yum repo oluşturun.
Bunun LocalFile.repo
nasıl yapılacağıyla ilgili talimatları içerdiği ve aynı zamanda gerekli repo dosyasını sağladığı için aşağıdaki dosyamı ekliyorum.
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
Ayrıca perl-TermReadKey
, normal depolardan edinilebilecek ek bağımlılık paketlerini elle önceden yüklemeniz de gerekebilir .
CentOS 6 üzerinde modern Git oluşturmak ve yüklemek için:
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
RHEL ve türevleri genellikle git'in eski sürümlerini gönderir. Bir tarball indirebilir ve kaynaktan oluşturabilir veya git'in daha yeni bir sürümünü edinmek için IUS Topluluk Projesi gibi bir üçüncü taraf deposunu kullanabilirsiniz.
burada iyi bir öğretici var . benim durumumda (Centos7 sunucusu) kurulumdan sonra çıkış ve tekrar giriş zorunda kaldı.
git
Centos 6/7'nin son sürümünü oluşturEpel yükleyin:
EL6 için şunları kullanın:
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
EL7 için şunları kullanın:
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Kurulum fedpkg
:
sudo yum install fedpkg
Kendinizi grup alayına ekleyin (bu değişiklikten sonra sunucuya yeniden giriş yapmanız gerekebilir):
sudo usermod -a -G mock $USER
git
İndirme git
kaynakları:
fedpkg clone -a git && cd git
fedpkg sources
Kaynakları doğrulayın:
sha512sum -c sources
Srmp oluştur. Kullanım el6
, RHEL6 için el7
RHEL7 için.
fedpkg --dist el7 srpm
Paketi kur:
mock -r epel-7-x86_64 git-2.16.0-1.el7.src.rpm
En son sürümünü yükleyin git
gelen rpm /var/lib/mock/epel-7-x86_64/result/
. Öncelikle git'in mevcut sürümünü sisteminizden kaldırmanız gerekebilir.
Bu talimat Todd Zullinger'in posta listesi postasına dayanmaktadır .
Buraya dolambaçlı bir cevap ekliyoruz. Git'i bir RHEL 6.0 Amazon örneğine yüklemek için uğraşıyordum ve beni kurtaran şey ... Ana conda Python'da olduğu gibi ... conda idi .
Ben gelen komut satırında Conda yüklü arşivleri (model alınarak kod bu ):
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"
ve sonra koştu
conda install git
ve nispeten yeni bir sürüm git kuruldu. Bugün 12/26/2016 ve sürüm 2.9.3 olduğunu.
İşte centos 6'ya git yükleme yöntemim.
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
yum install libcurl-devel
.
Bu alakasız olabilir. Bu insanlar hala en son git almak alabilirsiniz bu arada ana bilgisayarda son git oluşturmak istemiyorum içindir.
Sanırım çoğu insan CentOS üzerinde en son gitmeyi sevmiyor çünkü bağımlılıklar ana bilgisayarı kirletecek ve birçok komut çalıştırmanız gerekiyor. Bu nedenle, Docker kapsayıcısının içinde git inşa eden bir fikrim var ve daha sonra docker birim montajı yoluyla yürütülebilir dosyayı yüklüyorum. Bundan sonra görüntüyü ve kapsayıcıyı silebilirsiniz.
Evet, dezavantajı docker'ı kurmanız gerektiğidir. Ancak en az bağımlılıklar ana bilgisayara tanıtılır ve diğer yum repo'yu yüklemeniz gerekmez.
İşte depom. https://github.com/wood1986/docker-library/tree/master/git
Git zaten kuruluysa, önce eski git'i kaldırın
sudo yum remove git*
IUS CentOS 7 repo ekle
sudo yum -y install https://centos7.iuscommunity.org/ius-release.rpm
sudo yum -y install git2u-all
Şimdi git2u-all paketini kurduktan sonra git sürümünü kontrol edin. Docker makinenize kuruluysa, ius-release sorun yaratabilir.
git --version
Bingo!!
Önemli bir test ve düşünce olmadan, yukarı akış baz depolarını ek havuzlarla değiştirmek çok kafa karıştırıcı ve tehlikeli olabilir. RPMforge, özellikle etkili bir şekilde can sıkıcıdır ve güncelleme almamaktadır.
Ben şahsen git 2.4 oluşturmak için, alternatif olarak "git24" paketi olarak paketlenmiş araçları https://github.com/nkadel/git24-srpm/ adresinde yayınlıyorum . "Samba" ve "samba4" paketleri farklı olduğu için, standart sistem paketlerinden farklı paketler istiyorsanız, bunlara erişmekten ve onları çatallamaktan çekinmeyin.