サーバ環境にPerlのモジュールを追加導入することはよくあり、そのインストールにRPMを使ったり、コンパイルを行なったりCPANで行なったり、操作が一元化されないため管理が煩雑になってしまいます。
cpan2rpmとはCPAN経由でPerlモジュールを取得し、RPMにパッケージしてくれるというものです。
cpan2rpmの取得 # wget http://jaist.dl.sourceforge.net/sourceforge/cpan2rpm/cpan2rpm-2.027-1.noarch.rpm --20:11:53-- http://jaist.dl.sourceforge.net/sourceforge/cpan2rpm/cpan2rpm-2.027-1.noarch.rpm => `cpan2rpm-2.027-1.noarch.rpm' jaist.dl.sourceforge.net をDNSに問いあわせています... 完了しました。 jaist.dl.sourceforge.net[150.65.7.130]:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 62,863 [application/x-redhat-package-manager] 100%[====================================>] 62,863 201.94K/s ETA 00:00 20:11:55 (201.94 KB/s) - `cpan2rpm-2.027-1.noarch.rpm' を保存しました [62863/62863] cpan2rpmのインストール # rpm -ivh cpan2rpm-2.027-1.noarch.rpm Preparing... ########################################### [100%] 1:cpan2rpm ########################################### [100%] |
cpan2rpmのインストール # yum -y install cpan2rpm |
試しに、PerlのTime-modulesをインストールしてみる # cpan2rpm --install Time-modules -- cpan2rpm - Ver: 2.027 -- Signatures not set up Upgrade check * A newer version of this program is now available. To upgrade * enter the following command: /usr/bin/cpan2rpm --upgrade Fetch: HTTP -- module: Time-modules -- Found: Time-modules-2006.0814.tar.gz At: http://search.cpan.org//CPAN/authors/id/M/MU/MUIR/modules Retrieving URL Metadata retrieval : : : RPM: /usr/src/redhat/RPMS/noarch/perl-Time-modules-2006.0814-1.noarch.rpm SRPM: /usr/src/redhat/SRPMS/perl-Time-modules-2006.0814-1.src.rpm Installing package Preparing... ########################################### [100%] 1:perl-Time-modules ########################################### [100%] -- Done -- Time-modulesがインストールされたか確認してみる # rpm -qa perl-Time-modules perl-Time-modules-2006.0814-1 |
エラーメッセージ(一部抜粋) Signing package (pass phrase required) エラー: マクロファイル内で "%_gpg_name" を設定しなければなりません。 パスフレーズのチェックに失敗しました。 オプションに「--no-sign」を付加する # cpan2rpm --install --no-sign Time-modules |