人に聞けない痔の悩み、これでスッキリ >>

perlにNet::Telnetモジュールをインストールしたいのです。
私自身調査したのですが、linuxでのやりかたしか載っていなかったので、どうしたらよいのかわかりません。
というかそもそもwindowsで組み込むことができるのでしょうか。
windows上でインストールしたいのですがどうすればよいのでしょうか?

perl初心者なのでよくわからない質問をしているかもしれませんが、何卒、初心者の私にでもわかるように説明していただけると非常に嬉しいです。
よろしくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

×× files installed


のようなメッセージが出なかったのなら、インストールは完了していません。

1: Net-Telnet
Interact with TELNET port or other TCP ports
Version: 3.03

2: Net-Telnet-Cisco
automate Cisco management
Version: 1.10

3: Net-Telnet-Netscreen
interact with a Netscreen firewall
Version: 1.01

4: Net-Telnet-Options
Telnet options over any socket
Version: 0.01

5: Netscreen
interact with a Netscreen firewall
Version: 1.1

こんな感じに似たような名前のものが列挙された状態なら、
名前の指定があいまいなのでどれをインストールしてよいか判断できずに
条件にあったものの情報を出しただけです。

cmd.exeのコマンドプロンプトに戻ってきているのなら、
続けて
ppm install 1
(リストの最初が目当てのモジュールの場合)
とすればインストール作業をしてくれます。


>ppm install 1
Downloading Net-Telnet-3.03...done
Unpacking Net-Telnet-3.03...done
Generating HTML for Net-Telnet-3.03...done
Installing to site area...done
2 files installed


> ちなみにファイル検索したところC:\perl\site\libeにpmファイルで表示
> されるのですが、なんだかよくわからないことになりました↓
> すいません。初心者なので補足もそのままのことを書いてしまいました。

で、これは何がおきたというのでしょうか?
    • good
    • 0
この回答へのお礼

再度ご回答ありがとうございました。
前回のご回答でインストールできているのかと思いましたのでファイル検索を行ったところC:\perl\site\libにありましたので、なぜ?と思い質問しました。
コマンド上で上記打ちました。ppm install 1ではNo Searchでしたので、ppm install Net-Telnetと打つとSuccessfuly…………
(長いので省略させていただきます。)と表示されましたのでおそらくインストール完了したのだと思います。
ファイル検索でもNetディレクトリにTelnet.pmが入っていました!!

ご丁寧な回答ありがとうございました。

お礼日時:2007/08/15 02:16

こんにちは、


#3氏の回答の通りやって、プロンプトが戻ってきたら、とりあえず、
perldoc Net::Telnet
てして、PODが表示されればとりあえず OK かな?って感じです。(私の場合)

> ちなみにファイル検索したところC:\perl\site\libeにpmファイルで表示
Net::Telnetなら、Net ていうフォルダの中に、Telnet.pm というファイルが出来ると思いますよ。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!!
以下の#3様のご回答でのお礼にも書かせていただきましたが以下のようにやるとインストールできておりました。

g_p_様のコマンドでもPODが表示されましたのでおそらく大丈夫だと思います。表示内容は非常に長いので省略させていただきます。

またファイル検索でもNetディレクトリにTelnet.pmがありましたのでご報告させていただきます。

ご回答ありがとうございました!

お礼日時:2007/08/15 02:25

こんにちは、



ppm install Net::Telnet

はやってみたんですか?
まだなら、とりあえずやってみるのもいいかもです。

この回答への補足

回答ありがとうございました!
ppm install Net::Telnetやってみました。
すると、
Searching in Active Repositories
1.Net-Telnet[3.03]
2.Net-Telnet-Cisco[1.10]
3.Net-Telnet-Netscreen[1.01]
4.Net-Telnet-Optoins[0.01]
少々はしおりましたがこのように表示されました。
これはPPMパッケージでインストールされたという意味なのでしょうか?
ちなみにファイル検索したところC:\perl\site\libeにpmファイルで表示されるのですが、なんだかよくわからないことになりました↓
すいません。初心者なので補足もそのままのことを書いてしまいました。もしよろしければこの表示内容について説明していただけると非常にうれしいです!!

補足日時:2007/08/13 13:51
    • good
    • 0

CPANでインストールすればいいです


方法はLinuxと同じです。

この回答への補足

CPANは調べたときに見つけてやろうとしたんですがwindowsでもできるんですね。
windowsでCPANを使用するにはmakeやCコンパイラをインストールする必要があるのでしょうか??

補足日時:2007/08/13 00:11
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qtelnet接続

ある装置にtelnet接続し、コマンド(ccc dd ee)を送信して帰ってきた値を
outou.dat というファイルに保存するプログラムを作っています。

