Qbilinux 日記

Linux に関係することだけではなく,最近は一般的なコンピュータやガジェット関係についても記載してます.

Plamo Linux でもバイナリパッケージ署名とかつけた方がいいのかな?

ちょっとしたトラブルがありました.

Plamo Linux のバイナリは ftp://plamo.linet.gr.jp/pub 以下が一時配布元になっていますが,ftp://ring.yamanashi.ac.jp/pub/linux/Plamo/ にもミラーされています.

で,最近の Plamo Linux のバージョンから get_pkginfo というコマンドが同梱されていて,ネットワークアップデートできるようになっています.このコマンドの参照 ftp サイトはオプションをつけることで変更することはできますが,デフォルトでは ring.yamanashi.ac.jp を参照するように作られています.

セキュリティアップデートを行っているのでちょこちょことバイナリの修正が行われているのですが,それが ring.yamanashi.ac.jp にミラーされる際にバイナリが壊れていたみたいで get_pkginfo でアップデートするときに失敗.見事にそのパッケージが削除される事態になってしまいました.壊れていたパッケージは util-linux.今はミラー先も正しくなっていますけど.

そのせいで,util-linux に同梱されている mount コマンドなどがなくなったのとともに,util-linux に含まれているライブラリがリンクされている wget コマンドなども動作不可能に.get_pkginfo 中から呼ばれている installpkg コマンド中で wget コマンドも使っているので,get_pkginfo コマンド自体も動作しなくなるという事態に.

当然,再起動してしまうと mount コマンドがないので,まともに立ち上がらなくなります.

get_pkginfo 中で updatepkg コマンドを使って新しいパッケージに更新を行っていますが,このコマンドはパッケージ削除して追加する形です.なので,新しいパッケージファイルが壊れていると,元のパッケージを削除した後に新しいパッケージを入れようとしたときにエラーになるので,パッケージが削除された状態になってしまいます.

ということで,タイトル内容に戻って,ほかのディストリビューションでも行っているように,Plamo Linux でもパッケージに署名とかつけておいてこういう状態になるのを防いだ方がいいのかな?ということになってます.

updatepkg コマンドを,新しいパッケージの署名をチェックして,正しければ古いパッケージを削除して新しいものを入れる形に仕様変更すれば良いかなと.

でも,署名もメンテナのキー管理とかもあるから,ちょっと面倒かなとも,

Plamo Linux みたいなマイナーなディストリビューションのバイナリパッケージにバックドアを仕込んで配布する人もいないだろうから md5sum くらいでいいのかなとも思うけど,どうせやるなら最初からきちんとした署名にしておいた方がいいのかなとも思います.

まぁ,メンテナでお話し合いかな.

こじまさんも一時期考えていたことはあるらしいですが,udp ではなく,tcp だとバイナリが壊れることもないだろうからということで,ずっとこれまでの形だったとのこと.

今後どうするかは追々考えていくということで.

でも,これをきっかけに久しぶりに mit の gpg のキーサーバーにアクセスしてみたら,かなーり昔に登録した公開キーがありました.けど,このときに使っていた秘密キーってマシンを転々と交換しているウチになくしちゃったんだよなぁ.また,きちんと作った物を登録しておいた方が良さそうだな.