050-3740-3773

長野・東京でホームページ制作

平日火曜-土曜日 11:00-18:00
050-3740-3773

長野・東京でホームページ制作

平日火曜-土曜日 11:00-18:00
2020/07/26
ライター:ichi

yumコマンドを叩くとフリーズする現象を修復

先日からワードプレスが引き金となってPHPやらDB系でupdateを繰り返しおりましたら、なんだか最近yumコマンドの返答が遅い。というかフリーズして返ってきまへん。。。なんて現象サーバ経験者なら一度や二度は経験ありますよね。

以前なら秒で出ていた結果も、1,2分もかかるような始末。。。

同様の現象でお困りの方いましたらどうぞ!

http://memo-off.blogspot.com/2014/06/yumrpm.html

上記のサイトは簡潔にまとめていましたので参考にどうぞ

rpmのデータベースが破損していて、それが原因
なので破損ファイルを一度削除して、再構築してあげればOKです。

破損ファイルの場所

# cd /var/lib/rpm/

上記ディレクトリ下ににパッケージ系(RPMのデータベース)が保存されているが、今回は以下のファイルが削除対象。

__db.001 __db.002 __db.003

ワイルドカードでサクッと削除

# rm -rf /var/lib/rpm/__db.*

再構築

# rpm -vv --rebuilddb

-vvで実行中のステータスを確認しながら再構築した。

yumの保存してる全キャッシュを削除

# yum clean all

yum clean XXXと細かく(メタデータやDBキャッシュ等を)コマンドを 指定してる参考サイトもあったが個人的には 「clean all」のみで問題ないと思う。

yum clean all
キャッシュからパッケージおよびメタデータをすべて削除 する

https://access.redhat.com/sites/default/files/attachments/rh_yum_cheatsheet_1214_jcs_print-ja.pdf

以下 clean XXXと細かく指定する場合

メタデータを削除する

# yum clean metadata

今まで急ぎで作業してるときは実行中のプロセスをCtrl+Cで強制終了したこともあったが、一度メタデータを削除すると再度yum実行時にメタデータが再構築されてエラーが解消される。

DBキャッシュを削除する

# yum clean dbcache

完了

再度yum実行後、速くなりました。

# yum repolist
Loaded plugins: fastestmirror, langpacks
Determining fastest mirrors
epel/x86_64/metalink
 * base: ftp-srv2.kddilabs.jp
 * epel: nrt.edge.kernel.org
 * extras: ftp-srv2.kddilabs.jp
 * remi-safe: ftp.riken.jp
 * updates: ftp-srv2.kddilabs.jp
base
epel
extras
mariadb-main
mariadb-maxscale
mariadb-tools
remi-safe

そもそもDB系(maria db)を10.3>10.5へバージョンアップしようと、現在のインストされているパッケージを確認しようとしたところ、フリーズしてしまったのが事の発端。

ただフリーズは解決したが結局実行した結果・・・・

A manual upgrade is required.

手動でアップデートしろってさ。。。

ということで次回は手動アップデートの手順を書きます。

# yum -y update mariadb-server
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftp-srv2.kddilabs.jp
 * epel: nrt.edge.kernel.org
 * extras: ftp-srv2.kddilabs.jp
 * remi-safe: ftp.riken.jp
 * updates: ftp-srv2.kddilabs.jp
Resolving Dependencies
--> Running transaction check
---> Package MariaDB-server.x86_64 0:10.3.15-1.el7.centos will be updated
---> Package MariaDB-server.x86_64 0:10.5.4-1.el7.centos will be an update
--> Finished Dependency Resolution

Dependencies Resolved

===========================================================================================================================================================================
 Package                                   Arch                              Version                                         Repository                               Size
===========================================================================================================================================================================
Updating:
 MariaDB-server                            x86_64                            10.5.4-1.el7.centos                             mariadb-main                             26 M

Transaction Summary
===========================================================================================================================================================================
Upgrade  1 Package

Total download size: 26 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
MariaDB-server-10.5.4-1.el7.centos.x86_64.rpm                                                                                                       |  26 MB  00:00:06
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction

******************************************************************
A MySQL or MariaDB server package (MariaDB-server-10.3.15-1.el7.centos.x86_64) is installed.

Upgrading directly from MySQL 10.3 to MariaDB 10.5 may not
be safe in all cases.  A manual dump and restore using mysqldump is
recommended.  It is important to review the MariaDB manual's Upgrading
section for version-specific incompatibilities.

A manual upgrade is required.

- Ensure that you have a complete, working backup of your data and my.cnf
  files
- Shut down the MySQL server cleanly
- Remove the existing MySQL packages.  Usually this command will
  list the packages you should remove:
  rpm -qa | grep -i '^mysql-'

  You may choose to use 'rpm --nodeps -ev <package-name>' to remove
  the package which contains the mysqlclient shared library.  The
  library will be reinstalled by the MariaDB-shared package.
- Install the new MariaDB packages supplied by MariaDB Foundation
- Ensure that the MariaDB server is started
- Run the 'mysql_upgrade' program

This is a brief description of the upgrade process.  Important details
can be found in the MariaDB manual, in the Upgrading section.
******************************************************************
error: %pre(MariaDB-server-10.5.4-1.el7.centos.x86_64) scriptlet failed, exit status 1
Error in PREIN scriptlet in rpm package MariaDB-server-10.5.4-1.el7.centos.x86_64
  Verifying  : MariaDB-server-10.5.4-1.el7.centos.x86_64                                                                                                               1/2
MariaDB-server-10.3.15-1.el7.centos.x86_64 was supposed to be removed but is not!
  Verifying  : MariaDB-server-10.3.15-1.el7.centos.x86_64                                                                                                              2/2

Failed:
  MariaDB-server.x86_64 0:10.3.15-1.el7.centos                                         MariaDB-server.x86_64 0:10.5.4-1.el7.centos

Complete!

失敗してるのにいつも元気に「Complete!」って出るのが個人的にツボる。

« ブログのトップに戻る

トップへ戻る

飛行機アイコン
ライン ロゴ








お問合せ ご相談