▲Zaurus Top | ↑Up(設定・システム) | ←Prev(ntpdate で時刻合わせ) | →Next(opie-sh と qcop と簡単ツール)
(2003/07/03)
ipkg の情報は、 zaurus-ja.sourceforgr.jpに詳しいが、 短く言うと、次のようになる。
hogehoge_x.y-z_arm.ipk + debian-binary + control.tar.gz + control (+preinst.sh,postinst.sh,postrm.sh) + data.tar.gz + ./opt/ + ./opt/QtPalmtop/ + ./opt/QtPalmtop/apps/ + ./opt/QtPalmtop/apps/Applications/ + ./opt/QtPalmtop/apps/Applications/hogehoge.desktop {Qtopia ランチャー用の .desktop ファイル} + ./opt/QtPalmtop/bin/ + ./opt/QtPalmtop/bin/hogehoge {通常アプリの場合、本体の実行ファイルはココにある。} + ./opt/QtPalmtop/help/ + ./opt/QtPalmtop/help/ja/ + ./opt/QtPalmtop/help/ja/html/ {マニュアル(あれば)はここに。} + ./opt/QtPalmtop/i18n/ + ./opt/QtPalmtop/i18n/ja/ + ./opt/QtPalmtop/pics/ + ./opt/QtPalmtop/pics/hogehoge.png {ランチャー用のアイコン}
GUI を使って本体メモリにインストールするときは、だいたい次のような感じらしい(推測)。
では、SD カードにインストールしようとするときはどんな感じでしょう?
もう一歩すすんで、本体メモリにしかインストールできないのはどういう場合でしょう。Unix 系のコマンドは、
という特徴を持っている。
こういったコマンドをインストールするとき、postinst というシェルスクリプトが、パーミッションを再設定したり、シンボリックリンクを張ったりする。SD カードが vfat でフォーマットされていると、postinst で、パーミッションやシンボリックリンクが失敗して、「このソフトは本体メモリにしか、、」とエラーが出るのです。インストール開始後、ファイルを展開して、しばらくしてからエラーが出るのはそういうわけだ。
全部大文字のファイル名、全部小文字で8.3のファイル名やなんかは、vfat ではファイル名を見失うことがあるので要注意。
通常、パスが通っているのは
パス固定は論外。環境変数でなんとかなる場合もあるけど。
こういうコマンドが、「本体にしかインストールできません」と怒られるだ。
しかし、Unix のファイルシステムとパスを理解していれば、適切なパスに適切なファイルがあれば、SDカードであろうが、本体メモリであろうが、実行可能なはずである。
人間 ipkg と化して、手動で ipk と data.tar.gz を展開して、シンボリックリンクを張りまくり、後々のために、*.list や prerm を作成しておけば良い。そのための手順は上に述べたとおり。
余計な苦労をしたくない人は、とりあえず、SD カードを ext2 でフォーマットしておくと、ちょっとは SD に入るソフトが増えるだろう。ipk の内部には、本体メモリだとか SD だとかいうインストール先情報は含まれていない。失敗するかしないかだけだ。
▲Zaurus Top | ↑Up(設定・システム) | ←Prev(ntpdate で時刻合わせ) | →Next(opie-sh と qcop と簡単ツール)