macport selfupdate sử dụng sudo không thành công phía sau proxy


0

Tôi vừa cài đặt macport nhưng selfupdate không thành công. Tôi nghi ngờ điều này là do tôi ở trên mạng công ty đằng sau một proxy, nhưng không thể tìm ra cách tôi có thể sửa nó.

Đối với nền, tôi đã đặt proxy:

$> typeset -p http_proxy
declare -x http_proxy="http://proxy:8080"

Nhưng macports thất bại trong getaddrinfo:

$> sudo port -d selfupdate
DEBUG: Copying /Users/i063510/Library/Preferences/com.apple.dt.Xcode.plist to /opt/local/var/macports/home/Library/Preferences
DEBUG: MacPorts sources location: /opt/local/var/macports/sources/rsync.macports.org/release/tarballs
--->  Updating MacPorts base sources using rsync
rsync: getaddrinfo: rsync.macports.org 873: nodename nor servname provided, or not known
rsync error: error in socket IO (code 10) at /SourceCache/rsync/rsync-42/rsync/clientserver.c(105) [receiver=2.6.9]
Command failed: /usr/bin/rsync -rtzv --delete-after rsync://rsync.macports.org/release/tarballs/base.tar /opt/local/var/macports/sources/rsync.macports.org/release/tarballs
Exit code: 10
DEBUG: Error synchronizing MacPorts sources: command execution failed
    while executing
"macports::selfupdate [array get global_options] base_updated"
Error: /opt/local/bin/port: port selfupdate failed: Error synchronizing MacPorts sources: command execution failed

Thật thú vị, curlthành công nhưng pingthất bại:

$> curl http://google.com
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>
$> ping google.com
ping: cannot resolve google.com: Unknown host

Câu trả lời:


1

Bạn đang đặt proxy cho các kết nối http. curl và trình duyệt web của bạn sử dụng http nhưng rsync thì không. Do đó giải thích các lỗi.

Lý tưởng nhất là bạn cần yêu cầu quản trị viên proxy của mình thay đổi proxy để cho phép rsync thông qua,

Nếu không thì bạn có thể có được đồng bộ hóa để hoạt động trên proxy http theo blog này

Có ba bước. Điều kiện tiên quyết cần thiết để làm việc này là bạn có địa chỉ proxy, quyền truy cập quản trị viên vào máy Mac của bạn và proxy hỗ trợ cổng rsync (873 / tcp).

Bạn có thể kiểm tra kết nối bằng cách truy cập http://rsync.macports.org:873 , bạn sẽ gặp lỗi sau:

@RSYNCD: 30.0
@ERROR: protocol startup error

Nếu nó hoạt động tốt, thì bạn cần thiết lập môi trường sudo cho osx để cho phép cài đặt môi trường proxy.

  1. Chỉnh sửa tập tin sudoers của bạn với sudo visudo. Bạn cần nối thêm các dòng này:

    Mặc định env_keep + = "http_proxy HTTP_PROXY HTTPS_PROXY FTP_PROXY RSYNC_PROXY" Mặc định env_keep + = "ALL_PROXY NO_PROXY"

  2. Đặt proxy http của bạn

    xuất http_proxy = http://proxy.example.com:8080

    Trong đó 8080 là số cổng của proxy

  3. Tạo rsync sử dụng proxy. Theo mặc định, cổng sử dụng rsync để quản lý các cập nhật của nó. RSync có thể sử dụng cài đặt môi trường proxy (man rsync cho mre)

    xuất RSYNC_PROXY = proxy.example.com: 8080

    Lưu ý viết hoa proxy rsync và thực tế là nó không cần http: //

Nên làm vậy. Sau đó, bạn có thể chạy selfupdate để chuyển port sang phiên bản mới nhất.


Đằng sau một lò sưởi công ty lớn và proxy, tôi nghi ngờ rằng tôi sẽ không thể có được CNTT để thực hiện bất kỳ thay đổi nào. Nhưng tôi hy vọng điều này sẽ làm việc. Cảm ơn.
Biến khốn khổ
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.