Giữ APT hay con đường nâng cấp: lăn ngược một ứng dụng VPN
So sánh việc giữ gói tạm thời với một bản sửa tiến về phía trước sau khi ứng dụng VPN bị hồi quy, bao gồm việc giữ đóng băng cái gì, bỏ qua cái gì và cách thoát khỏi nó.
Cập nhật ứng dụng làm hỏng đường hầm, các phiên bản cũ vẫn chạy, và điều đó để lại hai biện pháp rõ ràng. Một biện pháp giữ gói tại chỗ và chờ bản sửa; biện pháp kia tiến ngay sang một bố cục được hỗ trợ. Chúng không an toàn như nhau, và không biện pháp nào là chiến lược bảo trì không có lối ra. Hãy so sánh chúng theo những gì chúng thực sự đóng băng trước khi chọn.
Hai biện pháp cho một hồi quy
Giữ một gói giúp phiên bản đang chạy vẫn được cài đặt và ngăn APT di chuyển nó. Nó mua thời gian, giữ người dùng kết nối và để nguyên lỗi gốc. Tiến về phía trước nghĩa là tìm bản phát hành được hỗ trợ sửa hồi quy, hoặc đổi chủ sở hữu kết nối sang thứ mà bản phân phối vẫn duy trì. Việc này tốn nhiều công hơn lúc đầu và loại bỏ rủi ro thường trực.
Lựa chọn phụ thuộc vào ba sự thật bạn nên có trước khi quyết định: thành phần nào bị hồi quy, có bản phát hành đã sửa hay không, và trạng thái tạm thời có thể chịu đựng bao lâu.
Ghim chặt sự cố trước khi chọn một trong hai
Một bản cập nhật lõi NetworkManager, một bản cập nhật plugin VPN và một hồi quy của trình trợ giúp phân giải trông giống hệt nhau từ chỗ người dùng và có các ứng viên lăn ngược khác nhau. Ghi lại các gói, phiên bản chính xác và lỗi mới đầu tiên.
apt-cache policy network-manager network-manager-openvpn
dpkg -l | grep -E 'network-manager|openvpn|wireguard'
Siêu dữ liệu gói có thể lỗi thời nếu danh sách chưa được làm mới, vì vậy hãy đọc nó như một gợi ý và xác nhận với phiên bản thực sự được cài. Đừng lấy phiên bản mục tiêu từ một bài đăng diễn đàn; cùng một chuỗi phiên bản từ bản phát hành khác có thể mang một bộ phụ thuộc khác.
So sánh phạm vi của việc giữ
Việc giữ ngăn một gói được cài, nâng cấp hoặc gỡ tự động. Nhưng nó không đóng băng các phụ thuộc, không sửa kết nối và không làm một tệp nhị phân cũ trở nên an toàn. Chính khoảng trống đó là toàn bộ phép so sánh. Nếu hồi quy đến từ một thư viện mà ứng dụng liên kết tới, việc giữ ứng dụng không thay đổi gì trong khi thư viện vẫn tiếp tục di chuyển.
sudo apt-get -s install network-manager=1.42.4-1
apt-mark showhold
Trước tiên hãy mô phỏng việc hạ cấp và đọc toàn bộ các thay đổi được đề xuất. Một bản hạ cấp loại bỏ phụ thuộc mà máy tính để bàn cần là một sự cố khác, và mô phỏng là nơi rẻ nhất để phát hiện điều đó. Nếu việc giữ thực sự là ranh giới tạm thời đúng, hãy viết nó như một quyết định có chủ sở hữu, lý do và điều kiện gỡ bỏ. Một việc giữ không có chủ sở hữu trở thành hạ tầng vĩnh viễn mà không ai dám chạm vào.
So sánh các lối ra
Con đường tiến là một bản sửa của bản phân phối hoặc nhà cung cấp, được áp dụng sau khi xác minh trên một kết nối độc lập. Điều đó giữ hệ thống trong dòng cập nhật được hỗ trợ và đóng lại phơi nhiễm. Con đường di trú thay thế ứng dụng hoặc máy chủ bằng thứ mà bản phân phối vẫn duy trì. Việc này nhiều công hơn và thường là câu trả lời trung thực duy nhất khi thành phần bị hồi quy không có bản phát hành đã sửa trong nhánh đó.
sudo apt-mark unhold network-manager
sudo apt update
sudo apt full-upgrade
Dù chọn lối ra nào, hãy xác minh hồ sơ chính xác, đường xác thực, các tuyến, hành vi DNS và việc kết nối lại trước khi tuyên bố xong. Một đường hầm dựng lên một lần không giống với đường hầm chịu được tạm dừng, thay đổi mạng và khởi động lại. Hãy giữ bằng chứng sự cố cho báo cáo lỗi: phiên bản gói, trích đoạn nhật ký, cấu trúc hồ sơ đã bỏ bí mật. Không bao giờ đính kèm khóa riêng tư hoặc thông tin đăng nhập để làm báo cáo đầy đủ hơn.
Bản ghi phải chứa gì
Viết quyết định trong bốn dòng: cái gì bị hồi quy, cái gì bị giữ hoặc thay đổi, ai sở hữu trạng thái tạm thời và cái gì gỡ bỏ nó. Thêm phần xác minh bạn đã chạy, vì kỹ sư tiếp theo sẽ lặp lại nó.
Một việc giữ có ngày ra là ranh giới lăn ngược được quản lý. Một việc giữ không có ngày ra là bản hạ cấp không giải thích được đã lặng lẽ trở thành một phần của hạ tầng.