プロが教える店舗&オフィスのセキュリティ対策術

初めてCPANを使い、perl -MCPAN -e shellとしたのですが、国やCPAN サーバを聞いてこず、どうもうまくいっていないみたいです。もう一度perl -MCPAN -e shellとやるのですが設定をきいてきません。
もう一度やり直すにはどうすればいいでしょうか?

[root@localhost ~]# perl -MCPAN -e shell
Terminal does not support AddHistory.

cpan shell -- CPAN exploration and modules installation (v1.7601)
ReadLine support available (try 'install Bundle::CPAN')

A 回答 (8件)

-eは判りますよね? コマンドラインでperlを1行のコマンドで動かすオプションで


 詳しくは"perl ワンライナー" で検索してください
 
-MCPANについては
http://homepage3.nifty.com/hippo2000/perltips/CP …
MCPANというコマンドとかじゃなくて -MのオプションがCPAN
つまりCPANモジュールをワンライナーで使うときの記述って事です。

File::Findモジュールをワンライナーで使うなら
perl -MFile::Find -e 以下略
LWPなら
perl -MLWP::Simple -e 以下略
http://digit.que.ne.jp/work/index.cgi?Perl%E3%83 …
http://homepage3.nifty.com/hippo2000/perltips/lw …
    • good
    • 0
この回答へのお礼

ありがとうございます。CPANのモジュールを使うということだったんですね。
[root@localhost ~]# perldoc CPANとしたところ
CPANモジュールの使い方が分かりました。^^
perlをコマンドラインで使うときのオプションはどこのマニュアルを
みればよいでしょうか?探したのですが見つからなくて。
-pオプションなどあると思うのですが。

お礼日時:2006/10/14 14:17

http://www-06.ibm.com/jp/developerworks/linux/01 …
http://www-06.ibm.com/jp/developerworks/linux/03 …
や、それらのリンクページですかねえ?
 その辺りはあんまり詳しくないので、、、
    • good
    • 0
この回答へのお礼

ありがとうございます。^^
難しそうですね。

お礼日時:2006/10/14 22:10

1.# cp -rf /usr/lib/perl5/5.8.5/ /usr/lib/perl5/BK-5.8.5/  <=万一のためバックアップする



2. ブラウザなどで http://ftp.riken.jp/Linux/centos/4.4/os/i386/Cen … などから
perl-5.8.5-36.RHEL4.i386.rpm を /usr/local/src/ などにダウンロードする

3. (上記の状態だと)コマンドラインで/usr/local/src/ に移動してから
# rpm2cpio perl*.rpm | cpio -id
これで123456 blocks などと表示されたら
/usr/local/src/usr/lib/perl5/5.8.5以下に展開されているので CPAN.pmなどを元の場所にコピーしなおす
##以上で削除前の状態に戻るはずです。
http://www.atmarkit.co.jp/flinux/rensai/linuxtip …

それから本題のCPANですが、私は使ったことないですが cpan2rpm というものが有るそうです
http://centossrv.com/cpan2rpm.shtml
    • good
    • 0
この回答へのお礼

ありがとうございます。
上記の方法で試してみたところうまくいきました。^^
初期設定をきいてきたのですが、再試行ばかりで
国やサーバーリストを選ぶところへはいけませんでしたが、
手動でkddilabsを設定してダウンロードできるようになりました。

このMCPANというのはソフトか何かでしょうか?
man perlとしたところオプションになかったのですが。

お礼日時:2006/10/12 23:43

あ、う、、、


今度からはrmでなくmvコマンドでfile名を変えるようにしてください
失敗しても元に戻せますので、、、、、

そうですね~~ perl自体をインストールしなおしたほうがいいかなあ?
とりあえず以下を補足要求します
1、ディストリビューションとバージョン(例:Fedora Core5など)
2、Perlをどうやって入れたか?(OSインストール時のまま? yum? apt? それとも自分でコンパイル?)
    • good
    • 0
この回答へのお礼

ありがとうございます。
CentOS4.4を使っています。
Perlは何で入れたか自信がないです。^^;;
[root@localhost yum.repos.d]# rpm -qa perl
perl-5.8.5-36.RHEL4

yum remove perl-5.8.5-36.RHEL
としたところ相当な数のパッケージが依存関係で削除されてしまうので
perl-5.8.5-36.RHEL4のみアンインストールしてインストールしなおしたらいいのかと考えていますがどうでしょうか?

お礼日時:2006/10/12 03:27

#3で煮え切らない書き方してましたが、


こちらで試して確認しました。

#3のConfig.Pmと
/root/.cpan/ ディレクトリ
 の2つを、削除または移動してから
