Ang*_*ngs 7 c linux updates updatemodel
我正在用Linux环境下的C编写一个程序(Debian-Lenny),并且希望在有更新时更新程序(当有新的更新时程序会收到通知).我正在寻找程序可以自我更新的方法.
我在想的是主程序调用一个新程序来处理更新.updater程序将拥有(访问)源代码并接收有关源代码更改的更新信息,如下所示:
edit1: line 20, remove column 5 to 20;
edit2: line25, remove column 4-7 then add "if(x>3){" from the column4
edit3: line 26, enter a new line and insert "x++;"
Run Code Online (Sandbox Code Playgroud)
然后杀死主进程,重新编译源代码,然后用旧的二进制文件替换新的二进制文件.
或者是否有更好(更简单)和标准的方式来实现程序可以自行更新的能力?
我使用该程序来控制具有Linux嵌入式主板的系统.因此,我不希望其他人可以访问源代码(如果系统被黑客攻击或其他东西).如果使用源代码更新程序的最佳方法,您如何建议我保护源代码?如果您建议我加密源代码,程序可以使用什么功能(Linux C)来加密和解密源文件?
如果您的目标系统是Debian,那么您应该利用Debian打包系统来提供更新.将已编译的应用程序.deb打包在一个包中,将其分发到系统中包含的APT存档中sources.list,然后使用cron安排定期更新检查apt.该.deb程序包可以包含重新启动应用程序的安装后脚本.
您可以apt-proxy在具有Internet访问权限的"网关"节点上运行缓存代理,并让其他节点将其用作apt源.
在这种情况下分发源代码可能不合适,因为那时您需要在目标系统上包含完整的编译器工具链.
| 归档时间: |
|
| 查看次数: |
1187 次 |
| 最近记录: |