Opensuse
配置 OpenSuSE 的 xinetd
我需要在 OpenSuSE 機器上執行approx,這是 Debian / Ubuntu 包的包代理。
到目前為止,我將安裝包
.deb
從.rpm
使用alien
. 安裝結果.rpm
給了我approx
二進製文件/usr/sbin/approx
。在 Debian 下,
approx
開始使用inetd
. OpenSuSE 似乎更喜歡xinetd
. 因此,在 YaST2 的 xinetd 設置中,我使用
- 服務名稱:“約”(我也試過“9999”,因為我假設這是從服務名稱到埠號的映射發生的地方——這個名稱應該與 /etc/services 中的埠描述匹配,對吧?)
- 類型:
stream
- 協議:
tcp
nowait
選項- 使用者:
root
和- 服務:
/usr/sbin/approx
。但是,無論我為條目分配什麼狀態,只要點擊“確定”,xinetd 配置就會跳轉到“停用”,並且在通過埠 9999 聯繫它時,我無法得到系統的任何反應。
那麼,首先,我對 xinetd 配置的使用是正確的還是我在那裡理解有問題?
其次,YaST2中xinetd配置面板的自動停用是軟體錯誤還是使用者錯誤?
感謝 Nikhil 的投入,我解決了這個問題。
YaST 在設置 xinetd 時只使用服務名稱,而不是埠號。不幸的是,由於某些歷史原因,大約預設為埠 9999。這已註冊到另一個名為“distinct”的服務。
因此,臨時解決方案是在 /etc/services 中將埠 9999 的服務重命名為“近似”,並在 xinetd 配置中輸入一個名為“近似”的新服務(正如我懷疑的那樣,這確實映射到埠 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 分配的埠)。