如果是树莓派3或4,就是有40根针的gpio接口的树莓派。
关机后,如果还没有断电,可以短接一下第5和第6根针,随即放开,即可实现重新开机。
本教程介绍如何在树莓派中安装cpolar,并且设置成开机自启动,这样就可以远程任意地方内网穿,访问家中的树莓派。
登录到cpolar后台,获取到自己的token值,然后复制到命令中,替换xxxxxxxx
配置文件会保存在 /home/pi/.cpolar/cpolar.yml,记录下该
路径
如下图,就说明已经配置好了
http 意思是创建一个http协议的隧道
8080 指定内网web站点的8080端口
按ctrl+C可退出。
如果还没有安装vim,可以先安装
我们先对vim做基本配置,目的是为了以防止稍后编辑时,多出TAB键。
在配置文件末尾添加如下内容:
set tabstop=2
set softtabstop=2
set shiftwidth=2
set expandtab
除了在cpolar命令行中,我们还可以在配置文件中添加多个隧道。这样多个隧道可以同时启动。
本例中,我们添加一个web隧道,一个ssh隧道
编辑cpolar的配置文件
在文件下面,我们编辑成如下内容:
参数说明:
注:这里的配置文件是yaml格式,每一级的参数前面,会缩进两个空格,不能使用TAB键,不能使用TAB键,不能使用TAB键。(重要说三遍)
如上图,则配置成功,如果提示某行错误,请根据行号及报错信息修改。
根据后台的进ID,杀掉后台运行的cpolar进程,本例如图中的28440,即为cpolar的后台进程ID
杀掉cpolar后台进程
编辑开机脚本
在exit 0前面,加入
如图:
保存退出
访问cpolar后台的状态页面: http://dashboard.cpolar.com/status
由于北邮校内网需要Drcom拨号,每次用curl命令很麻烦,所以开始了这次写开机启动脚本的过程。
init 进程读取 /etc/inittab文件中的信息,并进入预设的运行级别。
Debian中的运行级别
查看系统当前运行级别使用 runlevel 命令,通常情况下 /etc/rcS.d/目录下的启动脚本首先被执行,然后是/etc/rcN.d/目录,N为 /etc/inittab 中的initdefault。
/etc/rc2.d 中的部分文件如下:
有K开头的文件,有S开头的文件,K的意思是Kill,S为Start。K和S后面紧跟着的数字就是关闭和启动的顺序,数字越大关闭或启动顺序越靠后。
将自定义脚本放在 /etc/init.d 目录下面,就可以使用 service yourshellname start|stop 当然需要脚本中写好start,stop功能。但是不能开机自启动。
使用update-rc.d函数将脚本设置为开机自启动。
1)设置脚本启动和关闭依赖$remote_fs,$syslog,并且启动运行级别为2-5,关闭运行级别为0,1,6。
update-rc.d foobar defaults
上面一条命令就会在/etc/rc2.d rc3.d rc4.d rc5.d中创建软链接 S03drcom ->../init.d/drcom ,在rc0.d rc1.d rc6.d中创建软链接 K01drcom ->../init.d/drcom 。
2)设置脚本启动关闭都为顺序20,并且启动运行级别为2-5,关闭运行级别为0,1,6。
update-rc.d foobar start 20 2 3 4 5 . stop 20 0 1 6 .
同理。
3)移除连接。
update-rc.d yourshellname remove
参考文献:
[1] 开机自动执行脚本 与 update-rc.d
[2] 树莓派开机自启动脚本制作
[3] Debian init 开机启动管理
[4] 树莓派开机启动程序及启动脚本的制作
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)