Không thể nâng cấp từ 18.10 lên 19.04, không thể xác minh chứng chỉ changelogs.ubfox.com


2

Tôi không thể nâng cấp từ Ubuntu 18.10 lên 19.04.

Tôi đã xác minh 19.04 đã được phát hành chính thức và xuất hiện trong https://changelogs.ubfox.com/meta-release .

Khi tôi chạy sudo update-manager -c, tôi nhận được thông báo lỗi sau trong thiết bị đầu cuối (mặc dù GUI chỉ vui vẻ báo cáo không có bản cập nhật nào khả dụng):

Không thể kết nối với https://changelogs.ubfox.com/meta-release . Kiểm tra kết nối Internet hoặc cài đặt proxy của bạn

Tôi đã thử truy cập tệp với wget changelogs.ubuntu.com/meta-release và nhận được thông báo lỗi sau

--2019-04-20 21: 01: 27-- https://changelogs.ubfox.com/meta-release Giải quyết changelogs.ub Ubuntu.com (changelogs.ub Ubuntu.com) ... 91.189.95.15, 2001: 67c : 1560: 8008 :: 11

Kết nối với changelogs.ubfox.com (changelogs.ubfox.com) | 91.189.95.15 |: 443 ... được kết nối.

LRI: không thể xác minh chứng chỉ của changelogs.ub Ubuntu.com, do 'CN = Let Encrypt Agency X3, O = Let Encrypt, C = US': Không thể xác minh cục bộ quyền hạn của nhà phát hành.

Để kết nối với changelogs.ubfox.com một cách không an toàn, hãy sử dụng '--no-check-cert'.

Mặc dù khi tôi thử truy cập cùng một tệp curl changelogs.ubuntu.com/meta-release, quá trình tải xuống đã thành công (tôi đã đọc ở đâu đó chứng chỉ của nó có thể cập nhật hơn).

Như tôi đã thấy đề xuất, tôi đã khởi động lại hệ thống của mình nhiều lần, đợi hơn 24 giờ và cố gắng xóa cục bộ ~/.cache/update-manager-core/meta-release, nhưng điều đó không có ích.

Tôi đã xác minh chứng chỉ của trang web trên https://www.ssllabs.com/ssltest/analyze.html?d=changelogs.ubfox.com&latest và có điểm A +.

Tôi thích các giải pháp không yêu cầu tôi lấy tệp qua http thay vì https.

Câu trả lời:


2

Đây là cách tôi giải quyết vấn đề của mình:

Tôi đã tải xuống tệp phát hành meta qua https bằng curl : curl http://changelogs.ubuntu.com/meta-release > ~/.cache/update-manager-core/meta-release.

Sau đó, tôi chỉnh sửa địa phương /etc/update-manager/meta-releasethành:

# default location for the meta-release file

[METARELEASE]
#URI = https://changelogs.ubuntu.com/meta-release
URI = file:///home/YOUR-USERNAME/.cache/update-manager-core/meta-release
URI_LTS = https://changelogs.ubuntu.com/meta-release-lts
URI_UNSTABLE_POSTFIX = -development
URI_PROPOSED_POSTFIX = -proposed

Lưu ý bạn sẽ phải thay đổi YOU-USERNAME thành giá trị phù hợp trên hệ thống của bạn.

Việc nâng cấp hoạt động trơn tru ngay bây giờ!


chỉ là một câu hỏi cá nhân bạn có thể thay thế vị trí tên người dùng bằng biến môi trường USER và nó có hoạt động không? một phần trong tôi nghi ngờ về nó vì bảo mật và tôi không biết loại tệp nào /etc/update-manager/meta-release, nhưng tôi đoán tôi sẽ hỏi
EarthToAccess

@EarthToAccess, tôi đã thử chỉ định tên người dùng là $ USER $ và là {USER} bây giờ - dường như không hoạt động.
Eli_B

hmm, thú vị nó có thể không hoạt động như một biện pháp bảo mật, nếu không bạn có thể tạo một tập lệnh sh để sửa đổi những thứ như /etc/update-manage/meta-releasevà phá hủy một bản cài đặt.
EarthToAccess

0

Các máy của tôi được cấu hình để sử dụng bộ đệm apt-cache mà tôi đã sửa bằng cách thêm PassThroughPotype vào /etc/apt-cacher-ng/acng.conf

PassThroughPattern: ^changelogs\.ubuntu\.com:443$

Nếu bạn đã có PassThroughPotype, bạn sẽ cần chỉnh sửa nó, ví dụ nếu bạn hiện có:

PassThroughPattern: soandso.com:443

thay đổi nó thành

PassThroughPattern: ^(soandso\.com|changelogs\.ubuntu\.com):443$

Nếu điều này không có ích, bạn có thể muốn thử các cách sau:

$ ( sed -ne 's/^ *\(from\|import.*\)/\1/p' \
    /usr/bin/do-release-upgrade \
    echo "init_proxy()" \
    echo "MetaReleaseCore.DEBUG = True" \
    echo "MetaReleaseCore(useProposed=True)"\
  ) | python3

Điều này sẽ cung cấp cho bạn thông tin bổ sung về những gì gây ra nó thất bại.

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.