Установка и удаление репозиториев/пакетов (packages) на CentOS

02/03/2013
от
Поделиться

Для того чтобы удалить репозиторий из CentOS, как оказалось, недостаточно просто удалить файл с /etc/yum.repos.d/

Так как репозитории — это не просто файлики откуда берется какая-то инфа (настройки репозиторию, приоритет, если установлен соответствующий плагин), но и пакет, установленный в вашу систему.

Небольшая справка:

  • Просмотреть установленные пакеты определенного репозитория: rpm -qa | grep -i <repo-name> (например: rpm -qa | grep -i epel)
  • Удалить любой пакет, а также пакет о репозитории: rpm -e <package-name> [—nodeps] (если нужно удалить пакет даже если от него зависят другие пакеты) (например: rpm -e epel-release —nodeps)

Так например, если вам необходимо удалить репозиторий epel (не желательно конечно), то вы должны:

  • Удалить сам файл репозитория из директории  /etc/yum.repos.d/ (epel.repo и epel-testing.repo)
  • Удалить пакет, установленный в систему, ибо если это не сделать, то при следуюющей установке этого репозитория система сообщит вам, что данный репозиторий все еще (уже таки) установлен, и нет необходимости его переустанавливать (кстати, даже после перезагрузки системы): rpm -e epel-release
  • Предыдущую команду вероятней всего прийдется запустить с параметром —nodeps дабы избежать системного сообщения о зависимостях.

А если вам необходимо УСТАНОВИТЬ репозиторий пакетов epel то делайте так:

  • rpm -i http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm (именно таким образом файл репозитория скопируется в директорию /etc/yum.repos.d/, а также установится соответствующий пакет — epel-release, файл репозитория следует все же заранее проверить на существование на сервере, откуда вы его пытаетесь скачать, просто зайдя по данной ссылке в браузере)
  • rpm -Uhv http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm (а так вы можете установить/обновить новый/существующий репозиторий, судя по документации rpm -U —help)

Теперь про установку пакетов.

Часто необходимо не просто устанавливать пакеты, а устанавливать их из указанного репозитория, например php и все его модули желательно (я бы скзаал, нужно) устанавливать из репозитория remi (http://rpms.famillecollet.com/enterprise/remi-release-6.rpm), для этого мы можем использовать команду:

  • yum —disablerepo=* —enablerepo=remi,remi-test install php-mbstring

Первый параметр — отключить все репозитории (независимо от того, что у них указано в настройках), второй — включить необходимые (можно перечислять через запятую), ну и сама команда установки — install <package-name>.

Как вы уже догадались, наверное, так же точно можно эти же параметры можно передавать и при обновлении пакетов:

  • yum —disablerepo=* —enablerepo=remi,remi-test update php-mbstring
  • yum —disablerepo=* —enablerepo=remi,remi-test upgrade

На этом пока все, всем удачного адиминистрирования!

Поделиться

Метки: , , , , , , ,

Ответить

Вы должны войти в систему, чтобы оставить комментарий.