Не удается установить GIT на CentOS 6.0 x64

12

Я пытаюсь установить GIT либо RPM, либо YUM, но не могу. Я получаю следующую ошибку:

error: Failed dependencies:
        libcrypto.so.10 is needed by git-1.7.1-2.el6.i686
        libcurl.so.4 is needed by git-1.7.1-2.el6.i686
        libexpat.so.1 is needed by git-1.7.1-2.el6.i686
        libssl.so.10 is needed by git-1.7.1-2.el6.i686
        libz.so.1 is needed by git-1.7.1-2.el6.i686
        perl(Error) is needed by git-1.7.1-2.el6.i686
        perl(Git) is needed by git-1.7.1-2.el6.i686
        perl-Git = 1.7.1-2.el6 is needed by git-1.7.1-2.el6.i686

Когда работает yum install git:

root@server [/usr/local/src]# yum install git
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.symnds.com
 * extras: mirror.atlanticmetro.net
 * updates: mirror.trouble-free.net
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package git.x86_64 0:1.7.1-2.el6_0.1 set to be updated
--> Processing Dependency: perl-Git = 1.7.1-2.el6_0.1 for package: git-1.7.1-2.el6_0.1.x86_64
--> Processing Dependency: perl(Git) for package: git-1.7.1-2.el6_0.1.x86_64
--> Processing Dependency: perl(Error) for package: git-1.7.1-2.el6_0.1.x86_64
--> Finished Dependency Resolution
Error: Package: git-1.7.1-2.el6_0.1.x86_64 (updates)
           Requires: perl(Error)
Error: Package: git-1.7.1-2.el6_0.1.x86_64 (updates)
           Requires: perl-Git = 1.7.1-2.el6_0.1
Error: Package: git-1.7.1-2.el6_0.1.x86_64 (updates)
           Requires: perl(Git)
 You could try using --skip-broken to work around the problem
bandmin-1.6.1-5.noarch has missing requires of perl(bandmin.conf)
bandmin-1.6.1-5.noarch has missing requires of perl(bmversion.pl)
bandmin-1.6.1-5.noarch has missing requires of perl(services.conf)
exim-4.69-30_cpanel_maildir.x86_64 has missing requires of perl(SafeFile)
frontpage-2002-SR1.2.i386 has missing requires of libexpat.so.0

Список репо:

repo id                       repo name                                status
base                          CentOS-6 - Base                          5,664+355
extras                        CentOS-6 - Extras                                1
updates                       CentOS-6 - Updates                          991+51
repolist: 6,656

На сервере установлена ​​последняя версия WHM / cPanel.

Как это исправить?

Том
источник
Вы пытались установить недостающие библиотеки и пакеты?
dkaragasidis
1
Если он устанавливает через yum, он должен разрешить зависимости. @ Том, вы можете сделать команду "yum repolist" и вставить в свой вопрос?
Рилиндо

Ответы:

17

Как вы можете видеть из этого поста на форумах cPanel, cPanel / WHM решает установить свою собственную версию Perl из исходного кода, поэтому она помещает в черный список пакеты perl *, которые могут быть извлечены yum в /etc/yum.conf.

Решение состоит в том, чтобы временно игнорировать директиву exclude, в то время как yum сортирует зависимости для Git:

yum install git --disableexcludes=main --skip-broken
Стюарт Адам
источник
работал помощник +1 Thnx
Сергей Беннер
3

Похоже, что когда вы устанавливаете git в первый раз, он сначала извлекает из репозитория обновлений, который имеет git-1.7.1-2.el6_0.1.x86_64.rpm (в отличие от git-1.7.1-2 .el6.x86_64.rpm).

Для этого есть два варианта:

Установите git из базы и временно отключите хранилище обновлений:

yum -y install git --disablerepo=updates

или

Примените большинство текущих обновлений с:

yum -y upgrade

А затем снова запустите git install, чтобы вы могли удовлетворить свои текущие зависимости обновленной версией git.

Я предлагаю прежний подход, так как вы не хотите применять обновления, если у вас нет плана регрессии.

