Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I need to run approx, a package proxy for Debian / Ubuntu packages, on an OpenSuSE box.

Until now, I converted the installation package from .deb to .rpm using alien. Installing the resulting .rpm gave me the approx binary in /usr/sbin/approx.

Under Debian, approx is started using inetd. OpenSuSE seems to prefer xinetd. So, in YaST2's xinetd setup, I created a new entry using

  • service name: "approx" (I also tried "9999", since I assume this is where the mapping from service names to port numbers takes place -- this name should match the port description in /etc/services, right?)
  • type: stream
  • protocol: tcp
  • nowait option
  • user: root and
  • service: /usr/sbin/approx.

However, no matter what status I assign the entry, the xinetd configuration jumps to "deactivated" as soon as I click "OK", and I can't get any reaction from the system when contacting it on port 9999.

So, at first, is my use of the xinetd configuration correct or do I understand something wrong there?

Second, is the automatic deactivation of the xinetd config panel in YaST2 a software or user error?

share|improve this question

2 Answers 2

up vote 2 down vote accepted

Thanks to Nikhil's input, I got this solved.

YaST only uses service names, not port numbers, when setting up xinetd. Unfortunately, for some historic reasons, approx defaults to port 9999. This is registered to another service, named "distinct".

So, the ad-hoc solution was to rename port 9999's service to "approx" in /etc/services and enter a new service in the xinetd config with the name "approx" (this does, as I suspected, get mapped to port 9999), user approx and group approx. This is the YaST-generated service file:

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

Of course, the proper solution will be to migrate the server and all client machines to a different port (one that is not yet assigned by IANA).

share|improve this answer
    
Sounds good. You are welcome jstarek :-) –  Nikhil Mulley Dec 3 '11 at 15:16

Have you tried mentionng the port number in the configuration? What do logs say?

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
}
share|improve this answer
    
I tried to use the port number insted of the service name, but that failed. For the rest, see below :-) –  jstarek Dec 3 '11 at 15:01

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.