
Ubuntu 서버 18.04를 실행하는 서버가 있는데, 이는 삼바 공유, 미디어 서버 및 Perforce 서버를 호스팅하는 포괄적인 로컬 서버입니다. 로컬 네트워크 IP(ssl:192.xxx:1666)를 통해 해당 저장소에 연결합니다. 모든 것이 잘 작동하기 전까지는...
...또한 wiki.js 설치를 추가하려고 했습니다. 패키지와 구성 스래싱이 많이 발생했습니다. Apache는 제거되었고, wiki.js/mongodb/mariadb/postgresql은 모두 한 번 이상 던져지고 삭제되었으며, nginx는 여러 번 설치되고 제거되었습니다.
그 이유는 다음과 같습니다. (내가 무엇을 했는지에 대한 맥락)아마원인):
PiHole을 통해 전체 네트워크에 대한 DNS 필터링이 있으며 이를 통해 해당 Ubuntu 서버의 다양한 프로세스에 대한 로컬 DNS 이름 및 CNAME 항목을 만들었습니다. 아이디어는 네트워크의 다른 곳에서 클라이언트 시스템을 "192.168.0.x:1666" 대신 "perforce.RackServer.net"으로 지정하고 nginx의 일부 역방향 프록시로 동일한 결과를 얻을 수 있다는 것입니다. 우리는 모든 사람이 나에게 모든 것에 대해 IP와 포트 번호를 묻는 대신 사람이 읽을 수 있는 주소를 만들려고 노력했습니다.
내가 그랬어~ 아니다nginx 설정에 성공했습니다. 지금은 제거되었습니다. 괜찮습니다. 나중에 다시 설명하겠습니다. 여기에 문제가 있습니다.
이 모든 것의 어딘가에서 네트워크 구성(머신에 eth0과 eth1이 있음)이 제대로 작동하지 않아서 지금 시도하면
#sudo systemctl start helix-p4dctl.service
나는 얻다
Job for helix-p4dctl.service failed because the control process exited with error code.
See "systemctl status helix-p4dctl.service" and "journalctl -xe" for details.
systemctl 상태 확인을 통해 다음을 확인할 수 있습니다.
Jun 20 14:10:07 RackServer p4dctl[4186]: error: Connect to server failed; check $P4PORT.
connect: 127.0.0.1:1666: Connection refused
Jun 20 14:10:07 RackServer p4dctl[4188]: error: Connect to server failed; check $P4PORT.
connect: 127.0.0.1:1666: Connection refused
Jun 20 14:10:07 RackServer p4dctl[4189]: error: Connect to server failed; check $P4PORT.
connect: 127.0.0.1:1666: Connection refused
Jun 20 14:10:07 RackServer p4dctl[4190]: error: Connect to server failed; check $P4PORT.
connect: 127.0.0.1:1666: Connection refused
Jun 20 14:10:08 RackServer p4dctl[4181]: error: 'PerforceServer' p4d: '/opt/perforce/sbin/p4d' exited with status 255.
Jun 20 14:10:08 RackServer p4dctl[4181]: Started 0 services.
Jun 20 14:10:08 RackServer p4dctl[4181]: error: Not all services started successfully.
Jun 20 14:10:08 RackServer systemd[1]: helix-p4dctl.service: Control process exited, code=exited status=1
Jun 20 14:10:08 RackServer systemd[1]: helix-p4dctl.service: Failed with result 'exit-code'.
Jun 20 14:10:08 RackServer systemd[1]: Failed to start LSB: Starts all Perforce services.
이는 p4v 시각적 클라이언트를 사용하여 원격으로 연결하려고 할 때 발생하는 오류와 유사합니다.
Connect to server failed; check $P4PORT.
connect: 192.168.0.117:1666: Connection refused
서버에서 P4PORT 환경 변수를 확인하면 다음이 제공됩니다.
...아무것도 아님. SSL:1666 또는 1666이어야 합니다. 지금까지는 그랬습니다. 그래서 내가 그것을 있어야 할 것으로 설정하면
export $P4PORT=ssl:1666
그런 다음 서비스를 시작하려고 하면 처음과 동일한 오류가 발생합니다.
실제 연결을 확인해 볼까요..
admin@RackServer:~$ ping 192.168.0.117
PING 192.168.0.117 (192.168.0.117) 56(84) bytes of data.
64 bytes from 192.168.0.117: icmp_seq=1 ttl=64 time=0.052 ms
64 bytes from 192.168.0.117: icmp_seq=2 ttl=64 time=0.022 ms
64 bytes from 192.168.0.117: icmp_seq=3 ttl=64 time=0.017 ms
와 같다:
admin@RackServer:~$ ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.045 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.022 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.016 ms
그리고:
admin@RackServer:~$ ping localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.054 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.018 ms
64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.014 ms
그러나 nmap에는 1666이 열려 있는 것으로 표시되지 않습니다.
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
139/tcp open netbios-ssn
445/tcp open microsoft-ds
631/tcp open ipp
3306/tcp open mysql
3389/tcp open ms-wbt-server
참고용으로 ifconfig가 있습니다.
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.117 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::da16:9fa8:aff2:2aef prefixlen 64 scopeid 0x20<link>
ether 00:04:23:d3:d0:92 txqueuelen 1000 (Ethernet)
RX packets 33063 bytes 2652752 (2.6 MB)
RX errors 0 dropped 2 overruns 0 frame 0
TX packets 1872 bytes 269690 (269.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 18 memory 0xb8820000-b8840000
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.116 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::659f:d321:8607:cc5f prefixlen 64 scopeid 0x20<link>
ether 00:04:23:d3:d0:93 txqueuelen 1000 (Ethernet)
RX packets 31082 bytes 2047269 (2.0 MB)
RX errors 0 dropped 2 overruns 0 frame 0
TX packets 531 bytes 41557 (41.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 19 memory 0xb8800000-b8820000
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 5185 bytes 278583 (278.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5185 bytes 278583 (278.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
저는 실제로 네트워킹 전문가가 아니며 아직 *nix를 배우고 있는 중입니다. 그래서 너무 벅차서가지다Perforce 저장소를 다시 온라인 상태로 되돌리려면 모든 것이 거기에 있는데, 어떤 이유로든 시스템이 갑자기 1666에서 원격 또는 로컬 연결을 거부합니다. 올바르게 작동하던 다른 모든 서비스는 여전히 작동 중이거나 다시 작동합니다. 바로 이것입니다.
답변1
드디어 미스터리가 풀렸습니다.
이 Perforce 설치는 2021년 릴리스인 p4d/2021.2/LINUX26X86_64/2264565였습니다(로그를 통해 발견했습니다). 어느 시점에서 설치된 helix/p4 패키지가 apt-get 업그레이드에 걸렸고(그렇지 않았어야 했는데, .deb 패키지의 수동 다운로드 및 설치였음) 최신 2022 버전이 시스템에 설치되었습니다.
최신 Perforce Server 릴리스는 이전 시스템에서 작동하지 않거나 Ubuntu 18.04에서 작동하지 않는 것으로 나타났습니다. 어느 쪽이든 2021년 초 릴리스를 설치하면 효과가 있었습니다. 그리고 실제로 저장소 백업의 모든 저장소 파일을 비어 있는 새 저장소에 놓으면 제대로 작동합니다.
명령줄을 두들겨패며 보낸 5일 중 가장 당황스러웠습니다.