主页 > 软件 > openwrt luci开发及安装过程中的问题

openwrt luci开发及安装过程中的问题

2016年12月24日 openwrt luci开发及安装过程中的问题无评论 阅读: 999 次

1、缓存影响

luci会缓存用户访问的内容,有时用旧的控制语言去控制新开发的界面会出现错误,如果你开发或安装luci时遇到问题,先清除缓存

缓存目录/tmp/luci-modulecache,将目录下的文件全部删除

还有luci-indexcache文件

2、Luci控制文件的保存路径

/usr/lib/lua/luci

可以在此路径直接更改luci的文件,不用每次都编译、安装再测试

3、文件格式问题

最好用unix,其他格式如dos、UTF等可能会出现一些莫名其妙的问题,内容一样格式不同可能导致执行出错

在git中需设置“git config --global core.autocrlf false”,让Git不要管Windows/Unix换行符转换的事 ,不然上传的是unix,同步下载后又变成dos

4、交叉编译

编译ar71xx没问题,编译rammips时提示:

checking whether the C compiler works... no
configure: error: C compiler cannot create executables

解决:sudo apt-get install ccache

5、怎么将shell脚本或程序甩到后台执行

一些监控脚本或程序执行后不会退出,这时要把它甩到后台,否则在luci界面会一直显示正在应用配置。

有两种方法,一种是用service_start,此函数存在于/lib/functions/service.sh ,在shell脚本中前两行写上:

#!/bin/sh /etc/rc.common

SERVICE_DAEMONIZE=1

就可以调用此函数,如

#!/bin/sh /etc/rc.common
SERVICE_DAEMONIZE=1

service_start ssr-redir -c /var/etc/shadowsocksr.json

注意:引用了/etc/rc.common的脚本文件,对参数传递格式是“脚本名称 动作(start/stop/restart/reload/enable/disable) 参数列表”

比如有一个文件test.sh,内容为:

#!/bin/sh /etc/rc.common

echo $1_$2

执行

./test.sh 1 2 3

打印的是2_3,1被当成动作

 

另一种方法比较特别,用( ..  &)来执行命令,比如

( ssr-monitor 2  &)

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注