vine-users ML アーカイブ



[vine-users:077225] Re: proftpd - unknown parameter

  • From: Shinichiro HIDA <shinichiro@xxxxxxxxxxxxx>
  • Subject: [vine-users:077225] Re: proftpd - unknown parameter
  • Date: Wed, 11 Jul 2007 15:42:14 +0900
飛田です。

>>>>> In [vine-users : No.077218] 
>>>>>	ikumi@xxxxxxxxxxxxx wrote:
> 北岡@横浜市です。

[...]

> >* 起動スクリプトの位置について
> 本日昼間に少し時間があったので調べていて

> /etc/rc.d/init.d/proftpd からpathによって
> /usr/sbin/proftpd
> or
> /usr/local/sbin/proftpd
> のどちらかを起動するという流れが見えてきました。

[...]

> 現在のパスは下記の通りでしたので
> PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin"

> # pwd
> /usr/sbin
> # mv proftpd proftpd1210
> # mv ftpshut ftpshut1210
> # cp /etc/proftpd.conf /usr/local/etc/
> # /etc/rc.d/init.d/proftpd start

> 接続確認
> ホスト 192.168.0.100 (21) に接続しています.
> 接続しました.
> 220 ProFTPD 1.3.0a Server (kitaoka) [192.168.0.100]

> として接続できました。

北岡さんは、現在、 Vine の rpm パッケージである proftpd 1.2.* と、ご自
身でソースからコンパイルされた proftpd 1.3.* を共存させておられます。

mv で /usr/sbin/ 以下にある proftp パッケージのファイル名を変えてしまう
と、rpm での管理が崩れてしまい、将来、proftpd にセキュリティフィクスが
出た場合などに、apt-get upgrade とかするとうまく動かなくなるような気が
します。

;; rpm は、/usr/sbin/proftpd がある物だと思っているはずですので。
;; rpm -ql proftpd |grep /usr/sbin とか。

もし、そちらの環境の apt-get に `-s, --simulate, --just-print,
--dry-run, --recon, --no-act' というオプションがあるなら、ためしに、

 apt-get --simulate --reinstall install proftpd

などとしてみて、何が起こるか確認してみた方が良いでしょう。

やはり、ディストリビューション由来の rpm パッケージの管轄である
/usr/sbin 以下のファイル名を変更して逃げるという手はうまくないのではな
いでしょうか?

;; もっとも /etc/rc.d/init.d/proftpd を編集する、というのも同じといえば
;; 同じなのですが、

今後のトラブルを避けるためには、/etc/rc.d/init.d/proftpd はそのままにし
て、それを proftpd.local などの別名でコピーして、その中の PATH 環境変数
を調整するか、あるいは、コピーした proftpd.local の中で、

proftpd="/usr/local/sbin/proftpd"
[...]
daemon $proftpd [...]

などとするのが良いように思います。

その上で、システムのブート時に /usr/local/sbin/proftpd の方を有効とする
には、/etc/ 以下で、rc.d/init.d/proftpd を参照しているリンクを
rc.d/init.d/proftpd.local などに付け替えるのが良いのではないかと思いま
す。

どちらを中心に使うのか(どちらかは検証用でもう一方が実稼働用など)、とい
うので変わってくると思いますが、出来るだけ rpm 管理下の物は手をつけずに
そのままにしておくべきだと思います。

もし、init.d/proftpd と init.d/proftpd.local などを共存させる場合には、
(深く追っていない && 検証もしていないので、良く分かってませんが) おそら
く、排他制御にも注意する必要があるのではないかと思います。


実は、こういう用途 (複数の同じ機能を提供する物を切替えて利用する) には、
alternatives という仕組みがあり、symlink を付け替えて切替える方法もあり
ます。おそらく、man alternatives で詳細が読めるのではないか、と思います。

;; 現在、手元に Vine 環境がないので、詳細は追えていません。 _o_
;; ちなみに Debian の場合は update-alternatives です。

これを使うと、man コマンドもまとめて切替える事が可能です。

;; 例えば、proftpd.alt というのを作るとして、
;; /etc/alternatives/proftpd.alt のリンク先が /usr/local/sbin/proftpd
;; を向いている時には、slavelink として man proftpd すると
;; /usr/local/share/man/man8/proftpd.8 を指し、/usr/sbin/proftpd を指し
;; ている時には、slavelink が /usr/share/man/man8/proftpd.8 を指すとい
;; う風にです。で、これを指すのに /usr/sbin/proftpd.alt などを使います。

しかし、今回の proftpd の場合は、パッケージの提供する物が proftpd となっ
ていますので、リンク名を proftpd.alt などとする必要があるかもしれません。

;; 本当は、proftpd という名前で管理したいと思いますが、

;; 今回の場合、alternatives を使ったとしてもどのみち起動スクリプトに手
;; を入れる必要があるので、厄介さは変わらない(alternatives のがめんどく
;; さい)かも知れません。

;; 御参考まで。

-- 
  Shinichiro HIDA  shinichiro@xxxxxxxxxxxxx
  GPG fingerprint = 5F2D 1656 FFF6 F691 A51C  5E61 E416 D398 470C 1CE9