我正在Linux環境(Debian-Lenny)的C上編寫一個程序,並希望程序在更新可用時進行更新(程序會在新的更新可用)。我正在尋找一種程序可以自行更新的方式。Linux C - 實現程序自身可以更新的能力
我在想什麼是主程序調用一個新的程序來處理更新。該更新程序將有(獲得)的源代碼,並接收有關源代碼的修改,類似的東西更新信息:
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++;"
然後殺死的主要過程,重新編譯源代碼,然後更換與舊的新的二進制文件。
還是有更好的(更容易)和標準的方式來實現程序可以自行更新的能力嗎?
我使用該程序來控制一個Linux嵌入式系統板。因此,我不希望源代碼可以被其他人訪問(如果系統被黑客攻擊或者其他)。 如果使用源代碼更新程序的最佳方式,您如何建議我保護源代碼?如果您建議我加密源代碼,那麼該程序可以使用什麼函數(Linux C)來加密和解密源文件?
如何檢查遠程服務器上的更新?這是一個選擇嗎? – Jeff
可能是最簡單的更新svn,git等主幹,然後重新編譯代碼,並讓svn或git等完成骯髒的工作。 – hetepeperfan
我不確定我是否正確地閱讀了這篇文章,但是如果您關心源代碼,則應該在安全的方框中編譯新版本的程序,然後發送二進制文件(或讓客戶端讀取它)。 – Will