接続すると

login:

と表示されるので「aaaa」と入力すると

Welcome to aaaa
>

と表示され、「bbbb」と入力するとプロンプトが「#」に変わります。

>bbbb
#

そこでコマンド「ccc dd ee」を入力したときに帰ってくる応答をファイルに保存します。

#ccc dd ee
------応答データ--------


これを行うのに下記プログラムを実行しましたが、エラーは出ませんがファイルに何も
保存されませんでした。
何がいけないのかわかる方教えてください。


use strict;
use Net::Telnet;

my $host = '192.168.1.1';
my $login = 'aaaa';
my $enable = 'bbbb';
my $prompt1 = '/>/';
my $prompt2 = '/\S/';

my $telnet = new Net::Telnet(
Timeout => 10,
);

$telnet->open($host);

$telnet->waitfor('/login:/i');
$telnet->print($login);

$telnet->waitfor($prompt1);
$telnet->print($enable);

$telnet->waitfor($prompt2);

my @result;
$telnet->print("ccc dd ee");
($result) = $telnet->waitfor($prompt2);

open(OUT, "> outou.dat");
print(OUT "@result\n");
close(OUT);

$telnet->close;

ある装置にtelnet接続し、コマンド(ccc dd ee)を送信して帰ってきた値を
outou.dat というファイルに保存するプログラムを作っています。

接続すると

login:

と表示されるので「aaaa」と入力すると

Welcome to aaaa
>

と表示され、「bbbb」と入力するとプロンプトが「#」に変わります。

>bbbb
#

そこでコマンド「ccc dd ee」を入力したときに帰ってくる応答をファイルに保存します。

#ccc dd ee
------応答データ--------


これを行うのに下記プログラムを実行しましたが、エラ...続きを読む

Aベストアンサー

> エラーは出ませんが
本当ですか?

> ($result) = $telnet->waitfor($prompt2);
で使われている $result は宣言されていないようですが。
@resultと$resultは別の変数です。

$resultに取り込んだものを
>print(OUT "@result\n");
と@resultで出力することはできません。

Qテーブルの最後(最新)のレコードを抽出したい

宜しくお願いします。
PHP MYSQL の組み合わせで使っています

以下のようにして、最後のレコードを取り出したいのですが
まったく違う事をしているのかもしれません。

$sql =" select * from テーブル where フィールド='max' " ;

フィールドはauto_incrementで番号を振っています。
これで最大のつもりなのですが・・・。

他にも、レコードを入れた時間も記録したフィールドがあるのですが
どうしてよいか?判りません。

テーブルの最新のレコードを出したいのです。
**その中の一つのフィールドを取り出すのですが、
  それはうまくいっているみたいです 
  (max の所に数字を入れると表示します)

お手数かけますが、どなたかご教授お願いいたします。

Aベストアンサー

#2回答者です。

MySQL 4.1以前(サブクエリを使えない)なら、以下のような方法が考えられます。

select * from 表名
order by 列名 desc limit 1

Qgrepで検索文字列が完全一致した行だけ取り出す方法

grepの文字列検索で検索文字列が単語として、完全一致した行だけ取り出す方法はないでしょうか?

通常は
grep hoge hoge.txt

と打つと、hogeが含まれる行が出力されますが、今回は含まれる行ではなくて完全に文字列が一致した行だけ取り出したいのです。

例えばhoge.txtの中に
cc ghoge
kkl hogem
jjll hoge
という3行があったとしたら最後の行でhogeという文字が空白で区切られた行だけ取り出したいのです。

何かよい方法があれば教えてください

Aベストアンサー

-w オプションじゃだめですか?

参考URL:http://www.linux.or.jp/JM/html/GNU_grep/man1/grep.1.html

Qシステム停止時にコマンドを実行したい

システムの停止時にあるコマンドを実行したいと考えています。
ネットでの情報を検索すると
/etc/rc.d/halt に実行内容を登録しておけば、そのコマンドが実行されるという内容が
ありましたが、実際にやってみると、実行された形跡がありませんでした。

本当にやりたいことは、システム停止時に、「ある常駐プロセスにSIGTERMを発行したい」
ことなのですが、それをコマンドを登録して実行したいと考えています。

もし、/etc/rc.d/haltに登録して実行された方か、
ほかの方法をご存知の方がおりましたら教えてください。

ちなみに、「ある常住プロセスを立ち上げたまま、システムを停止させると、そのプロセスに対して
SIGTERMがOSから発行されている」と思われるのですが、このことを明確に記述されたものが
見当たりませんでした。もし、間違いなく、OSからSIGTERMが発行されるなら、それでもかまいませんが、その裏づけだけは、取っておきたいとおきたいと考えています。
この件で、ご存知の方がおりましたら、教えて頂けませんでしょうか。

