|
玩linux少不了用telnet和ssh,动态域名必不可少,研究了几个在linux下的动态域名,只有3322的最好,可是安装上却有了好多问题。
郁闷了好几天阿,本来从3322上下载的编译好的ez-ipupdate直接就可以用了,不知为何,有了2天后不能运行了,错误提示为
$relocation error: ez-ipupdate: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
搜遍了互联网,也没有完善的解决方法,研究几天后终于解决了,其实根本不是glibc的问题,系统自带了glibc2.8版。
此错误的原因是,3322上下载的编译好的ez-ipupdate是32位的,源码也是32位的,要在64位下运行要自己重新编译,下面我把完整的解决方案说一下,遇到类似问题的朋友不要再走弯路了
1、下载、编译lynx
使用lynx(一般的Linux, BSD都自带), 下载地址:http://lynx.isc.org/release/ 就可以了
[dongfang@localhost lynx2-8-6]$ ./configure
[dongfang@localhost lynx2-8-6]$ make && make install
使用方法:
lynx -mime_header -auth=user:pass \"http://www.3322.org/dyndns/update?system=dyndns&hostname=myhost.3322.org\"
不用命令,修改lynx.csh脚本
#!/bin/sh
#请修改下面 \" \" 两个参数
HOSTNAME=\"host.3322.org\"
USERPASS=\"name:password\"
#请修改下面两个命令的路径:lynx和ez-ipupdate
LYNX=\"/usr/local/bin/lynx\"
UPDATER=\"/usr/local/bin/ez-ipupdate\"
ADDRESS=`${LYNX} -source http://www.3322.org/dyndns/getip`
${UPDATER} -a ${ADDRESS} -h ${HOSTNAME} -S qdns -u${USERPASS}
2、从3322上下载ez-ipupdate源码,是i386版本
解压
tar xzvf ez-ipupdate-3.0.10.tgz
cd ez-ipupdate-3.0.10
然后编辑一下源文件
vi conf_file.c
添加一行
#include <errno.h>
保存后,编译安装,注意这里要加一个32位的参数不然会不能识别liunx版本
checking host system type... Invalid configuration `x86_64-unknown-linux-gnu': machine `x86_64-unknown' not recognized
这是关键所在
[dongfang@localhost ez-ipupdate-3.0.10]$ linux32 ./configure
[dongfang@localhost ez-ipupdate-3.0.10]$ make && make install
3、运行脚本
[dongfang@localhost ~]$ ./lynx.csh
ez-ipupdate Version 3.0.10
Copyright (C) 1999-2000 Angus Mackay.
connected to members.3322.org (61.177.95.103) on port 80.
request successful
搞定
转帖请注明出处
附件是编译好的,我的系统是fedora 9 64位 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|