Вопрос

Мой сервер разработки (CentOS 5) работает под управлением Subversion 1.4.2, и я хочу обновить его до версии 1.5.Я читал в различных блогах и документах, разбросанных по Сети, что это можно сделать с помощью RPMForge.Я следовал инструкциям, найденным на CentOS - Вики, включая установку yum-priorities и настройку моих приоритетов, как указано (1 и 2 для основных источников репо и 20 для RPMForge).

Однако, когда я пытаюсь запустить:

$ yum info subversion

указанный мне номер версии по-прежнему 1.4.2, со статусом Установлен.Другим моим вариантом на данный момент является компиляция из исходного кода, но я хотел бы найти решение, управляемое пакетами, для удобства будущих обновлений.

Есть какие-нибудь мысли?

Это было полезно?

Решение

То, что вы пытаетесь сделать, это заменить "базовый" пакет (тот, который содержится в репозитории CentOS) на более новый пакет из "3-го репозиторий party" (RPMForge), для предотвращения чего и предназначен плагин priorities .

Репозиторий RPMForge содержит как дополнительные пакеты, не найденные в CentOS, так и более новые версии основных пакетов.К сожалению, yum довольно глупо и всегда обновляет пакет до последней версии его можно найти в Любой хранилище.Так что беги "yum update" при включенном RPMForge половина вашей системы будет обновлена новейшими (новейшими, возможно нестабильными и менее хорошо поддерживаемыми) пакетами RPMForge.

Следовательно, рекомендуемый способ использования репозиториев, таких как RPMForge, - использовать их только вместе с плагином yum, таким как "priorites", который предотвращает пакеты из репозиториев с "высоким" приоритетом для перезаписи пакетов из репозиториев с "низким" приоритетом приоритет РЕПО (имя "приоритет" параметр очень сообщают).Таким образом, вы можете легко установить дополнительный пакеты (которые не входят в ядро) от RPMForge, чего хочет большинство людей.

Теперь перейдем к вашему первоначальному вопросу ...

Если вы хотеть чтобы заменить базовый пакет, все становится немного сложнее.В принципе, у вас есть два варианта:

  1. Удалите плагин priority и отключить репозиторий RPMForge по умолчанию (установлен enabled = 0 в /etc/yum.repos.d/rpmforge.repo).Вы можете затем выборочно включить его в командной строке:

    yum --enablerepo=rpmforge install subversion
    

    будет установлена последняя версия subversion и зависимостей от RPMForge.

    Проблема с этим подходом заключается в том, что если в RPMForge есть обновление для пакета subversion , вы не увидите его, когда репозиторий отключен.Чтобы поддерживать subversion в актуальном состоянии, вы должны не забывать запускать

    yum --enablerepo=rpmforge update subversion
    

    время от времени.

  2. Вторая возможность - использовать плагин priorites, но вручную "замаскировать" основной пакет subversion (добавить exclude=subversion к тому [base] и [update] разделы в /etc/yum.repos.d/CentOS-Base.repo).

    Теперь yum будет вести себя так, как будто в репозитории ядра нет пакета с именем "subversion", и с радостью установит последнюю версию из RPMForge.Кроме того, вы всегда будете получать последние обновления subversion при запуске yum update.

Другие советы

1.- если вы используете yum-приоритеты, отключите это в файле /etc/yum/pluginconf.d/priorities.conf

2.- проверьте версию subversion

  $ rpm -qa|grep subversion
    subversion-1.4.2-4.el5_3.1
    subversion-1.4.2-4.el5_3.1 

3.- найдите последнюю версию subversion в репозитории rpmforge

$ yum --enablerepo=rpmforge check-update subversion
subversion.x86_64      1.6.6-0.1.el5.rf         rpmforge

4. - теперь необходимо обновить subversion с помощью репозитория rpmforge

$ yum shell
>erase mod_dav_svn-1.4.2-4.el5_3.1
>erase subversion-1.4.2-4.el5_3.1
>install mod_dav_svn-1.6.6-0.1.el5.rf
>install subversion-1.6.6-0.1.el5.rf.x86_64
>run

