アップデート

2015年2月13日 - 未分類

iTelepass2のソフトウエア アップデートへアクセスできます。

iTelepass2 Updaters

rerease150212  アップデート実験用のアップデータです。


アップデート方法

どうすれば簡単なのか、アップデートの方法をいろいろ考えました。iTelepass02に、アップデータがあるかどうか1日に1度調べて、アップデータがあれば、ダウンロードしてくれるデーモンを入れておきます。downloadUpdater.jsです。cronに登録しておき、AM5時にアップデータを調べて、最新版があれば、ダウンロードするようにしておきます。後は、Updateアプリを使って、アップデートします。

update0217

手動でアップデートする場合には、アップデータを解凍して、uppdate.txtにアップデートされるアプリのリストがあるので何がアップデートされるのか確認してから、shellアプリ

cd  /home/coder/coder-dist/coder-base/updaters/Update/

updateAll.sh

とします。

 

アップデータの作り方

アップデータファイルは、以下の様な名称をしています。

itelepass2update150217.taz  (これはテスト用のものです。)

アップデータの日時が入っていて区別できます。

tar zxvf itelepass2update150217.taz

のようにして解凍できます。解凍後には、Updateホルダーができます。Updateホルダーには、アップデート用のファイルができています。

updatelist.txt webアプリのアップデートリストです appName

以下のシェルスクリプトが入っています。

以下の手順で、修正したwebアプリのアップデータを作成することができます。

  • cd Update
  • アップデートするwebアプリ名をupdate.txtに登録します。webアプリ名の大文字は小文字に変換されます。vi update.txt
  • ./mkupdate.sh update.txt
  • itelepass2update日時.tazができます。cd ..; ls

 

update.sh 特定のwebアプリをアップデートします update.sh applist
mkupdater.sh webアプリのアップデータを作成します mkupdater.sh appName
cpapp.sh webアプリをアップデートホルダーにコピーします cpapp.sh appName
アプデート拡張
よく考えてみたら、アップデートしなければならないのは、Webアプリだけではありません。どこのファイルをアップデートしなければならないのかは予想できないはずです。そこで、仕様を少し拡張しました。

アップデータの中に、rootホルダーを作って、rootホルダーの中に、アップデータを入れるようにしました。rootホルダーにあるアップデータは、/直下で展開されます。なので、ここにアップデータを入れておけば、どこのファイルでもアップデートできます。しかし、この豪腕な方法には欠点があります。

  • アップデータファイルが大きくなる
  • アップデータファイルを作るのに手間がかかる
  • Webアプリからでは作れない

小さなサイズのアップデータで素早くアップデートする方法は今後の課題です。一先ずは、どんなファイルでもアップデートできるところから始めます。

アップデータ作成方法を忘れてしまいそうなので、まとめておきます。

$ cd /home/coder/update
$ mkdir Updater
$ mkdir Updater/root
$ cd Updater/root
$ tar zcvf sudoscript150222.taz /home/coder/coder-dist/coder-base/sudo-scripts
$ cd ../..
$ tar zcvf itelepass2update150222.taz Updater

なお、update.shで引数なしならば、Webアプリをアップデートしないで、rootホルダー直下のアップデータでアップデートを行います。

 

アップデートでバグというか、仕様変更の計画があります。現在のアップデートは、アップデートできる範囲が限定されています。システム設定の変更ができません。アップデータ自体をアップデートする予定です。