Я пытаюсь установить этот 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 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