Định tuyến các nguồn rsync của MacPorts qua proxy
Khớp giao thức nguồn của ports tree với đường truyền qua proxy thay vì giả định rằng ví dụ SSH cũng sửa được kết nối tới rsync daemon.
Trình duyệt hoạt động qua SOCKS. Một phiên SSH thông thường cũng vậy. Rồi MacPorts kẹt khi đồng bộ ports tree. Trước khi thêm một tùy chọn SSH nữa, hãy xem URI của nguồn.
rsync://host/module chỉ một dịch vụ rsync daemon. Ví dụ với rsync -e ssh user@host:path dùng shell từ xa và cần quyền truy cập vào một tài khoản phù hợp trên máy chủ đó. Một gương rsync công cộng không có được đăng nhập SSH chỉ vì máy khách có ProxyCommand.
Ba tuyến với điều kiện tiên quyết khác nhau
| Tuyến | Điều gì phải tồn tại |
|---|---|
| Ảnh chụp ports tree qua HTTP hoặc HTTPS | Một nguồn ảnh chụp được hỗ trợ và cấu hình proxy HTTP hoạt động |
| rsync daemon qua proxy web | Một máy khách rsync dùng RSYNC_PROXY và một proxy cho phép CONNECT tới cổng của daemon |
| rsync qua SSH | Một điểm cuối SSH, tài khoản và cách bố trí rsync từ xa |
MacPorts ghi nhận các nguồn tarball HTTP và HTTPS trong sources.conf như phương án thay thế khi đường truyền đồng bộ thông thường không có sẵn. Hãy chọn nguồn mà dự án hỗ trợ cho bản phát hành đã cài; đổi lược đồ URI không phải là quyền trỏ tới một kho lưu trữ tùy ý.
RSYNC_PROXY của rsync là cơ chế proxy web, không phải thiết lập URL SOCKS chung. Tuyến qua daemon thường cần cổng 873, mà một proxy web vốn hoạt động bình thường có thể cố ý từ chối. Cơ chế RSYNC_CONNECT_PROG riêng có thể thay socket trực tiếp của daemon bằng một chương trình trợ giúp, nhưng chương trình đó phải cung cấp luồng byte như mong đợi.
Cuối cùng, hãy để ý giai đoạn nào của MacPorts đã thất bại. Cập nhật ports tree, lấy một kho lưu trữ và tải các tệp nguồn của một port không nhất thiết dùng cùng một đường truyền. Sửa tuyến đầu tiên không chứng minh các tuyến khác dùng chung proxy của nó.