我需要在约盒上运行OpenSuSE,这是Debian / Ubuntu包的包代理。
直到现在,我使用.deb将安装包从.rpm转换为alien。安装得到的.rpm给了我/usr/sbin/approx中的approx二进制文件。
在Debian下,approx是使用inetd启动的。OpenSuSE似乎更喜欢xinetd。所以,在YaST2 2‘S xinetd设置中,我创建了一个新条目
streamtcpnowait选项root和/usr/sbin/approx。但是,无论我分配了什么状态,只要单击"OK",xinetd配置就会跳转到“停用”,并且在端口9999上与系统联系时无法从系统中得到任何反应。
那么,首先,我对xinetd配置的使用是正确的还是我理解了哪里的错误?
其次,YaST2中xinetd配置面板的自动失活是软件错误还是用户错误?
发布于 2011-12-03 15:00:15
多亏了尼基尔的投入,我才解决了这个问题。
在设置xinetd时,YaST只使用服务名称,而不是端口号。不幸的是,由于一些历史原因,大约默认为端口9999。这是注册到另一个服务,名为“不同”。
因此,即席解决方案是将端口9999's服务重命名为/etc/services中的“大约”,并在xinetd配置中输入一个名为“as”的新服务(正如我所怀疑的,它被映射到端口9999)、用户as和组as。这是YaST生成的服务文件:
$ cat /etc/xinetd.d/approx
service approx
{
socket_type = stream
protocol = tcp
wait = no
user = approx
group = approx
server = /usr/sbin/approx
}当然,正确的解决方案是将服务器和所有客户端机器迁移到不同的端口(一个尚未由IANA分配的端口)。
发布于 2011-12-03 12:39:19
您试过在配置中提到端口号吗?日志上写了什么?
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
}https://unix.stackexchange.com/questions/25977
复制相似问题