Как включить centos-release-SCL на Centos 6.7?

Вопрос или проблема

Я пытаюсь установить centos-release-SCL на CentOS 6.7. Хочу это сделать, чтобы получить python2.7. Я попробовал:

sudo yum --disablerepo=\* --enablerepo=extras install centos-release-SCL
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * extras: anorien.csc.warwick.ac.uk
No package centos-release-SCL available.
Error: Nothing to do

Затем я попробовал:

sudo yum --disablerepo=\* --enablerepo=extras list available
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * extras: anorien.csc.warwick.ac.uk
Available Packages
bakefile.i686                                                                         0.2.8-3.el6.centos                                               extras
centos-release-cr.i686                                                                10:6-0.el6.centos                                                extras
centos-release-virt-common.noarch                                                     1-1.el6.centos                                                   extras
cloud-init.i686                                                                       0.7.5-10.el6.centos.2                                            extras
epel-release.noarch                                                                   6-8                                                              extras
jfsutils.i686                                                                         1.1.13-9.el6                                                     extras
ldns.i686                                                                             1.6.16-7.el6.1                                                   extras
ldns-devel.i686                                                                       1.6.16-7.el6.1                                                   extras
ldns-doc.noarch                                                                       1.6.16-7.el6.1                                                   extras
ldns-python.i686                                                                      1.6.16-7.el6.1                                                   extras
opennx.i686                                                                           0.16-724.el6.centos.1                                            extras
pytest.noarch                                                                         2.3.5-3.el6.centos                                               extras
python-backports.i686                                                                 1.0-3.el6.centos                                                 extras
python-backports-ssl_match_hostname.noarch                                            3.4.0.2-4.el6.centos                                             extras
python-boto.noarch                                                                    2.32.1-1.el6.centos                                              extras
python-chardet.noarch                                                                 2.0.1-1.el6.centos                                               extras
python-empy.noarch                                                                    3.3-5.el6.centos                                                 extras
python-jsonpatch.noarch                                                               1.2-2.el6.centos                                                 extras
python-jsonpointer.noarch                                                             1.0-3.el6.centos                                                 extras
python-oauth.noarch                                                                   1.0.1-1.el6.centos                                               extras
python-ordereddict.noarch                                                             1.1-2.el6.centos                                                 extras
python-prettytable.noarch                                                             0.7.2-1.el6.centos                                               extras
python-py.noarch                                                                      1.4.18-1.el6.centos                                              extras
python-requests.noarch                                                                1.1.0-4.el6.centos                                               extras
python-six.noarch                                                                     1.7.3-1.el6.centos                                               extras
python-sphinx10.noarch                                                                1.0.8-1.el6.centos                                               extras
python-sphinx10-doc.noarch                                                            1.0.8-1.el6.centos                                               extras
python-tornado.noarch                                                                 2.2.1-1.el6.centos                                               extras
python-tornado-doc.noarch                                                             2.2.1-1.el6.centos                                               extras
python-urllib3.noarch                                                                 1.5-7.el6.centos                                                 extras
unbound.i686                                                                          1.4.20-23.el6.1                                                  extras
unbound-devel.i686                                                                    1.4.20-23.el6.1                                                  extras
unbound-libs.i686                                                                     1.4.20-23.el6.1                                                  extras
unbound-python.i686                                                                   1.4.20-23.el6.1                                                  extras
wxBase.i686                                                                           2.8.12-1.el6.centos                                              extras
wxGTK.i686                                                                            2.8.12-1.el6.centos                                              extras
wxGTK-devel.i686                                                                      2.8.12-1.el6.centos                                              extras
wxGTK-gl.i686                                                                         2.8.12-1.el6.centos                                              extras
wxGTK-media.i686                                                                      2.8.12-1.el6.centos                                              extras

Почему centos-release-SCL не доступен?

Я только что установил его на CentOS 6.7 (также для установки python2.7, что тоже сработало). Поэтому у меня нет ответа, кроме как показать вывод (ниже). Однако это не «стоковый» выпуск CentOS 6.7; это виртуальная машина Hortonworks Sandbox. Вы можете попробовать её тоже, посмотреть, работает ли у вас, и увидеть, что отличается между двумя конфигурациями.

$ lsb_release -a 
LSB Version:    :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: CentOS
Description:    CentOS release 6.7 (Final)
Release:    6.7
Codename:   Final


$ sudo yum install -y centos-release-SCL
Loaded plugins: fastestmirror, priorities
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: mirror.spro.net
 * epel: mirror.sfo12.us.leaseweb.net
 * extras: mirror.keystealth.org
 * updates: mirror.pac-12.org
