MacPorts rsync 소스를 프록시로 라우팅하기
SSH 예시가 rsync 데몬 연결까지 고쳐 준다고 가정하지 말고 ports tree 소스 프로토콜을 프록시 전송에 맞추십시오.
브라우저는 SOCKS로 동작합니다. 평범한 SSH 세션도 마찬가지입니다. 그런데 MacPorts는 ports tree를 동기화할 때 멈춥니다. SSH 옵션을 하나 더 추가하기 전에 소스 URI를 보십시오.
rsync://host/module은 rsync 데몬 서비스를 가리킵니다. rsync -e ssh user@host:path을 쓰는 예시는 원격 셸을 사용하며 그 호스트의 적절한 계정에 접근해야 합니다. 공개 rsync 미러는 클라이언트에 ProxyCommand가 있다는 이유만으로 SSH 로그인을 얻지 못합니다.
전제 조건이 다른 세 가지 경로
| 경로 | 무엇이 있어야 하는가 |
|---|---|
| HTTP 또는 HTTPS를 통한 ports tree 스냅샷 | 지원되는 스냅샷 소스와 동작하는 HTTP 프록시 설정 |
| 웹 프록시를 통한 rsync 데몬 | RSYNC_PROXY를 쓰는 rsync 클라이언트와 데몬 포트로의 CONNECT를 허용하는 프록시 |
| SSH를 통한 rsync | SSH 엔드포인트, 계정, 원격 rsync 구성 |
MacPorts는 sources.conf에 HTTP와 HTTPS tarball 소스를 일반적인 동기화 전송을 쓸 수 없을 때의 대안으로 기록합니다. 설치된 릴리스에 대해 프로젝트가 지원하는 소스를 고르십시오. URI 스킴을 바꾸는 것은 임의의 아카이브를 가리켜도 된다는 허가가 아닙니다.
rsync의 RSYNC_PROXY은 웹 프록시 기제이며 일반적인 SOCKS URL 설정이 아닙니다. 데몬 경로는 보통 873 포트를 요구하는데, 다른 면에서 정상인 웹 프록시가 이를 의도적으로 거부할 수 있습니다. 별도의 RSYNC_CONNECT_PROG 기제는 직접 데몬 소켓을 도우미 프로그램으로 바꿀 수 있지만, 그 도우미는 기대하는 바이트 스트림을 제공해야 합니다.
마지막으로 MacPorts의 어느 단계가 실패했는지 확인하십시오. ports tree 갱신, 아카이브 가져오기, port의 소스 파일 내려받기는 같은 전송을 쓸 필요가 없습니다. 첫 경로를 고쳤다고 해서 나머지가 그 프록시를 공유한다는 증명은 아닙니다.