安装和使用花生壳(linux) 一、安装说明(以CentOS 5为例) 1、安装必要的开发包 [root@localhost ~]# yum install gcc gcc-c++ autoconf automake 2、下载phddns-2.0.2.16556.tar.gz到某一个目录 [root@localhost ~]# wget http://download.oray.com/peanuthull/phddns-2.0.2.16556.tar.gz 3、解压所有文件 [root@localhost ~]# tar zxvf phddns-2.0.2.16556.tar.gz 4、进入目录并编译 [root@localhost ~]# cd phddns-2.0.2.16556 [root@localhost phddns-2.0.2.16556]# aclocal [root@localhost phddns-2.0.2.16556]# autoconf [root@localhost phddns-2.0.2.16556]# automake [root@localhost phddns-2.0.2.16556]# ./configure [root@localhost phddns-2.0.2.16556]# make [root@localhost phddns-2.0.2.16556]# cd src [root@localhost src]# ls -l phddns -rwxr-xr-x 1 root root 80968 Aug 2 11:18 phddns 5、执行编译好的程序并配置(默认使用/etc/phlinux.conf,如果不存在这个文件则自动进入交互配置) [root@localhost src]# ./phddns 输入服务器地址,如无特殊情况可使用默认值 Enter server address(press ENTER use phlinux3.oray.net): 输入您的Oray帐号名称 Enter your Oray account: 对应的Oray帐号密码 Password: 选择帮定的网卡,如无特殊,默认即可 Network interface(s): eth0:192.168.141.18 lo:127.0.0.1 Choose one(default eth0): 选择日志保存到哪个文件 Log to use(default /var/log/phddns.log): 保存配置文件,选择yes则直接保存到/etc/phlinux.conf,输入other可以指定文件 Save to configuration file (/etc/phlinux.conf)?(yes/no/other): 接下来程序将已交互模式开始运行 192.168.141.18 NIC bind success OnStatusChanged okConnecting OnStatusChanged okDomainListed OnDomainRegistered skyvense22.gicp.net OnStatusChanged okDomainsRegistered UserType: 0 看到上面这些就表示登录成功,这个时候可以按ctrl+c先退出程序 6、将phddns拷贝到你希望的位置 [root@localhost src]# cp phddns /usr/bin/ 7、以后台模式启动花生壳并检查运行情况 [root@localhost ~]# /usr/bin/phddns -c /etc/phlinux.conf -d phlinux started as daemon! [root@localhost ~]# tail /var/log/phddns.log 2011/08/02 11:28:58.256| ExecuteUpdate OK, BeginKeepAlive! 2011/08/02 11:29:59.354| SendKeepAlive() 8208 2011/08/02 11:30:00.355| RecvKeepaliveResponse() Data comes, OPCODE:8272 2011/08/02 11:30:00.356| Keepalive response received, client ip: 116.231.123.96 2011/08/02 11:31:00.447| SendKeepAlive() 8208 2011/08/02 11:31:01.450| RecvKeepaliveResponse() Data comes, OPCODE:8272 2011/08/02 11:31:01.450| Keepalive response received, client ip: 116.231.123.96 8、退出花生壳 查看进程ID [root@localhost ~]# ps -A | grep phlinux 13731 ? 00:00:00 phlinux 让后台进程退出 [root@localhost ~]# kill -9 13731 9、将花生壳加到系统启动时运行 [root@localhost ~]# vi /etc/rc.local 在文件的末尾加上一行:/usr/bin/phlinux -c /etc/phlinux.conf -d 二、花生壳Linux版本命令行参数说明 [root@localhost ~]# /usr/bin/phlinux -h Peanuthull Linux-core 2.0 by oray.com, copyright 2011 Peanuthull Linux-core Help --first-run -f, run for the first time 用于首次启动时配置参数 --interact -i, run as interactive mode program will request for necessary parameters. this mode will automatically enabled at first running, or your configuration file has been lost. 启动交互模式 --daemon -d, run as a daemon program will quit after put itself to background, and continue running even you logout, you can use kill -9 to terminate. 后台模式 --config -c, run with configuration file program will run with the file 指定使用哪一个配置文件 --user -u, run as the user program will run as the user 以指定用户启动后台进程 --help -h, print this screen. Please visit http://www.oray.com for detail. 三、常见问题 如何手动修改登陆的用户名及密码? 您可以直接编辑/etc/phlinux.conf文件,对登陆用户名及密码进行修改。 花生壳日志保存路径 /var/log/phddns.log 为什么花生壳无法登陆? 花生壳使用的通信端口是TCP:6060和UDP:6060(方向:OUT),请确认防火墙没有把这几个通信端口封掉。 如何查看花生壳当前运行状态? 查看日志: [root@localhost ~]# tail /var/log/phddns.log 2011/08/02 11:28:58.256| ExecuteUpdate OK, BeginKeepAlive! 2011/08/02 11:29:59.354| SendKeepAlive() 8208 2011/08/02 11:30:00.355| RecvKeepaliveResponse() Data comes, OPCODE:8272 2011/08/02 11:30:00.356| Keepalive response received, client ip: 116.231.123.96 2011/08/02 11:31:00.447| SendKeepAlive() 8208 2011/08/02 11:31:01.450| RecvKeepaliveResponse() Data comes, OPCODE:8272 2011/08/02 11:31:01.450| Keepalive response received, client ip: 116.231.123.96 如何在其他平台(非X86)编译运行? 交叉编译mips cpu版本方法: 1、安装交叉工具并配置环境 ........ 2、配置参数 ./configure --host=i386-linux --target=mipsel-linux --build=mipsel-linux CXX=mipsel-linux-gcc CC=mipsel-linux-gcc LD=mipsel-linux-ld 3、make 4、最后静态链接下 mipsel-linux-gcc -g -O2 -o phlinux -s main.o phupdate.o PHGlobal.o PHSocket.o md5.o log.o generate.o coder.o blowfish.o bitstream.o base64.o ConvertUTF.o CCmdParser.o PhClient.o PhUpdater.o /opt/openwrt/mipsel-linux/lib/librt.a /opt/openwrt/mipsel-linux/lib/libstdc++.a //opt/openwrt/mipsel-linux/lib/libc.a 5、压缩下(好放到路由器的小空间) upx -o phlinux2 phlinux