Bei Wartungsarbeiten kann es vorkommen, dass eine Anwendung nun auf einem anderen Port als bisher läuft. Bei der Neuinstallation eines SAP-Systems, nennen wir es TST, musste der bisherige Port des MessageServers von 3601 auf 3600 umgestellt werden, weil die Systemnummer sich von 01 auf 00 geändert hat. Die untenstehende Lösung geht auf die Konstellation bei einem SAP-System ein, hilft aber auch bei anderen Anwendungen.

So wurde das System TST vorgefunden:
1. In DEFAULT.PFL wurde der MessageServer-Port mit sapmsTST belegt.
2. In /etc/services war sapmsTST  3601/tcp eingetragen
3. Bei Start von TST läuft der MessageServer auf Port 3601
netstat -tapen | grep LIST | grep 360
tcp    0  0 0.0.0.0:3601     0.0.0.0:*     LISTEN  1189  894640  21736/ms.sapTST_DVE

Lösung:

1. /etc/services editieren und Port ändern (Sicherungskopie nie vergessen!): sapmsTST   3600/tcp
2. TST stoppen
3. Das Systemprogramm nscd puffert in der Standardeinstellung die Datei /etc/services (siehe unten), also muss der Puffer von nscd geleert werden (Puffer für services invalide setzen).
nscd -i services
4. TST starten
5. Portbelegung prüfen
netstat -tapen | grep LIST | grep 360
tcp    0  0 0.0.0.0:3600     0.0.0.0:*     LISTEN  1189  894790  8129/ms.sapTST_DVE

Info:

Falls es mal nötig sein sollte, kann hier auch das Cachen von /etc/services deaktiviert werden:
grep services /etc/nscd.conf
# Currently supported cache names (services): passwd, group, hosts, services
        enable-cache         services yes
        positive-time-to-live services  28800
        negative-time-to-live services  20
        suggested-size       services 211
        check-files          services yes
        persistent           services yes
        shared               services yes
        max-db-size          services 33554432