РЕДАКТИРОВАТЬ: Хорошо, так как кажется, что он не может разрешить зависимости или идет в репозиторий, у которого есть эти обновления rpm, загрузите RPM из этих мест:

http://www.gtlib.gatech.edu/pub/centos/6.0/updates/x86_64/RPMS/perl-Git-1.7.1-2.el6_0.1.noarch.rpm

http://www.gtlib.gatech.edu/pub/centos/6.0/os/x86_64/Packages/perl-Error-0.17015-4.el6.noarch.rpm

а затем установить через Yum с:

yum localinstall perl-Error-0.17015-4.el6.noarch.rpm perl-Git-1.7.1-2.el6_0.1.noarch.rpm

и попробуйте снова установить git. При необходимости загрузите сам git и установите с помощью:

yum localinstall perl-Error-0.17015-4.el6.noarch.rpm perl-Git-1.7.1-2.el6_0.1.noarch.rpm git-1.7.1-2.el6_0.1.x86_64.rpm
Rilindo
источник
Ни один из них не работал, все еще требуя perl-git и perl-error
Том
Хорошо, обновленный ответ с третьим вариантом.
Рилиндо
Установлен git-Error, но не могу установить perl-Git, там написано:error: Failed dependencies: git = 1.7.1-2.el6_0.1 is needed by perl-Git-1.7.1-2.el6_0.1.noarch
Tom
Хорошо, загрузите gtlib.gatech.edu/pub/centos/6.0/updates/x86_64/RPMS/… затем выполните yum localinstall git-1.7.1-2.el6_0.1.x86_64.rpm perl-Git-1.7.1-2 .el6_0.1.noarch.rpm
Rilindo
2

Первая группа ошибок, которую вы опубликовали, указывает на то, что вы пытались rpm установить 32-но версию git. Это 64-битная система.

Ты бежал yum install git? Это должно было решить вашу цепочку зависимостей. Очистите свой кеш yum с помощью yum clean all.

Если нет, вам нужно будет установить следующие зависимости ...

yum install openssl libcurl expat zlib perl-Git perl-Error

Попробуйте установить gitчерез yum install gitэто.

ewwhite
источник
Это находит perl-Gitилиperl-Error
Том
Хорошо, удалите два пакета perl и попробуйте установить в gitодиночку.
ewwhite
Я обновил пост с тем, что я получаю.
Том
1
Может быть, попробуйте yum clean allзатем запустить yum install git.
ewwhite
1

Просто скачайте и скомпилируйте из исходного кода.

mkdir /home/sources
cd /home/sources
wget http://git-core.googlecode.com/files/git-1.7.8.4.tar.gz
tar -zxf git-1.7.8.4.tar.gz
cd git-1.7.8.4
./configure
make
make install
Джимми Нгу
источник
6
Бах, у нас есть управление пакетами по причине, и вы должны уходить от управления пакетами, только если у вас есть очень веские причины. «yum» не работает правильно, указывает на проблему, которую нужно исправить, а не игнорировать.
ЗАО
Я целиком и полностью собираю материал из исходного кода, когда есть веская причина , но в этом случае это будет (плохой) взлом, а не правильное решение.
voretaq7
@All: Для версии 1.7 у меня не было проблем с установкой / обновлением до последней версии, но я не смог обновить ее до 1.8.x; Затем я использовал этот метод, чтобы установить его с успехом (даже как вы, я не люблю устанавливать без менеджера пакетов)
'18
1

Похоже, в ваших репозиториях отсутствуют некоторые дополнительные пакеты, необходимые для установки GIT. Обычно я также устанавливаю репозиторий Extra Packages for Enterprise Linux, и это устраняет массу моих проблем.

Это можно найти здесь:

RHEL5 или RHEL6

Установите RHEL6 Repo, и у вас должен быть доступ к дополнительным пакетам, которые вам нужны.

Лучше всего, если удача

Дж Барон
источник
GIT включен в базовые дистрибутивы CentOS, так что это не совсем точно.
Рилиндо