Назад | Перейти на главную страницу

Ошибка: ничего не делать при попытке установить локальный RPM

Я пытаюсь установить этот RPM локально через yum, и меня встречает только сообщение «Ошибка: ничего не делать».

Полный стандартный вывод

Loaded plugins: fastestmirror, priorities
Setting up Install Process
Examining Percona-Server-server-56-5.6.22-rel71.0.el6.x86_64.rpm: Percona-Server-server-56-5.6.22-rel71.0.el6.x86_64
Error: Nothing to do

Я затрудняюсь найти даже правильный вопрос на данный момент. Как я могу определить проблему и установить ее?

Я не осознавал, пока не добавил -v к моему yum вызова, но иногда пакеты игнорируются, потому что вы или кто-то другой написал соответствующий подстановочный знак в exclude директива в /etc/yum.conf.

например

exclude=Percona-Server*

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

Вы можете установить / активировать репозиторий percona с помощью

yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm

Теперь вы можете использовать yum install Percona-Server-server-56-5.6.22-rel71.0.el6.x86_64.rpm чтобы установить нужный пакет (и поддерживать его в актуальном состоянии с помощью yum)

Если YUM отказывается установить пакет, это, вероятно, связано с:

  • а) В пакете есть недоступные зависимости
  • б) Пакет конфликтует с уже установленным пакетом.
  • в) YUM имеет старые данные и требует очистки кеша (yum clean headers)

Yum обычно дает хорошее руководство о том, в чем проблема, если она есть, но иногда возвращает «Ничего не делать»!

Сначала убедитесь, что пакет еще не установлен. В этом случае вам нужно будет подключиться к MySQL (mysql -u root -p), а затем проверьте версию (SHOW VARIABLES LIKE "version";). Для многих пакетов вы можете просто запустить httpd -v или nginx -v и т. д. и т. д.

Если пакет еще не установлен или установлена ​​более ранняя версия, вы, как правило, сможете установить или обновить.

При создании RPM spec В файле перечислены пакеты и версии, необходимые для установки пакета. Чтение этого «спецификационного» файла - лучший способ полностью понять, что требуется, и для этого вам обычно придется найти исходный RPM, также известный как SRPM.

CentOS предоставляет отличные рекомендации по восстановлению SRPM, чтобы проверить или настроить его: Восстановить исходный RPM

В файле спецификации вы, вероятно, найдете оба Requires и BuildRequires, обратите на них пристальное внимание, так как это зависимости, необходимые для пакета. Другая конфигурация, о которой часто забывают, - это «Эпоха». Номер эпохи позволяет заменять старые пакеты другими именами, где номера версий ниже, чем установленная версия. Это важно для пакетов, которые меняют имена, но часто добавляются в.

Я предполагаю, что когда YUM вернется Error: Nothing to do Номер Эпохи - это вопрос.

Причина для Nothing to do сообщение в случае релизных пакетов простое: либо уже установлено или вы используете устаревший URL, на котором установлен старшая версия релиз-пакета.

Пакеты выпуска содержат информацию о репозитории YUM. Обычно вы сначала устанавливаете пакет выпуска (используя URL-адрес), а затем устанавливаете интересующие пакеты из этого репозитория (используя имя пакета).

Так что, если пакет * -release уже установлен, то на самом деле делать нечего, и вам ничего не следует с этим делать. Вы должны продолжить установку пакетов из этого репозитория.

Полные шаги:

yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm 
yum install Percona-Server-server-56 

Первая команда добавляет информацию о репозитории, может дать «нечего делать», если она уже есть (это нормально).

Вторая команда устанавливает фактический пакет из репозитория.

Альтернативное решение:

Загрузите rpm из http://repo.percona.com/testing/centos/7/RPMS/x86_64/

Вручную установите rpm

sudo rpm -i Percona-Server-server-56-5.6.22-rel71.0.el6.x86_64.rpm

Вы должны использовать rpm команду для установки, включая полный URL-адрес RPM.

Пример (при условии установки с рассматриваемого веб-сайта и отсутствия других зависимостей):

sudo rpm -Uvh http://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-5.6.22-71.0/binary/redhat/6/x86_64/Percona-Server-server-56-5.6.22-rel71.0.el6.x86_64.rpm