cpan2rpmの導入
こんばんは
長らく、お待たせいたしましたm(_ _ )m
資格取得に向けての勉強などで、更新が遅れてしまいました
本日は、Perlモジュールパッケージ管理システム
(perlモジュール管理を簡単にするため、rpmパッケージでインストールや管理)
cpan2rpmを導入してみようと思います
■cpan2rpmインストール
① cpan2rpmダウンロード
ここ のURLを参照にしてみる。
wget http://sourceforge.net/projects/cpan2rpm/files/cpan2rpm/2.027/cpan2rpm-2.027-1.noarch.rpm
↓
② cpan2rpmインストール
「rpm -Uvh cpan2rpm-2.027-1.noarch.rpm」実行後、"rpm-build"のエラー
が発生した為、yumコマンドにて"rpm-build"をインストールします。
途中確認メッセージが表示されますが、"y"を押しEnterキーを押してください。
再度、「rpm -Uvh cpan2rpm-2.027-1.noarch.rpm」実行しましたところ、
問題なくアップデート出来ました。
③ ダウンロードしたファイルを削除します。
rm -f cpan2rpm-2.027-1.noarch.rpm
■cpan2rpm動作確認
① 試しにPerlモジュールのURI::Findモジュールをインストールしてみる。
[root@linux01 ~]# cpan2rpm --install URI::Find
-- cpan2rpm – Ver: 2.027 --
Upgrade check
WARNING: libwww-perl module not found. To install, one of the following options may help:
1) Try http://www.rpmfind.net/linux/rpm2html/search.php?query=perl-libwww-perl
2) Specify the full URL of the tarball manually.
cpan2rpm -i http://www.cpan.org/modules/by-module/LWP/libwww-perl-5.68.tar.gz
3) Download tarball and specify file on commandline.
4) Configure CPAN: perl -MCPAN -eshell
5) cpan2rpm -i libwww-perl
Trying HTTP::Lite…
WARNING: this alternative module could not be found either! Please install the libwww-perl package as indicated above.
Trying external programs…
[途中省略]
※libwww-perlというモジュールが無いとの事
調べてみると、perl-libwww-perlをインストールすれば、解決するらしい。。。。
② perl-libwww-perlのインストール
[root@linux01 ~]# yum install perl-libwww-perl
↓
③ 再度、"cpan2rpm --install URI::Find"実行してみると・・・・・
[root@linux01 ~]# cpan2rpm --install URI::Find
-- cpan2rpm – Ver: 2.027 --
Upgrade check
* A newer version of this program is now available. To upgrade
* enter the following command: /usr/bin/cpan2rpm --upgrade
Fetch: HTTP
[途中省略]
---------------------------------------------------
※今度は、cpan2rpmのupgradeが必要との事
/usr/bin/cpan2rpm --upgradeを実行する↓
[root@linux01 ~]# /usr/bin/cpan2rpm --upgrade
-- cpan2rpm – Ver: 2.027 --
Upgrading…
Latest ver: 2.028
Retrieving URL
Generating spec file
SPEC: ./cpan2rpm.spec
-- Done --
Installing package
Use of uninitialized value in system at /usr/bin/cpan2rpm line 1073.
エラー: ファイルが見つかりません (by glob):
-- Done --
---------------------------------------------------
※う~~ん、upadateコマンド実施したが、
最新版が「2.028」との事で先に進まずエラー発生。。。。。
色々と探したところ、以下のcpan2rpmサイトを見つけました。
http://search.cpan.org/~ecalder/cpan2rpm/
[root@linux01 ~]# wget http://search.cpan.org/CPAN/authors/id/E/EC/ECALDER/cpan2rpm-2.028.tar.gz
④ 最新版cpan2rpmのインストール実施
・tar.gzの展開
[root@linux01 ~]# tar zxvf cpan2rpm-2.028.tar.gz
・Makefile、spec ファイルの生成
[root@linux01 ~]# cd cpan2rpm-2.028
[root@linux01 cpan2rpm-2.028]# perl Makefile.PL
Checking if your kit is complete…
Looks good
Writing Makefile for cpan2rpm
・ファイルの移動、権限付与
[root@linux01 cpan2rpm-2.028]# mv ../cpan2rpm-2.028.tar.gz /usr/src/redhat/SOURCES
[root@linux01 cpan2rpm-2.028]# chown root:root ./*
・cpan2rpm パッケージのビルド
[root@linux01 cpan2rpm-2.028]# rpmbuild -ba cpan2rpm.spec
・cpan2rpm パッケージのインストール
[root@linux01 ~]#rpm -Uvh /usr/src/redhat/RPMS/noarch/cpan2rpm-2.028-1.noarch.rpm
・cpan2rpm パッケージのインストール確認
[root@linux01 ~]#rpm -qa | grep cpan2rpm
cpan2rpm-2.028-1
④再々度、"cpan2rpm --install URI::Find"実行した結果・・・・・・
[root@linux01 ~]# cpan2rpm --install URI::Find
-- cpan2rpm – Ver: 2.028 --
Upgrade check
Fetch: HTTP
-- module: URI::Find --
Using cached URL: http://search.cpan.org//CPAN/authors/id/M/MS/MSCHWERN/URI-Find-20090319.tar.gz
Tarball found – not fetching
Metadata retrieval
Tarball extraction: [/usr/src/redhat/SOURCES/URI-Find-20100505.tar.gz]
Module::Build unloadable
[途中省略]
---------------------------------------------------
※次は、「Module::Build unloadable」って、、、、、、
またまた、調べてみると、「"rpmforge"と"perl-Module-Build"」をインストール
する必要があるらしい。。
・"rpmforge"と"perl-Module-Build"のインストール後、以下のように
cpan2rpmのオプション付加して、インストールして解決した事例がある。
[root@linux01 ~]#cpan2rpm http://search.cpan.org//CPAN/authors/id/R/RO/ROSCH/URI-Find-0.16.tar.gz --no-sign --install --author URI::Find
・RPMパッケージでインストールされているか確認
[root@linux01 ~]#rpm -q perl-URI-Find
perl-URI-Find-0.16-1
↑こんどは、うまくいった。
・・URI::Findモジュールをアンインストールする
[root@linux01 ~]#rpm -e perl-URI-Find
・作成されたRPMを削除
[root@linux01 ~]#rm -f /usr/src/redhat/RPMS/noarch/perl-URI-Find-0.16-1.noarch.rpm
・作成されたSRPMを削除
[root@linux01 ~]#rm -f /usr/src/redhat/SRPMS/perl-URI-Find-0.16-1.src.rpm
・RPM作成後始末
[root@linux01 ~]#rpmbuild --rmsource --rmspec /usr/src/redhat/SPECS/URI-Find.spec
本日は、長々となってしまいましたが、ここまでとしま~す
また、アップいたしますので、お待ちください