OpenSuSEボックスで、Debian/Ubuntuパッケージのパッケージプロキシである approx を実行する必要があります。
これまで、alien
を使用してインストールパッケージを.deb
から.rpm
に変換していました。結果の.rpm
をインストールすると、/usr/sbin/approx
のapprox
バイナリが得られました。
Debianでは、approx
はinetd
を使用して開始されます。 OpenSuSEはxinetd
を好むようです。そのため、YaST2のxinetdセットアップで、を使用して新しいエントリを作成しました
stream
tcp
nowait
オプションroot
および/usr/sbin/approx
。ただし、エントリに割り当てたステータスに関係なく、[OK]をクリックするとすぐにxinetd構成が「非アクティブ化」にジャンプし、ポート9999で接続してもシステムからの応答がありません。
それで、最初は、xinetd構成の使用は正しいですか、それともそこで何か間違っていることを理解していますか?
次に、YaST2のxinetd設定パネルの自動非アクティブ化はソフトウェアまたはユーザーエラーですか?
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によってまだ割り当てられていないポート)に移行することです。
構成でポート番号を言及してみましたか?ログは何と言っていますか?
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
}