Mitsutoshi NAKANO
itsan****@gmail*****
2014年 12月 29日 (月) 09:46:47 JST
opens****@opens***** MLで行われていた議論ですが、 canna****@lists***** MLにも関係しそうなので、 こちらにもCcします。 http://lists.opensuse.org/opensuse-ja/2014-12/msg00045.html に対する返事になります。 2014年12月25日 23:26 Fuminobu TAKEYAMA <ftake****@geeko*****>: > 武山です > > すみません、ウソを1つ書いていました >>> そして、cannaserver はデーモンを fork しないので、 >>> Type=forking も消さないといけないです。 > > そんなことはありませんでした。 > > Type=forking > で、無事動くようになりました。 > > socket ファイルを cannakill の代わりの rm で消しているので、 > canna-tmpfiles.conf でもきちんと消せるか確認してみます。 > # Fedora で動いているから消せると思います > > >> とはいうものの、リリースパッケージに入ってしまった以上、 >> 最低限動かせるようにしておく必要があるとは思いますが、 >> 本当に最低限の修正でいいと思うんです。 > >> 今回の原因は、openSUSE のパッチにあるのは明白のようなので、 >> そのパッチをまるっと削除するのもひとつの手でしょうか? > > 削除してもセキュリティ上問題ないことを、 > セキュリティチームに説明できれば、この方針でも大丈夫だと思います。 > > # Fedora のパッチを全部持ってきたから大丈夫という説明も > # できなくはないですね… > > > 本来、upstream first で、こういうパッチは良くないのですが、 > upstream が生きていないとこうなってしまうんですよね…。 https://sourceforge.jp/projects/canna/ は休眠状態ではありますが、 まだ死んでいるとは言えないのではないでしょうか? (私がFreeWnnで https://sourceforge.jp/projects/freewnn/lists/archive/users/2013-August/000138.html のようにやったみたいに) 使えそうなpatchを canna****@lists***** MLに 投げてみてはいかがでしょうか? > > On 2014/12/25 0:49, Masahiko Hashimoto wrote: >> >> はしもとまさです。 >> # 今日はアドレスを間違えてないはず! >> >> …ぶっちゃけた話、 >> そこまでして Canna をメンテする必要があるかな? >> という疑問が湧いています^^; >> >> とはいうものの、リリースパッケージに入ってしまった以上、 >> 最低限動かせるようにしておく必要があるとは思いますが、 >> 本当に最低限の修正でいいと思うんです。 >> >> 今回の原因は、openSUSE のパッチにあるのは明白のようなので、 >> そのパッチをまるっと削除するのもひとつの手でしょうか? >> >> 下手にパッチの箇所を修正して、 >> また次の openSUSE で動かなくなった!では単なる堂々巡りですしね。 >> >> いかがでしょうか? >> >> >> >> 2014年12月24日 23:33 Fuminobu TAKEYAMA <ftake****@geeko*****>: >>> >>> 武山です >>> >>> openSUSE の canna には、chroot 下で実行するパッチが入っているので、 >>> cannaserver を立ち上げる user は root でないといけないですね。 >>> ということで、User=canna は削除 >>> >>> そして、cannaserver はデーモンを fork しないので、 >>> Type=forking も消さないといけないです。 >>> >>> ただ、 >>> ExecStart=/usr/sbin/cannaserver -s -r /var/lib/canna -u wnn >>> ExecStop=/usr/bin/rm -rf /tmp/.iroha_unix >>> >>> でやってみたんですが、ExecStart にデバッグ有効の -d オプションを付けたときは >>> cannaserver が生きているんですが、-d を取るとすぐに終了してしまいました。 >>> >>> >>> 一応セキュリティパッチを取り払って、systemd の chroot 機能を使う手も >>> あるのですが、 >>> >>> - ソケットファイルをどうやって外に公開するか >>> # ln -s /tmp/.iroha_unix /var/lib/canna/tmp/.iroha_unix ってあり? >>> - chroot のパッチ、中で他にも色々やっているけどどうしましょう? >>> >>> On 2014/12/21 18:08, Fuminobu TAKEYAMA wrote: >>>> >>>> 武山です >>>> >>>>> sudo /usr/sbin/cannaserver -s -r /var/lib/canna -u wnn >>>> >>>> >>>> "You cannot specify a jail directory for user wnn" >>>> >>>> と怒られるようにはなりました。 >>>> >>>>> と、わざわざ削除しています。 >>>>> 全体として何がしたいのか解りにくい作りになってしまっているように見えます。 >>>>> >>>>> どう修正するのが正しいのか、私にはよく判らなくなってしまいました。 >>>> >>>> >>>> こちらは、systemd が一時ファイルを削除してくれるみたいなのですが、 >>>> /usr/lib/tmpfiles.d/canna-tmpfiles.conf >>>> に書かれたパスが間違っているようですね。 >>>> >>>> >>>> On 2014/12/21 17:56, Mitsutoshi NAKANO wrote: >>>>> >>>>> 2014年12月21日 17:30 Fuminobu TAKEYAMA <ftake****@geeko*****>: >>>>>> >>>>>> うーん、手作業で >>>>>> >>>>>> $ /usr/sbin/cannaserver -s >>>>>> >>>>>> しても、すぐに終了してしまいますね。 >>>>>> >>>>>> "-s" オプションと cannakill とユーザー名を wnn に戻しても >>>>>> まだ何かありそうです…。 >>>>> >>>>> >>>>> rccannaを参考に >>>>> sudo /usr/sbin/cannaserver -s -r /var/lib/canna -u wnn >>>>> とすれば起動しました。 >>>>> >>>>>> >>>>>> On 2014/12/21 17:13, Mitsutoshi NAKANO wrote: >>>>>>> >>>>>>> 2014年12月21日 13:04 Mitsutoshi NAKANO <itsan****@gmail*****>: >>>>>>>> >>>>>>>> 2014年12月21日 11:18 Masahiko Hashimoto <campa****@gmail*****>: >>>>>>>>> >>>>>>>>> はしもとまさ@Canna研究人です。 >>>>>>>>> >>>>>>>>> こちらも初めて openSUSE 13.2 で >>>>>>>>> Canna のクリーンインストールを試してみました。 >>>>>>>>> >>>>>>>>> で、原因ですが、起動スクリプトがバグっていますね。 >>>>>>>>> >>>>>>>>> openSUSE 13.2 で Canna から /etc/init.d/canna が廃止されて >>>>>>>>> systemd に対応したつもりのようですが、 >>>>>>>>> その起動スクリプトがあれれ〜!??という状態でした。 >>>>>>>>> >>>>>>>>> 13.2 (/usr/lib/systemd/system/canna.service)より抜粋: >>>>>>>>> ExecStart = /usr/sbin/cannaserver -syslog >>>>>>>>> ExecStop = /usr/sbin/cannakill >>>>>>>>> >>>>>>>>> ちなみに 13.1 では、、 >>>>>>>>> >>>>>>>>> 13.1 (/etc/init.d/canna)より抜粋: >>>>>>>>> Start) >>>>>>>>> startproc -u root -t 1 $CANNA_BIN -u wnn -r /var/lib/canna > >>>>>>>>> /dev/null 2>&1 >>>>>>>>> Stop) >>>>>>>>> killproc -TERM $CANNA_BIN >>>>>>>>> >>>>>>>>> 13.1 の /etc/init.d/canna も openSUSE の独自実装っぽいですが >>>>>>>>> なんにしても起動オプションが不足しています。 >>>>>>>>> >>>>>>>>> なので、/usr/lib/systemd/system/canna.service を修正してあげれば >>>>>>>>> 起動できるかと思います。 >>>>>>>>> >>>>>>>>> 以上です。(さてどうしよ…) >>>>>>> >>>>>>> >>>>>>>>> >>>>>>>>> 2014-12-21 10:33 GMT+09:00 Mitsutoshi NAKANO <itsan****@gmail*****>: >>>>>>>>>> >>>>>>>>>> 2014年12月21日 9:37 Mitsutoshi NAKANO <itsan****@gmail*****>: >>>>>>>>>>> >>>>>>>>>>> 2014年12月20日 15:28 Mitsutoshi NAKANO <itsan****@gmail*****>: >>>>>>>>>>> >>>>>>>>>>>> 2. cannaをインストールして動かすことができますか? >>>>>>>>>>>> >>>>>>>>>>>> mitsutoshi @ linux-rvvx:~> sudo systemctl start canna.service >>>>>>>>>>>> root's password: >>>>>>>>>>>> Job for canna.service failed. See "systemctl status >>>>>>>>>>>> canna.service" and >>>>>>>>>>>> "journalctl -xn" for details. >>>>>>>>>>>> mitsutoshi @ linux-rvvx:~> sudo systemctl status canna.service >>>>>>>>>>>> canna.service - Canna Japanese Conversion Engine >>>>>>>>>>>> Loaded: loaded (/usr/lib/systemd/system/canna.service; >>>>>>>>>>>> disabled) >>>>>>>>>>>> Active: failed (Result: exit-code) since 土 2014-12-20 >>>>>>>>>>>> 15:22:32 JST; 11s ago >>>>>>>>>>>> Process: 5421 ExecStart=/usr/sbin/cannaserver -syslog >>>>>>>>>>>> (code=exited, >>>>>>>>>>>> status=1/FAILURE) >>>>>>>>>>>> >>>>>>>>>>>> 12月 20 15:22:32 linux-rvvx systemd[1]: Failed to start Canna >>>>>>>>>>>> Japanese Conv.... >>>>>>>>>>>> 12月 20 15:22:32 linux-rvvx cannaserver[5421]: >>>>>>>>>>>> /usr/sbin/cannaserver: inval...' >>>>>>>>>>>> 12月 20 15:22:32 linux-rvvx cannaserver[5421]: Usage: cannaserver >>>>>>>>>>>> [-p num] ...] >>>>>>>>>>>> Hint: Some lines were ellipsized, use -l to show in full. >>>>>>>>>>>> >>>>>>>>>>>> もうちょっと調べてみるつもりですが、 >>>>>>>>>>>> cannaをインストールして起動することができますか? >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> とりあえずbug reportしておこうと思います。 >>>>>>>>>>> evidenceとして何を提出しておけばよいでしょうね? >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> レポートを出しました。 >>>>>>>>>> https://bugzilla.opensuse.org/show_bug.cgi?id=910933 >>>>>>>> >>>>>>>> >>>>>>>> どうもこのcanna.serviceですがFedoraのそれを >>>>>>>> よく調べずに流用したもののように見えます。 >>>>>>>> >>>>>>>> http://pkgs.fedoraproject.org/cgit/Canna.git/tree/canna.service >>>>>>>> >>>>>>>> https://build.opensuse.org/package/view_file/M17N/canna/canna.service >>>>>>>> >>>>>>>> -------- >>>>>>>> [Unit] >>>>>>>> Description=Canna Japanese Conversion Engine >>>>>>>> >>>>>>>> [Service] >>>>>>>> User=canna >>>>>>>> Type=forking >>>>>>>> ExecStart=/usr/sbin/cannaserver -syslog >>>>>>>> ExecStop=/usr/sbin/cannakill >>>>> >>>>> >>>>> しかし止めようとして >>>>> /usr/sbin/cannakill >>>>> を探したのですが無いですね。 >>>>> canna.specでは >>>>> >>>>> -------- %install section -------- >>>>> # Remove all cannakill manpages because we've disabled it in >>>>> # the server. >>>>> rm -f `find $RPM_BUILD_ROOT/usr/share/man -name 'cannakill*'` >>>>> rm -f $RPM_BUILD_ROOT/usr/sbin/cannakill >>>>> -------- >>>>> >>>>> -------- %files section -------- >>>>> # don't package cannakill, it is disabled by okir's security patch >>>>> anyway >>>>> # /usr/sbin/cannakill >>>>> # more secure permission for cannaserver >>>>> # (setuid and setgid bits was set per default). >>>>> %attr(755,root,root) /usr/sbin/cannaserver >>>>> -------- >>>>> >>>>> と、わざわざ削除しています。 >>>>> 全体として何がしたいのか解りにくい作りになってしまっているように見えます。 >>>>> >>>>> どう修正するのが正しいのか、私にはよく判らなくなってしまいました。 -- Mitsutoshi NAKANO <ItSAN****@gmail*****> <bkbin****@rinku*****> <https://twitter.com/ItSANgo> <http://d.hatena.ne.jp/Itisango/> ただ今就職活動中。