fragen stichworte

Yum Repo Prioritäten und Konflikte

Auf meinem CentOS 6.4-Server führe ich MySQL 5.5.33 aus, das ich vom remi-Repository installiert habe. Ich entschied mich für ein Upgrade von MySQL auf 5.6.x über MySQLs eigene Yum-Repositorys:

Nach der Installation der Repositorys habe ich diese als Repoliste:

# yum repolist enabled
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * Webmin: download.webmin.com
 * base: mirrors.xmission.com
 * epel: mirror.steadfast.net
 * extras: mirror.thelinuxfix.com
 * remi: remi.check-update.co.uk
 * updates: mirrors.xmission.com
repo id                                              repo name                                                                   status
Webmin                                               Webmin Distribution Neutral                                                    175
base                                                 CentOS-6 - Base                                                              6,367
epel                                                 Extra Packages for Enterprise Linux 6 - x86_64                              10,737
extras                                               CentOS-6 - Extras                                                               14
mysql-connectors-community                           MySQL Connectors Community                                                       6
mysql-tools-community                                MySQL Tools Community                                                            6
mysql56-community                                    MySQL 5.6 Community Server                                                      46
remi                                                 Les RPM de remi pour Enterprise Linux 6 - x86_64                             1,485
updates                                              CentOS-6 - Updates                                                             864
repolist: 19,700

Das MySQL 5.6-Repository ist also installiert und aktiviert. Wenn ich nun versuche, die Informationen des installierten MySQL zu überprüfen, um herauszufinden, welche Version verfügbar ist, erhalte ich Folgendes:

# yum info mysql
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * Webmin: download.webmin.com
 * base: mirrors.xmission.com
 * epel: mirror.steadfast.net
 * extras: mirror.thelinuxfix.com
 * remi: remi.check-update.co.uk
 * updates: mirrors.xmission.com
Installed Packages
Name        : mysql
Arch        : x86_64
Version     : 5.5.33
Release     : 1.el6.remi
Size        : 29 M
Repo        : installed
From repo   : remi
Summary     : MySQL clie.......

Available Packages
Name        : mysql
Arch        : x86_64
Version     : 5.5.37
Release     : 1.el6.remi
Size        : 5.8 M
Repo        : remi
Summary     : MySQL client progr....

Es scheint also, dass yum immer noch im remi-Repository nach der neuesten Version sucht. Ich schaue nicht mal auf das Archiv der mysql56-community. Also versuche ich es als nächstes:

# yum info mysql --disablerepo=\* --enablerepo=mysql56-community

Das sollte alle anderen Repositorys außer dem MySQL-Repo ignorieren. Aber ich bekomme:

# yum info mysql --disablerepo=\* --enablerepo=mysql56-community
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
Installed Packages
Name        : mysql
Arch        : x86_64
Version     : 5.5.33
Release     : 1.el6.remi
Size        : 29 M
Repo        : installed
From repo   : remi
Summ......

Es listet also nur meine installierte Version auf und meldet nicht, dass neuere Versionen verfügbar sind. Ich habe erwartet, dass eine 5.6.x-Version aus dem mysql56-community-Repository verfügbar ist.

Was fehlt mir hier? Gibt es hier eine Art Repo-Konflikt?

UPDATE:

# yum --disablerepo=\* --enablerepo='mysql*-community*' list available
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
mysql55-community                                                                                               | 2.5 kB     00:00     
mysql57-community-dmr                                                                                           | 2.5 kB     00:00     
Available Packages
mysql-community-client.x86_64                                          5.6.17-4.el6                                   mysql56-community
mysql-community-common.i686                                            5.6.17-4.el6                                   mysql56-community
mysql-community-common.x86_64                                          5.6.17-4.el6                                   mysql56-community
mysql-community-devel.i686                                             5.6.17-4.el6                                   mysql56-community
mysql-community-devel.x86_64                                           5.6.17-4.el6                                   mysql56-community
mysql-community-embedded.i686                                          5.6.17-4.el6                                   mysql56-community
mysql-community-embedded.x86_64                                        5.6.17-4.el6                                   mysql56-community
mysql-community-embedded-devel.i686                                    5.6.17-4.el6                                   mysql56-community
mysql-community-embedded-devel.x86_64                                  5.6.17-4.el6                                   mysql56-community
mysql-community-libs.i686                                              5.6.17-4.el6                                   mysql56-community
mysql-community-libs.x86_64                                            5.6.17-4.el6                                   mysql56-community
mysql-community-libs-compat.i686                                       5.6.17-4.el6                                   mysql56-community
mysql-community-libs-compat.x86_64                                     5.6.17-4.el6                                   mysql56-community
mysql-community-server.x86_64                                          5.6.17-4.el6                                   mysql56-community
mysql-community-test.x86_64                                            5.6.17-4.el6                                   mysql56-community
mysql-connector-odbc.x86_64                                     5.3.2-1.el6                                  mysql-connectors-community
mysql-connector-python.noarch                                   1.1.6-1.el6                                  mysql-connectors-community
mysql-utilities.noarch                                          1.3.6-1.el6                                  mysql-tools-community     
mysql-workbench-community.x86_64                                6.1.4-1.el6                                  mysql-tools-community 

Es gibt also mysql-community- * -Pakete, aber keine Pakete mit dem Namen mysql-server. Wenn ich diese mysql-community* -Pakete installiere, wie kommt es dann zu einem Konflikt mit dem mysql-server -Paket, das ich gerade installiert habe?

antworten

Die beiden Repos, remi und mysql56-community, können nicht zusammen verwendet werden, da sie inkompatible Paketbenennungsschemata verwenden. yum info mysql zeigt nichts aus dem Repo der MySQL-Community an, weil keines der Pakete unter dem neuen Benennungsschema mysql heißt. Probieren Sie stattdessen yum info mysql\\*.

Folglich können Sie MySQL nicht direkt von Remi auf das MySQL Community Repo aktualisieren. Stattdessen müssen Sie die Anweisungen von MySQL befolgen, um eine Fremdanbieter-Distribution von MySQL zu ersetzen, insbesondere den Abschnitt über "Nonnative Drittanbieter-Distributionen". Dazu müssen die Remi-Pakete deinstalliert und anschließend die MySQL-Community-Pakete mit ihren neuen Namen installiert werden.

Wenn Sie das Remi-Repository für andere Pakete behalten möchten, sollten Sie sicherstellen, dass yum seine MySQL-Pakete nicht mehr verwendet, indem Sie der Repo-Definition entweder exclude=mysql* oder eine entsprechende includepkgs -Zeile hinzufügen.

Sie werden von verschiedenen Betreuern gepackt und können in dem Sinne kollidieren, dass sie die gleichen Dateien usw. bereitstellen, und möglicherweise betrachten mysql rpm: s von offiziellen Repos keine Aktualisierungen der mysql rpm: s von remi installiert.

Ich denke, dump die Datenbanken, deinstallieren Sie alle mysql rpm: s von remi Repo, deaktivieren Sie remi Repo, yum clean alle, installieren Sie MySQL von offiziellen Repos und importieren Sie die Datenbanken.