YUMの再インストール

YUMの動きがおかしく、検索してもうまく表示されなかったので再インストールしてみました。
まず、CentOSのバージョンを確認します。

# cat /etc/redhat-release
CentOS release 5.11 (Final)

次にインストールされているRPMパッケージのバージョンを確認をします。

# rpm -q rpm
rpm-4.4.2.3-36.el5_11

YUM関連のパッケージの確認をします。

# yum deplist yum

Finding dependencies:
package: yum.noarch 3.2.22-40.el5.centos
  dependency: python(abi) = 2.4
   provider: python.x86_64 2.4.3-56.el5
  dependency: urlgrabber >= 3.1.0
   provider: python-urlgrabber.noarch 3.1.0-6.el5
  dependency: yum-metadata-parser >= 1.1.0
   provider: yum-metadata-parser.x86_64 1.1.2-4.el5
  dependency: yum-fastestmirror
   provider: yum-fastestmirror.noarch 1.1.16-21.el5.centos
  dependency: python-sqlite
   provider: python-sqlite.x86_64 1.1.7-1.2.1
  dependency: config(yum) = 3.2.22-40.el5.centos
   provider: yum.noarch 3.2.22-40.el5.centos
  dependency: /usr/bin/python
   provider: python.x86_64 2.4.3-56.el5
  dependency: rpm-python
   provider: rpm-python.x86_64 4.4.2.3-34.el5
   provider: rpm-python.x86_64 4.4.2.3-36.el5_11
  dependency: rpm >= 4.4.2
   provider: rpm.x86_64 4.4.2.3-34.el5
   provider: rpm.x86_64 4.4.2.3-36.el5_11
  dependency: python-elementtree
   provider: python-elementtree.x86_64 1.2.6-5
  dependency: python >= 2.4
   provider: python.x86_64 2.4.3-56.el5
  dependency: python-iniparse
   provider: python-iniparse.noarch 0.2.3-6.el5

依存関係があるパッケージが一覧で表示されます。
しかし、yumでアンインストールすると依存関係で上記以外のパッケージも色々と削除されてしまうので、今回はRPMコマンドで依存関係のチェックをしないで削除します。

# rpm -e --nodeps python-elementtree
# rpm -e --nodeps python-urlgrabber
# rpm -e --nodeps python-sqlite
# rpm -e --nodeps m2crypto
# rpm -e --nodeps rpm-python
# rpm -e --nodeps python-iniparse
# rpm -e --nodeps yum-metadata-parser
# rpm -e --nodeps yum yum-fastestmirror

最初に確認したOSのバージョンに合わせてサイトで上記の削除したrpmファイルのURLをコピーしてサーバにダウンロードします。

# wget http://ftp.riken.jp/Linux/centos/5.11/os/x86_64/CentOS/python-elementtree-1.2.6-5.x86_64.rpm
# wget http://ftp.riken.jp/Linux/centos/5.11/os/x86_64/CentOS/python-urlgrabber-3.1.0-6.el5.noarch.rpm
# wget http://ftp.riken.jp/Linux/centos/5.11/os/x86_64/CentOS/python-sqlite-1.1.7-1.2.1.x86_64.rpm
# wget http://ftp.riken.jp/Linux/centos/5.11/os/x86_64/CentOS/m2crypto-0.16-9.el5.x86_64.rpm
# wget http://ftp.riken.jp/Linux/centos/5.11/os/x86_64/CentOS/rpm-python-4.4.2.3-34.el5.x86_64.rpm
# wget http://ftp.riken.jp/Linux/centos/5.11/os/x86_64/CentOS/python-iniparse-0.2.3-6.el5.noarch.rpm
# wget http://ftp.riken.jp/Linux/centos/5.11/os/x86_64/CentOS/yum-metadata-parser-1.1.2-4.el5.x86_64.rpm
# wget http://ftp.riken.jp/Linux/centos/5.11/os/x86_64/CentOS/yum-3.2.22-40.el5.centos.noarch.rpm
# wget http://ftp.riken.jp/Linux/centos/5.11/os/x86_64/CentOS/yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm

ダウンロードしたパッケージをインストールします。

# rpm -ivh m2crypto-0.16-9.el5.x86_64.rpm python-elementtree-1.2.6-5.x86_64.rpm python-iniparse-0.2.3-6.el5.noarch.rpm python-sqlite-1.1.7-1.2.1.x86_64.rpm python-urlgrabber-3.1.0-6.el5.noarch.rpm rpm-python-4.4.2.3-36.el5_11.x86_64.rpm yum-3.2.22-40.el5.centos.noarch.rpm yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm yum-metadata-parser-1.1.2-4.el5.x86_64.rpm

エラー: 依存性の欠如:
        popt = 1.10.2.3-34.el5 は rpm-python-4.4.2.3-34.el5.x86_64 に必要とされ ています
        rpm = 4.4.2.3-34.el5 は rpm-python-4.4.2.3-34.el5.x86_64 に必要とされて います
        rpm-libs = 4.4.2.3-34.el5 は rpm-python-4.4.2.3-34.el5.x86_64 に必要とされています

しかし、依存性の欠如ということでエラーになってしまいました。
更に追加するため、ダウンロードします。

# wget http://ftp.riken.jp/Linux/centos/5.11/os/x86_64/CentOS/popt-1.10.2.3-34.el5.x86_64.rpm
# wget http://ftp.riken.jp/Linux/centos/5.11/os/x86_64/CentOS/rpm-4.4.2.3-34.el5.x86_64.rpm
# wget http://ftp.riken.jp/Linux/centos/5.11/os/x86_64/CentOS/rpm-libs-4.4.2.3-34.el5.x86_64.rpm

再度、インストールを実施し無事成功しました。
併せて、epelとremiリポジトリも再インストールしました。
インストールされているリポジトリのパッケージを確認します。

# rpm -qa remi-release epel-release
remi-release-5.10-1.el5.remi
epel-release-5-4

リポジトリの削除をします。

# rpm -e remi-release-5.10-1.el5.remi
# rpm -e epel-release-5-4

epelとremiは依存関係があるため、remiリポジトリから削除します。
逆にインストールする際は、epelリポジトリから先に追加します。
それぞれ、リポジトリキーとリポジトリの追加をします。

# wget http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-5
# rpm --import RPM-GPG-KEY-EPEL-5
# rm -f RPM-GPG-KEY-EPEL-5

# wget http://ftp.riken.jp/Linux/fedora/epel/epel-release-latest-5.noarch.rpm
# rpm -ivh epel-release-latest-5.noarch.rpm
準備中...                ########################################### [100%]
   1:epel-release           ########################################### [100%]

# wget http://rpms.remirepo.net/RPM-GPG-KEY-remi
# rpm --import RPM-GPG-KEY-remi
# rm -f RPM-GPG-KEY-remi

# wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
# rpm -ivh remi-release-5.rpm
準備中...                ########################################### [100%]
   1:remi-release           ########################################### [100%]

これで、再インストールが完了したのでPHP5.6を検索してみました。
すると無事パッケージが表示されました。

それではということで、管理しやすくするためにソースからインストールしたPHP5.6をアンインストールし、yumで改めてPHP5.6をインストールすることにしました。

LINEで送る
Pocket

コメントは受け付けていません。