Неможливо встановити 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, він повинен мати вирішення залежностей. @Tom, чи можете ви виконати команду "yum repolist" і вставити своє запитання?
Ріліндо

Відповіді:


17

Як видно з цієї публікації на форумах cPanel, cPanel / WHM вирішує встановити власну версію Perl з джерела, щоб вона перейшла в чорні списки пакетів perl *, які можна було б залучити yum в /etc/yum.conf.

Рішення полягає в тимчасовому ігноруванні директиви виключення, в той час як yum сортує залежності для Git:

yum install git --disableexcludes=main --skip-broken

працював товариш +1 thnx
Сергій Беннер

3

Схоже, під час встановлення git вперше він витягується спочатку з оновлення repo - у якому 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 ще раз, щоб ви могли задовольнити свої поточні залежності оновленою версією git.

Я пропоную колишній підхід, оскільки ви не хочете застосовувати оновлення, якщо у вас немає регресійного плану.

EDIT: Гаразд, оскільки, здається, це не може вирішити залежності, або він збирається виконати репо, що має ці оновлення 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

Жоден не працював, все-таки вимагаючи perl-git та perl-error
Том

Гаразд, оновлена ​​відповідь із третім варіантом.
Ріліндо

Встановлено git-Помилка, але не вдається встановити 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
Том

Добре, завантажте 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
Ріліндо

2

Перша група помилок, які ви опублікували, вказує на те, що ви намагалися rpm встановити 32-версійну версію git. Це 64-бітова система.

Ти бігав yum install git? Це повинно було вирішити вашу ланцюжок залежностей. Очистіть кеш-пам'ять yum clean all.

Якщо ні, вам потрібно буде встановити такі залежності ...

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

Спробуйте встановити з gitдопомогою yum install gitпісля цього.


Воно знаходить 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" неправильно працює, вказує на проблему, яку потрібно виправити, не ігнорувати.
cjc

Я все для того, щоб збирати речі з джерела, коли є вагомі причини , але в цьому випадку це був би (поганий) злом, а не належне виправлення.
voretaq7

@All: Для версії 1.7 у мене не було проблем із встановленням / оновленням до останньої версії, але неможливо оновити до 1.8.x; Тоді я застосував цей метод, щоб успішно встановити його (навіть як ви, я не люблю встановлювати без менеджера пакунків)
рüффп

1

Схоже, у ваших сховищах відсутні деякі додаткові пакети, необхідні для встановлення GIT. Як правило, я також встановлюю додаткові пакети для сховища Enterprise Linux, і це виправляє багато моїх проблем.

Його можна знайти тут:

RHEL5 або RHEL6

Встановіть RHEL6 Repo, і ви повинні мати доступ до додаткових пакетів, які вам потрібні.

Найкраще, якщо удача


GIT включений в базові дистрибутиви CentOS, тому це не зовсім точно.
Ріліндо
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.