OSはRedhat linux です。(正確なバージョンは今不明ですが、5.5だったかと思います)

システムの停止時にあるコマンドを実行したいと考えています。
ネットでの情報を検索すると
/etc/rc.d/halt に実行内容を登録しておけば、そのコマンドが実行されるという内容が
ありましたが、実際にやってみると、実行された形跡がありませんでした。

本当にやりたいことは、システム停止時に、「ある常駐プロセスにSIGTERMを発行したい」
ことなのですが、それをコマンドを登録して実行したいと考えています。

もし、/etc/rc.d/haltに登録して実行された方か、
ほかの方法をご存知の方がおりましたら教えてく...続きを読む

Aベストアンサー

Redhatということですので、シャットダウンの時には、/etc/rc0.d/ の下のスクリプトが名前順に実行されます。Kで始まるものが順次実行された後、S00killall とS01haltが実行され、S01haltの中で稼働中の全プロセスに SIGTERM が送られますので、特に何もしなくて良いです。

常駐プロセスであればサービス化するのがいいのでは?
/etc/rc.d/init.d の下に、他のサービスに習って起動終了を行うスクリプトを書いて、chkconfig --add で管理ファイルに登録し、chkconfig でどういうときに起動するのか設定します。
すると、他のサービスと同じように適宜、開始終了され、/sbin/service コマンドでも開始終了できるようになります。

Q稼働してるCentOSを丸ごと別PCにコピーしたい

CentOS6.3がx86_64の仮想環境上(KVM on CentOS6.3)で稼働しています。
この仮想マシン上でCentOS6.3の最小構成を元にパッケージやアプリケーションを追加し設定を行ってきました。
当初は仮想マシンを別のサーバのKVMに移行するだけだったのですが、この仮想マシン上の環境を実ハードウェア上で実行する事になりました。

現状は以下のようになっております。
KVM、実機ともx86_64になります。
カーネルはCentOSのモノをそのまま使ってます。
KVMでは/と/varがlvmのパーティーションで/homeはnfs。
実機の/homeはlocalにおきます。(たいして容量は使ってないのでコピーする予定)
Xは使ってません。
実機はKVMを使っていたPCと比べて性能が落ちるのでKVMは使えません。
仮想マシンのCentOSに実機のethernetとコンソール用ドライバは入れました。
initramfsは必要なら実機に合わせて作り直します。

一応手順として下記を考えましたが、できるだけ確実に、また時間を掛けずに行いたいので注意点や手順について教えて下さい。

手順その1
1USBHDDケースが有るので実機のHDDを一旦USBHDDケースに移す。
2 KVM上でUSBパススルーを使ってHDを接続しraid1でミラーする。
3 そのHDを実機に繋ぎ直して起動する。
4 /etc等を修正する。
問題点
ちゃんと起動するか判らない。
KVMから実機に移行した後に必要な修正点が把握出来ていない。

手順その2
1 最小構成で実機にインストール
2 KVM上のcentosからパッケージリストをダンプして、それを元にyumでパッケージを追加
3 /etcとか/varをコピー、修正
4 ユーザーの追加等、設定を移行
5 追加したアプリケーションをインストールし設定の移行、データのコピー。
問題点
基本的に新規インストールと変わらない。
dbのデータ移行はどうするか、設定漏れが無いか確認する手間が煩雑なのが予想される。
手動でコピーは作業漏れが怖いのでやりたく無いです。

手順その3
kickstartなるものが有るらしいのでそれを使う。
問題点
やり方が良く判ってません。
どの程度自動化できるのか把握出来てません。

以上3点どれも?マークな状況です。
注意点、手順等ご指摘お願いします。

CentOS6.3がx86_64の仮想環境上(KVM on CentOS6.3)で稼働しています。
この仮想マシン上でCentOS6.3の最小構成を元にパッケージやアプリケーションを追加し設定を行ってきました。
当初は仮想マシンを別のサーバのKVMに移行するだけだったのですが、この仮想マシン上の環境を実ハードウェア上で実行する事になりました。

現状は以下のようになっております。
KVM、実機ともx86_64になります。
カーネルはCentOSのモノをそのまま使ってます。
KVMでは/と/varがlvmのパーティーションで/homeはnfs。
実機の/homeはl...続きを読む

Aベストアンサー

http://d.hatena.ne.jp/nayutaya/20090204/1233735588
普通にMondo rescueではダメですか?
上記記事は物理→仮想ですが、特に物理とか仮想とか関係無く使えるツールなので、使ってみてはいかがでしょうか。


人気Q&Aランキング