pearでcould not extract the packageエラー

pearで新しいパッケージをインストールするとエラーが出る。

-------------------------------------------------
could not extract the package ~
-------------------------------------------------

tgz ファイルが展開できないという内容らしい。

以下のサイトを参考に対処
pearコマンドでcould not extractのエラーが発生

インストール時の解凍に失敗する Tarのバグ(PEAR/Archive/Tar.php)

PEAR on PHP 5.5: could not extract package.xml

原因は Archive_Tar のバグ。なので Archive_Tar 自体をアップデートを試みるが、Archive_Tar のファイル自体が解凍できないので解決できない。

-------------------------------------------------
pear upgrade Archive_Tar
downloading Archive_Tar-1.4.2.tgz ...
Starting to download Archive_Tar-1.4.2.tgz (20,624 bytes)
.....done: 20,624 bytes
could not extract the package.xml file from "/tmp/pear/download/Archive_Tar-1.4.2.tgz"
Download of "pear/Archive_Tar" succeeded, but it is not a valid package archive
Error: cannot download "pear/Archive_Tar"
Download failed
upgrade failed
-------------------------------------------------

解凍はできないけどファイルのダウンロードはできているようなので手動で解凍。

-------------------------------------------------
tar zxvf Archive_Tar-1.4.2.tgz
-------------------------------------------------

解凍したファイルと問題のあるファイルを置き換える

ファイルの場所を確認
-------------------------------------------------
find / -name Tar.php
/usr/share/pear/Archive/Tar.php
/tmp/pear/download/Archive_Tar-1.4.2/Archive/Tar.php
-------------------------------------------------

ファイルの置換
-------------------------------------------------
cp /tmp/pear/download/Archive_Tar-1.4.2/Archive/Tar.php /usr/share/pear/Archive/
-------------------------------------------------

これでOK。

古い pear がインストールされたのが原因だったので pear 自体をアップグレードしておく
-------------------------------------------------
pear upgrade PEAR
-------------------------------------------------