# perl -MCPAN -e shell
 してください。 これで最初からやり直しになります。
    • good
    • 0
この回答へのお礼

わざわざためしていただいたんですね。
ありがとうございます。^^

さっそくためそうとしたのですが、
あやまって rm /usr/lib/perl5/5.8.5/CPAN.pm
を削除してしまい、困ったことになってしまいました。rm /usr/lib/perl5/5.8.5/CPAN/*としたのですが同様のエラーがでます。perlそのものをアンインストールしたほうがいいでしょうか?

rm /usr/lib/perl5/5.8.5/CPAN.pm
rm: remove 通常ファイル `/usr/lib/perl5/5.8.5/CPAN.pm'? y
[root@localhost ~]# perl -MCPAN -e shell
Can't locate CPAN.pm in @INC (@INC contains: /usr/lib/perl5/5.8.5/i386-linux-thread-multi /usr/lib/perl5/5.8.5 /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl/5.8.2 /usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.4 /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl/5.8.2 /usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl .).
BEGIN failed--compilation aborted.

お礼日時:2006/10/11 03:30

cpan>o conf


で打つと1行目に
CPAN::Config options from /usr/lib/perl5/5.8.8/CPAN/Config.pm:

と出てくるはずですが、その
/usr/lib/perl5/5.8.8/CPAN/Config.pmを消すなり、
/usr/lib/perl5/5.8.8/CPAN/BK-Config.pmにmvしちゃうなりすれば出来るようですが、、、
    • good
    • 0

>変更してみたのですが、どうもうまくいかないみたいです。


URL的には ftp://ftp.kddilabs.jp/CPAN/ で間違っていませんので
・原因1.ネットワークの問題
・原因2.たまたまサーバーが死んでいた。or混み合っていた

うちでもftp://ftp.kddilabs.jp/CPAN/を指定していますが
install途中で何度も再試行がかかりますよ
試しにftp://ftp.kddilabs.jp/CPAN/を削除してから
存在しないURLを指定してinstall Bundle::SSHしてみたら
質問者さんのと同じようなメッセージになりました

ブラウザで ftp://ftp.kddilabs.jp/CPAN/ ちゃんとアクセスできることを確認してからやり直すか
また別のサーバーを選びなおしてみてはどうでしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございます。
ブラウザでアクセスできるところは確かめました。
cpan> install Bundle::SSH
CPAN: Storable loaded ok
Going to read /root/.cpan/Metadata
Warning: Found only 0 objects in /root/.cpan/Metadata
となっているのが少し気になるのと、
初期設定で国やサーバーリストを聞かれなかったのが
気になるのですが、もう一度始めて接続したときのように初期設定をやり直すことはできないでしょうか?

お礼日時:2006/10/10 00:39

root@localhost ~]# perl -MCPAN -e shell



cpan>o conf オプション
で設定変更です
http://www.drk7.jp/MT/archives/000885.html
http://www.kozupon.com/perl/cpan.html <=の 2.
    • good
    • 0
この回答へのお礼

ありがとうございます。
変更してみたのですが、どうもうまくいかないみたいです。
urllist
ftp://ftp.kddilabs.jp/CPAN

途中までですがこういう感じになります。
cpan> install Bundle::Test
CPAN: Storable loaded ok
Going to read /root/.cpan/Metadata
Warning: Found only 0 objects in /root/.cpan/Metadata
CPAN: LWP::UserAgent loaded ok
Fetching with LWP:
ftp://ftp.kddilabs.jp/CPAN/authors/01mailrc.txt.gz
LWP failed with code[500] message[LWP::Protocol::MyFTP: Bad hostname 'ftp.kddilabs.jp']
Fetching with Net::FTP:
ftp://ftp.kddilabs.jp/CPAN/authors/01mailrc.txt.gz

Trying with "/usr/bin/links -source" to get
ftp://ftp.kddilabs.jp/CPAN/authors/01mailrc.txt.gz
ERROR at dump.c:188: Host not found

System call "/usr/bin/links -source "ftp://ftp.kddilabs.jp/CPAN/authors/01mailrc.txt. … > /root/.cpan/sources/authors/01mailrc.txt"
returned status 1 (wstat 256)
Warning: expected file [/root/.cpan/sources/authors/01mailrc.txt.gz] doesn't exist

Trying with "/usr/bin/wget -O -" to get
ftp://ftp.kddilabs.jp/CPAN/authors/01mailrc.txt.gz
--20:09:25-- ftp://ftp.kddilabs.jp/CPAN/authors/01mailrc.txt.gz
=> `-'
ftp.kddilabs.jp をDNSに問いあわせています... 失敗しました: 名前解決時の一時的な失敗.

お礼日時:2006/10/09 20:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!