expect移植到powerPC平台的过程
- expect介绍
expect时用与提供自动交互的工具(工作需要telnet/ssh自动登录远程设备并进行一些固定操作)。比如如果想要用ssh登陆服务器,每次都输入密码你觉得麻烦,那你就可以使用expect来做自动交互,这样的话就不用每次都输入密码了。
先看例子:
#!/usr/bin/expect #set timeout 20 #设置超时时间 expect "*password:" send "123\r"# expect "*#" interact |
解释:
1.#!/usr/bin/expect :需要先安装软件,然后来说明用expect来执行
2.spawn ssh root@192.168.43.131 :spawn是进入expect环境后才可以执行的expect内部命令,用来执行它后面的命令。
3.expect "*password:" :也是expect的内部命令,用来解惑关键的字符串,如果有,就会立即返回下面设置的内容,如果没有就看是否设置了超时时间。
4.send "123\r":这时执行交互式动作,与手工输入密码等效,在expect截获关键字之后,它就会输入send后面的内容。
5.interact :执行完毕后把持交互状态,把控制台,这时候就可以进行你想要进行的操作了。如果没有这一句,在登陆完成之后就会退出,而不是留在远程终端上。
2.源码下载
expect5.45.3.tar.gz:
https://sourceforge.net/projects/expect/files/Expect/5.45/expect5.45.tar.gz/download
tcl8.6.8-src.tar.gz:
http://tcl.sourceforge.net/
也可以从CSDN下载。
新建目录soft,将下载的expect5.45.3.tar.gz、tcl8.6.8-src.tar.gz放在soft目录下。
3.交叉编译TCL
由于expect是基于tcl语言的,所以移植expect前,需先交叉编译tcl。
root@ubuntu:/home/hanyang/soft# tar zxf tcl8.6.8-src.tar.gz
root@ubuntu:/home/hanyang/soft# mkdir install_tcl
root@ubuntu:/home/hanyang/soft# cd tcl8.6.8/unix/
注意,/configure …… 之前应该先:
root@ubuntu:export tcl_cv_strtod_buggy=1
root@ubuntu:export ac_cv_func_strtod=yes
否则,交叉编译tcl时会出现以下错误(普通编译无此错误)
fixstrtod.o: In function `fixstrtod':
fixstrtod.c:(.text+0x0): multiple definition of `fixstrtod'
strtod.o:strtod.c:(.text+0x0): first defined here
root@ubuntu:/home/hanyang/soft/tcl8.6.8/unix#export CC=/home/hanyang/BRD_BSP_Version/export/brd_bsp/tools/ppc_gcc4.8.2_glibc2.18.0_multi/bin/ppce6500-hardfloat-linux-gnu-gcc
root@ubuntu:/home/hanyang/soft/tcl8.6.8/unix#
./configure --prefix=/home/hanyang/soft/install_tcl/ --host=powerpc
生成Makefile
(configure时留意一下是否有这句话,没有的话可能有问题checking for powerpc-gcc... /home/hanyang/BRD_BSP_Version/export/brd_bsp/tools/ppc_gcc4.8.2_glibc2.18.0_multi/bin/ppce6500-hardfloat-linux-gnu-gcc
)
root@ubuntu:/home/hanyang/soft/tcl8.6.8/unix# make
root@ubuntu:/home/hanyang/soft/tcl8.6.8/unix# make install
在/home/hanyang/soft/install_tcl/lib路径下获取libtcl8.6.so和tcl8.6文件夹。
(file libtcl8.6.so 看一下是否是交叉编译运行在PowerPC下的 。)
4.编译expect
root@ubuntu:/home/hanyang/soft# tar zxf expect5.45.3.tar.gz
注意,expect不支持交叉编译,所以在configure,需要先用默认的X86 gcc编译,等configure后再修改Makefile
root@ubuntu:/home/hanyang/soft/expect5.45.3# ./configure \
--prefix=/home/hanyang/soft/install_expect/ \
--with-tcl=/home/hanyang/soft/install_tcl/lib \
--with-x=no \
--with-tclinclude=/home/hanyang/soft/install_tcl/include \
1)--prefix=/home/hanyang/soft/install_expect/:指定安装目录
2)--with-tcl=/home/hanyang/soft/install_tcl/lib:指定tcl所在目录,通常指定为tcl安装目录下的lib路径
3)--with-x=no: 告诉配置脚本,不要查找 tk (tcl 的 GUI 组件) 或 X 窗口系统库
4)--with-tclinclude=/home/hanyang/soft/install_tcl/include:指定tcl头文件所在目录,通常指定为tcl安装目录下的include路径
(检查打印信息checking for gcc... gcc)
生成Makefile后,修改
CC=/../../ppce6500-hardfloat-linux-gnu-gcc
AR=/../../ppce6500-hardfloat-linux-gnu-ar
root@ubuntu:/home/hanyang/soft/expect5.45.3# make
root@ubuntu:/home/hanyang/soft/expect5.45.3# make install
make install会出现错误,可以不管,只要能正常编译生成expect和libexpect5.45.so即可
编译生成libexpect5.45.3.so、expect,file看一下是否是运行在PowerPC平台上的。
5.移植
expect -------------\usr\local\bin
libexpect5.45.3.so、libtcl8.6.so-------------\lib
tcl8.6 ------------\usr\lib
调用expect,进入expect环境,说明安装成功。
expect移植到powerPC平台的过程相关推荐
- uboot移植到IMX6ULL平台详细过程
uboot移植到IMX6ULL平台详细过程 文章目录 uboot移植到IMX6ULL平台详细过程 1.解压 2 编译 NXP 官方开发板对应的 uboot 3 烧写验证与驱动测试 1.SD 卡和 EM ...
- PowerPC平台 Linux移植二
继PowerPC平台 Linux移植一,制作busybox文件系统,目的实现单板挂载nfs文件系统. 1.制作busybox文件系统 (1)交叉编译busybox a.make menuconfig ...
- oracle10g数据库复制,windows 下oracle 10G 数据库移植到 linux平台 (通过文件直接复制方法)...
windows 下oracle 10G 数据库移植到 linux平台 (通过文件直接复制方法) 最近学习了一下oracle数据库启动原理,于是,就把在windows创建起来做测试的数据库 移植到li ...
- 《蜡烛人》制作人高鸣:如何原汁原味的将主机游戏移植到手机平台
高鸣:大家好,我是高鸣,我是交典创艺的创始人也是游戏的制作人,准确地来说,我是这个团队里面的主程+主策.<蜡烛人>是比较有代表性的一款游戏,<蜡烛人>这款游戏基本上所有的代码都 ...
- 基于芯科Host-NCP解决方案的Zigbee 3.0 Gateway技术研究(三)-移植到ESP32平台(1)
相关系列文章 基于芯科Host-NCP解决方案的Zigbee 3.0 Gateway技术研究(-)-Z3GatewayHost应用搭建 基于芯科Host-NCP解决方案的Zigbee 3.0 Gate ...
- 华为鲲鹏专家解读:90%代码如何移植到鲲鹏平台
摘要:探讨一下软件移植到鲲鹏平台过程的原理,以及软件工程的相应的过程. Linux环境下跨平台软件移植过程中,需要开发者阅读代码.手工修改.反复编译和调试,移植周期长,效率低,那么如何改进周期长,效率 ...
- hadloop大数据平台论文_企业大数据平台建设过程中的问题和建议
2 0 1 7 年 第 1 2 期 信 息 通 信 2017 (总第 180 期) INFORMATION & COMMUNICATIONS ( Sum . N o 180) 企业大数据平台建 ...
- linux mkfs 源码,mkfs工具怎么移植到嵌入式平台下面
找到了e2fsprogs-1.41.3的源码,怎么修改编译后才能移植到嵌入式平台? 有交叉编译工具.但是不知道怎么修改Makefile文件 刚开始e2fsprogs的源码里没有Makefile文件 但 ...
- python是开源的它可以被移植到许多平台上对吗_Python程序设计答案
[其它]编写一个 Python 程序,输出如下图形效果. ++++++++++ + + ++++++++++ 2. 根据输入的百分制成绩,输出其所对应的五级制成绩. 3. 根据输入的身份证号码,输出对 ...
- lua脚本移植到linux平台,如何将lua移植到arm平台的linux内核
将脚本移植到内核是一件很酷的事情,lua已经被移植到NetBSD的内核中,也有一个叫lunatik的项目把lua移植到了linux内核,只可惜只支持x86,不支持arm,在网上搜索了下,没有找到现成的 ...
最新文章
- 《.NET与设计模式》学习(一)
- HDU2594——Simpsons’ Hidden Talents
- 神策 2021 数据驱动大会丨北京主会场首日直播,拼团早鸟票特惠来袭
- python第二版第六章课后答案_《Python编程》第六章部分课后练习题
- 中的 终端报错怎么看原因_《琅琊榜》中太子被封禁,高湛引皇上看桂花的真正原因是什么?...
- sysbench压力工具报错:
- 这些Python骚操作,你知道吗?
- VIM和sed 替换字符串方法
- MACH SYSTEMS—总线接口转换工具
- H5调用摄像头拍照并下载照片
- 以前进行的程序安装创建了挂起的文件操作(SqlServer2000或SqlServer 2000 SP4补丁安装) .
- 时序分析/约束(一):相关概念
- lay-verify的失效情况
- java图片叠加_[原创]JAVA中图片上叠加文字的方法
- 云原生背景下的运维价值思考与实践
- 网站项目计划书的写法如何写网站设计策划书
- python音频特征提取_Python干货:如何使用Python对音频进行特征提取?
- 9部最值得一看的黑客电影
- django框架之中间件
- 大数据必知必会之Kafka