это все, что у меня работает, я использую centos 5.4.

Спасибо, Мэтт - у нас также есть единственный дистрибутив SVN 1.7 на SVN.

Возможно, вы также захотите попробовать uberSVN.

Если вы установите Кузница оборотовпосле этого вы сможете получить более новый пакет - у вас это не работает?

Вы должны увидеть rpmforge.список в /etc/apt/sources.list.d со строкой типа:

repomd http://apt.sw.be redhat/el$(VERSION)/en/$(ARCH)/dag

Я только что протестировал чистую установку CentOS 5, и yum check-update Шоу

subversion.i386                          1.5.2-0.1.el5.rf       rpmforge
subversion-perl.i386                     1.5.2-0.1.el5.rf       rpmforge

Поэтому проверьте свой список источников и снова запустите проверку обновления.

Редактировать:Упс, я упустил часть своего ответа.Добавил его обратно выше.

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

Ни каких-либо посылок от rpmforge.Это ваши приоритетные настройки.Попробуйте отключить yum-приоритеты (изменить enabled=1 Для enabled=0 в /etc/yum/pluginconf.d/priorities.conf) - тогда это должно сработать.

Итак, я предполагаю, что следующий вопрос заключается в том, почему приоритет заключается в том, чтобы все испортить....Хотя я не уверен в этом.

Редактировать:Видишь ответ 8 джин подробнее о приоритетах.

это до версии 1.4.6 в репозитории Dag.

Вы можете попробовать тот, что из Репо Fedora или наберитесь немного терпения, чтобы основные репозитории обновили его.

Сделать это из исходного кода легко, прочитайте УСТАНОВОЧНЫЙ файл при загрузке исходного пакета, имейте в виду, что CentOS, возможно, переместил место установки файлов.(Используйте "rpm -ql subversion", чтобы увидеть, куда были установлены старые файлы).

Когда версия v1.5.0 будет выпущена в репозиторий, вы можете удалить свою встроенную версию и установить с помощью yum, как и раньше.

RPMForge уже находится в /etc/yum.repos.d/ как rpmforge.repo, и содержимое:

# Name: RPMforge RPM Repository for Red Hat Enterprise 5 - dag
# URL: http://rpmforge.net/
[rpmforge]
name = Red Hat Enterprise $releasever - RPMforge.net - dag
#baseurl = http://apt.sw.be/redhat/el5/en/$basearch/dag
mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
enabled = 1
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1
priority=20

У меня есть именно эта строка в файле /etc/apt/sources.list.d/rpmforge.Список.

Когда я запускаю check-update, я получаю:

Loading "priorities" plugin
Loading "fastestmirror" plugin
Loading mirror speeds from cached hostfile
 * epel: mirror.unl.edu
 * rpmforge: fr2.rpmfind.net
 * base: mirrors.portafixe.com
 * updates: mirrors.portafixe.com
 * addons: mirrors.portafixe.com
 * extras: mirrors.portafixe.com
2202 packages excluded due to repository priority protections

bzip2.i386                               1.0.3-4.el5_2          updates         
bzip2-devel.i386                         1.0.3-4.el5_2          updates         
bzip2-libs.i386                          1.0.3-4.el5_2          updates         
libxml2.i386                             2.6.26-2.1.2.6         updates         
libxml2-devel.i386                       2.6.26-2.1.2.6         updates         
libxml2-python.i386                      2.6.26-2.1.2.6         updates         
perl.i386                                4:5.8.8-15.el5_2.1     updates         
sos.noarch                               1.7-9.2.el5_2.2        updates         
tzdata.noarch                            2008e-1.el5            updates  

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

Все, что вам нужно сделать, это получить этот скрипт.у меня отлично работало на CentOS 5.3

http://wandisco.com/subversion/os/downloads

Нет, я там не работаю и не имею никакого отношения к чему бы то ни было...просто нашел это и решил, что дам вам знать, ребята.

Удачи.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top