Для того чтобы удалить репозиторий из 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
На этом пока все, всем удачного адиминистрирования!