免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2615 | 回复: 9
打印 上一主题 下一主题

Net::telnet可以在远程机器上交互安装软件么? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-21 11:40 |只看该作者 |倒序浏览
use Net::Telnet ();
$t = new Net::Telnet(
    Timeout => 10,
);
$t->open("10.13.100.1");
$t->login("root", "root");
$line = $t->cmd("cd /qwertyusdfg");
print "line ---- $line \n";
$t->cmd("bunzip2  CSKtomcatbundle_1.3.1_sparc.pkg.bz2");
$t->cmd("pkgadd -d CSKtomcatbundle_1.3.1_sparc.pkg");
$t->cmd("cp ./Web20Emulator.war /opt/coolstack/tomcat6/webapps");
$t->cmd("/opt/coolstack/tomcat6/bin/startup.sh");

print("start TOMCAT in  successful  \n");




我发现运行过之后,没有安装,但是程序运行到了最后。。

[ 本帖最后由 noexcuse 于 2008-8-21 11:43 编辑 ]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2008-08-21 11:43 |只看该作者
为何不上传一个脚本文件,然后用 Net::Telnet 调用它执行呢?

论坛徽章:
0
3 [报告]
发表于 2008-08-21 13:22 |只看该作者
谢谢,我刚改了下,但是又碰到一个问题,我需要pkgadd -d ,似乎这样在我的机器屏幕上看不到吧?

  1. use Net::Telnet ();
  2. $t = new Net::Telnet(
  3.         Timeout => 10,
  4. #        Prompt  => '/\$ $/'
  5. );
  6. $t->open($ip);
  7. $t->login($username, $passwd);
  8. $line = $t->cmd("cd $tomcat");
  9. my @perl = $t->cmd("which perl");
  10. chomp(@perl);
  11. #print "@perl /$tomcat/Geocoder.pl \n";
  12. $t->cmd("@perl /$tomcat/Geocoder.pl");
复制代码


Geocoder.pl就在远程机器上,它里面包含pkgadd -d 等语句

[ 本帖最后由 noexcuse 于 2008-8-21 13:24 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2008-08-21 14:10 |只看该作者
你没有模式匹配,我不知道你是怎样运行的
建议你用perl/expect

论坛徽章:
0
5 [报告]
发表于 2008-08-25 09:21 |只看该作者
楼上能不能说的详细一点,我不是很明白
现在的问题是可以net::ftp把东西放到远程机器上去,但就是pkgadd -d看不到安装界面
试图解决方法:
1、pkgask 生成一个安装文件,过程中弹出错误,说CSKtomcat里面不包含交互安装的文件,失败
2、先建一个文件file,里面输入
y
2
用pkgadd -d CSKtomcat <file,第一个y可以进行下去,2就不行了(安装CSKtomcat第一步要同意安装y,第二步选择哪个版本,选2),失败

这个perl/expect可以解决这个问题么?还有别的解决方法么?
谢谢大家了

[ 本帖最后由 noexcuse 于 2008-8-25 09:23 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2008-08-25 09:43 |只看该作者
tomcat? 没用过

论坛徽章:
0
7 [报告]
发表于 2008-08-25 10:12 |只看该作者
用没用tomcat倒是无所谓
只有知道 无交互,远程安装软件包就可以了 呵呵

论坛徽章:
0
8 [报告]
发表于 2008-08-25 10:44 |只看该作者

回复 #7 noexcuse 的帖子

flw 的方法不行吗?

论坛徽章:
0
9 [报告]
发表于 2008-08-25 11:19 |只看该作者
我在3楼回复过了,pkgadd -d 看不到安装的交互界面。。。
我在自己机器上用Net::Telnet ()执行
perl /$tomcat/Geocoder.pl
Geocoder.pl在远程机器上,里面有pkgadd -d CSKtomcat等语句
我在自己机器上可以看到安装的界面么?
是我写错了?还是用Net::Telnet ()根本做不到?
下面是Geocoder.pl中安装tomcat的方法

  1. sub install_tomcat {
  2.         if ( $install !~ /\bCSKtomcat/ ) {
  3.                 print("bunzip CSKtomcat..... \n");
  4.                 if ( -e $CSKtomcat1 . $pkg ) {
  5.                         print(
  6.                                 "$CSKtomcat1 install file has been Extracted,Continue...  \n");
  7.                 }
  8.                 else {
  9.                         my_system("bunzip2  $CSKtomcat1$bz2  2>>./web20kit_setup$date.log");
  10.                 }
  11.                 my_system("pkgadd -d $CSKtomcat1$pkg");
  12.         }
  13.         print("CSKtomcat has been installed successful \n");
  14. }
复制代码
yangfengwait 该用户已被删除
10 [报告]
发表于 2008-09-08 10:31 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP