web-dev-qa-db-ja.com

OpenSuSEのxinetdの設定

OpenSuSEボックスで、Debian/Ubuntuパッケージのパッケージプロキシである approx を実行する必要があります。

これまで、alienを使用してインストールパッケージを.debから.rpmに変換していました。結果の.rpmをインストールすると、/usr/sbin/approxapproxバイナリが得られました。

Debianでは、approxinetdを使用して開始されます。 OpenSuSEはxinetdを好むようです。そのため、YaST2のxinetdセットアップで、を使用して新しいエントリを作成しました

  • サービス名: "approx"( "9999"も試しました。これは、サービス名からポート番号へのマッピングが行われる場所であると想定しているためです。この名前は、/ etc/servicesのポートの説明と一致する必要がありますか?)
  • タイプ:stream
  • プロトコル:tcp
  • nowaitオプション
  • ユーザー:rootおよび
  • サービス:/usr/sbin/approx

ただし、エントリに割り当てたステータスに関係なく、[OK]をクリックするとすぐにxinetd構成が「非アクティブ化」にジャンプし、ポート9999で接続してもシステムからの応答がありません。

それで、最初は、xinetd構成の使用は正しいですか、それともそこで何か間違っていることを理解していますか?

次に、YaST2のxinetd設定パネルの自動非アクティブ化はソフトウェアまたはユーザーエラーですか?

2
jstarek

Nikhilの入力のおかげで、私はこれを解決しました。

YaSTは、xinetdを設定するときに、ポート番号ではなくサービス名のみを使用します。残念ながら、いくつかの歴史的な理由により、おおよそのデフォルトはポート9999です。これは「distinct」という名前の別のサービスに登録されています。

したがって、アドホックソリューションは、ポート9999のサービスの名前を/ etc/servicesの「approx」に変更し、xinetdconfigに「approx」という名前の新しいサービスを入力することでした(これは、私が推測したように、ポート9999にマップされます) )、ユーザー約およびグループ約。これは、YaSTで生成されたサービスファイルです。

$ cat /etc/xinetd.d/approx 
service approx
{
    socket_type     = stream
    protocol        = tcp
    wait            = no
    user            = approx
    group           = approx
    server          = /usr/sbin/approx
}

もちろん、適切な解決策は、サーバーとすべてのクライアントマシンを別のポート(IANAによってまだ割り当てられていないポート)に移行することです。

3
jstarek

構成でポート番号を言及してみましたか?ログは何と言っていますか?

service approx
{
       flags          = REUSE
       socket_type    = stream
       protocol       = tcp
       wait           = no
       user           = root
       server         = /usr/sbin/approx
       log_on_failure += USERID
       disable        = no
       port           = 9999
}
2
Nikhil Mulley