Resolving Dependencies
--> Running transaction check
---> Package centos-release-scl-rh.noarch 0:2-3.el6.centos will be installed
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================================
 Package                              Arch                  Version                         Repository             Size
========================================================================================================================
Installing:
 centos-release-scl-rh                noarch                2-3.el6.centos                  extras                 12 k

Transaction Summary
========================================================================================================================
Install       1 Package(s)

Total download size: 12 k
Installed size: 19 k
Downloading Packages:
centos-release-scl-rh-2-3.el6.centos.noarch.rpm                                                  |  12 kB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : centos-release-scl-rh-2-3.el6.centos.noarch                                                          1/1 
  Verifying  : centos-release-scl-rh-2-3.el6.centos.noarch                                                          1/1 

Installed:
  centos-release-scl-rh.noarch 0:2-3.el6.centos                                                                         

Complete!

Ответ или решение

Для решения проблемы с установкой пакета centos-release-SCL на CentOS 6.7, необходимо учитывать несколько ключевых моментов и особенностей работы с системами, основанными на RPM, такими как CentOS.

Теория

Прежде всего, важно понять, что репозитории CentOS предлагают доступ к различным пакетам, не все из которых доступны по умолчанию. centos-release-SCL — это мета-пакет, который разрешает доступ к Software Collections (SCL). SCL предоставляет возможность устанавливать альтернативные версии программного обеспечения, такие как Python 2.7, без воздействия на системные пакеты. Эти коллекции необходимы в случаях, когда требуется более современное или альтернативное программное обеспечение, без обновления основной системы, что особенно актуально для CentOS 6.7, где стандартной версией Python является 2.6.

Пример

У вас уже был опыт установки, но пакет centos-release-SCL не был найден в репозитории extras. Это не редкость, так как конфигурации репозиториев могут отличаться в зависимости от источника, откуда вы установили CentOS, или от внесенных ранее изменений в файлы конфигурации YUM.

Ваш вывод команды yum показывают, что centos-release-SCL отсутствует в репозитории extras, хотя для некоторых пользователей (например, в Hortonworks Sandbox VM) пакет доступен. Это говорит о том, что репозиторий настроен иначе.

Применение

Для решения проблемы рекомендую выполнить следующие шаги:

  1. Проверка всех доступных репозиториев:
    Чтобы удостовериться, что ваши репозитории настроены правильно, выполните:

    sudo yum repolist all

    Это покажет вам список всех репозиториев, и, что важно, вы должны искать extras и scl репозитории.

  2. Активация SCL репозитория:
    Убедитесь, что репозиторий Software Collections действительно активирован. Найдите файл CentOS-SCL.repo в /etc/yum.repos.d/ и проверьте, что репозиторий не закомментирован и отмечен как enabled=1.

  3. Установка через сторонние репозитории:
    Если репозиторий отсутствует, можно добавить его вручную:

    sudo yum install centos-release-scl

    Если по-прежнему он недоступен, переходим к альтернативным методам.

  4. Ручная установка RPM:
    Если пакет всё ещё не доступен через YUM, попробуйте установить centos-release-scl вручную, загрузив RPM-пакет:

    sudo rpm -Uvh http://mirror.centos.org/centos/6/sclo/x86_64/rh/Packages/c/centos-release-scl-rh-2-3.el6.1.centos.noarch.rpm

    Это позволит вам пользоваться преимуществами Software Collections офлайн установками, подобно официальному репозиторию.

  5. Проверка успешности:
    После установки, обновите пакетный кеш и проверьте, доступны ли теперь пакеты из SCL:

    sudo yum clean all
    sudo yum list available | grep python27

    Вы должны увидеть пакеты, такие как python27.

  6. Установка Python 2.7:
    Далее, установите Python 2.7:

    sudo yum install python27

    Для активации установленной коллекции:

    scl enable python27 bash

Заключение

Посредством вышеприведенных шагов можно определить и устранить проблему с отсутствием centos-release-SCL. Работая с репозиториями и коллекциями, внимательно следите за тем, какая конфигурация используется в вашу системе. Это предотвратит многие вызовы, которые возникают из-за расхождений в репозиториях. Для более уже состоявшегося пользователя или администратора, автоматизация этого процесса через скрипты shell также может быть рассмотрена как метод улучшения эффективности частично вручную выполненных шагов.

Оцените материал
Добавить комментарий

Капча загружается...