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