PHPがアップデートできない!
※この事例は、remiリポジトリを使用しています。またPHP71を対象としています。remiリポジトリを使っていない場合は参考にならないかも知れません。PHP71以外のバージョンでは適宜コマンドの指定を変えてください。ご注意ください!
CentOS 7.5-1804でyum updateを実施しようとしたら、アップデートが出来ませんでした。
手動でPHP以外のアップデートを済ませて再度確認を行った結果、以下のエラーが原因でした。
1 2 3 4 5 6 7 8 |
Error: Package: php-phpmyadmin-sql-parser-4.2.5-1.el7.noarch (epel) Requires: php-composer(phpmyadmin/motranslator) < 4 Installed: php-phpmyadmin-motranslator-4.0-1.el7.remi.noarch (@remi) php-composer(phpmyadmin/motranslator) = 4.0 Available: php-phpmyadmin-motranslator-3.4-1.el7.noarch (epel) php-composer(phpmyadmin/motranslator) = 3.4 You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest |
当然、–skip-brokenとかやる気は全く無いので、ググってみると同様の現象に見舞われている方を発見!
そのQAに書かれている内容を見て何となく方向性は判ったのだが、どうも気に掛かる。
やっぱり1個足りない気がする。。。。
危なっかしいので、万が一のことを想定しスナップショット(バックアップ)を取得してから以下の手順を順次実施した。
アップデート手順
まずは、障害を取り除く
まず最初にエラーメッセージ記載されているパッケージを以下のコマンドで削除する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# yum remove remove php-phpmyadmin-sql-parser.noarch php-phpmyadmin-motranslator.noarch Loaded plugins: fastestmirror Resolving Dependencies --> Running transaction check ---> Package php-phpmyadmin-motranslator.noarch 0:4.0-1.el7.remi will be erased --> Processing Dependency: php-phpmyadmin-motranslator >= 4.0 for package: phpMyAdmin-4.8.2-1.el7.remi.noarch ---> Package php-phpmyadmin-sql-parser.noarch 0:4.2.4-3.el7.remi will be erased --> Running transaction check ---> Package phpMyAdmin.noarch 0:4.8.2-1.el7.remi will be erased --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Removing: php-phpmyadmin-motranslator noarch 4.0-1.el7.remi @remi 53 k php-phpmyadmin-sql-parser noarch 4.2.4-3.el7.remi @remi 797 k Removing for dependencies: phpMyAdmin noarch 4.8.2-1.el7.remi @remi 24 M Transaction Summary ================================================================================ Remove 2 Packages (+1 Dependent package) Installed size: 25 M Is this ok [y/N]: y Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Erasing : phpMyAdmin-4.8.2-1.el7.remi.noarch 1/3 warning: /etc/phpMyAdmin/config.inc.php saved as /etc/phpMyAdmin/config.inc.php.rpmsave warning: /etc/httpd/conf.d/phpMyAdmin.conf saved as /etc/httpd/conf.d/phpMyAdmin.conf.rpmsave Erasing : php-phpmyadmin-sql-parser-4.2.4-3.el7.remi.noarch 2/3 Erasing : php-phpmyadmin-motranslator-4.0-1.el7.remi.noarch 3/3 Verifying : php-phpmyadmin-motranslator-4.0-1.el7.remi.noarch 1/3 Verifying : php-phpmyadmin-sql-parser-4.2.4-3.el7.remi.noarch 2/3 Verifying : phpMyAdmin-4.8.2-1.el7.remi.noarch 3/3 Removed: php-phpmyadmin-motranslator.noarch 0:4.0-1.el7.remi php-phpmyadmin-sql-parser.noarch 0:4.2.4-3.el7.remi Dependency Removed: phpMyAdmin.noarch 0:4.8.2-1.el7.remi Complete! |
Dependencies ResolvedとDependencies Removedの項目にも書かれているが、phpMyAdminもトランザクションの影響で削除されている。
こういう時、yum -yオプションは避けた方が良いだろう。
必要なパッケージを再度インストールして更新する。
とりあえず、参考にしたサイトに記載されていた内容でインストールしてみた。その手順が以下になる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# yum install --enablerepo=remi,php71 php-phpmyadmin-sql-parser.noarch php-phpmyadmin-motranslator.noarch Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * epel: ftp.riken.jp * extras: ftp.iij.ad.jp * remi: ftp.riken.jp * remi-safe: ftp.riken.jp * updates: ftp.iij.ad.jp Resolving Dependencies --> Running transaction check ---> Package php-phpmyadmin-motranslator.noarch 0:4.0-1.el7.remi will be installed ---> Package php-phpmyadmin-sql-parser.noarch 0:4.3.2-1.el7.remi will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: php-phpmyadmin-motranslator noarch 4.0-1.el7.remi remi 20 k php-phpmyadmin-sql-parser noarch 4.3.2-1.el7.remi remi 166 k Transaction Summary ================================================================================ Install 2 Packages Total download size: 187 k Installed size: 915 k Is this ok [y/d/N]: y Downloading packages: (1/2): php-phpmyadmin-motranslator-4.0-1.el7.remi.noarch.r | 20 kB 00:00 (2/2): php-phpmyadmin-sql-parser-4.3.2-1.el7.remi.noarch.r | 166 kB 00:00 -------------------------------------------------------------------------------- Total 685 kB/s | 187 kB 00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : php-phpmyadmin-motranslator-4.0-1.el7.remi.noarch 1/2 Installing : php-phpmyadmin-sql-parser-4.3.2-1.el7.remi.noarch 2/2 Verifying : php-phpmyadmin-motranslator-4.0-1.el7.remi.noarch 1/2 Verifying : php-phpmyadmin-sql-parser-4.3.2-1.el7.remi.noarch 2/2 Installed: php-phpmyadmin-motranslator.noarch 0:4.0-1.el7.remi php-phpmyadmin-sql-parser.noarch 0:4.3.2-1.el7.remi Complete! |
やっぱり、phpMyAdminがインストールされていない!
phpMyAdminを明示的に入れる必要があるわけで、以下のコマンドでインストールを行う。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# yum install --enablerepo=remi,php71 phpMyAdmin.noarch Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * epel: ftp.riken.jp * extras: ftp.iij.ad.jp * remi: ftp.riken.jp * remi-safe: ftp.riken.jp * updates: ftp.iij.ad.jp Resolving Dependencies --> Running transaction check ---> Package phpMyAdmin.noarch 0:4.9.0.1-1.el7.remi will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: phpMyAdmin noarch 4.9.0.1-1.el7.remi remi 5.3 M Transaction Summary ================================================================================ Install 1 Package Total download size: 5.3 M Installed size: 26 M Is this ok [y/d/N]: y Downloading packages: phpMyAdmin-4.9.0.1-1.el7.remi.noarch.rpm | 5.3 MB 00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : phpMyAdmin-4.9.0.1-1.el7.remi.noarch 1/1 Verifying : phpMyAdmin-4.9.0.1-1.el7.remi.noarch 1/1 Installed: phpMyAdmin.noarch 0:4.9.0.1-1.el7.remi Complete! |
無事入りました!
ちなみに、こちらはremiを使ってPHP71の事例となっていますが、その他のバージョンに関しては適宜バージョン指定を変えてくださいね。