File .deb openfortivpn cũ có phù hợp với Raspberry Pi của bạn?
Một .deb armhf được lưu trữ cố định một bản phát hành mà Pi của bạn có thể không còn khớp. Hãy kiểm tra phiên bản hệ điều hành, kiến trúc gói và nguồn cập nhật trước khi cài đặt.
Một câu trả lời trên diễn đàn cho bạn một tên tệp đầy đủ, và cái tên trông như giải pháp: một .deb, một lệnh, xong. Điều mà chuỗi đó thực sự mã hóa là phiên bản gói, kiến trúc CPU và bộ phân phối mà nó được biên dịch dựa trên vào ngày ai đó viết bài. Không cái nào trong ba thứ đó tự động mô tả bo mạch trên bàn của bạn. Bản tải xuống cũ là ảnh chụp tình trạng của một máy, không phải kế hoạch cài đặt cho máy của bạn.
Tên tệp âm thầm cố định điều gì
Hãy đọc một cái tên như openfortivpn_1.17.0-1_armhf.deb từ phải sang trái. Hậu tố là kiến trúc mà tệp nhị phân được biên dịch cho, trường giữa là bản sửa đổi upstream và đóng gói, và trường thứ tư ngầm định là bộ thư viện của bộ phân phối mà nó được xây dựng trong đó.
Trên bản cài Raspberry Pi OS 64-bit, kiến trúc hệ thống là arm64, nên dpkg -i từ chối gói armhf vì không khớp kiến trúc. Ngay cả nơi multiarch cho phép cài đặt, tệp nhị phân vẫn mong đợi các phiên bản thư viện từ bản phát hành mà nó được biên dịch dựa trên, và một hệ thống cơ sở mới hơn có thể không còn cung cấp chúng. Kết quả là một gói đã cài đặt có tệp thực thi không khởi động được, và đó chính là lỗi mà mọi người thường hiểu nhầm là bản thân ứng dụng khách bị hỏng.
Việc bo mạch là thiết bị ARM không làm cho một gói ARM trở nên phù hợp. Kiến trúc là một trục; bản phát hành và ABI là hai trục còn lại, và chúng hỏng độc lập.
Hãy hỏi bản phân phối trước khi xin liên kết tải xuống
Mỗi kênh được duy trì có thể cho bạn biết nó sẽ cài gì ngay bây giờ. Hãy chạy truy vấn trên máy đích, với các kho lưu trữ mà nó thực sự dùng, trước khi xem xét bất kỳ việc truyền tệp nào.
cat /etc/os-release
dpkg --print-architecture
apt-cache policy openfortivpnMột dòng ứng viên có phiên bản và tên kho lưu trữ nghĩa là bản phân phối đã có bản dựng cho hệ thống này. Không có ứng viên, hoặc ứng viên đến từ một bộ bạn không định dùng, là thông tin về nguồn của bạn, không phải về việc phần mềm có tồn tại ở đâu đó hay không.
Nếu việc làm mới siêu dữ liệu thất bại, hãy tách lỗi đó khỏi câu hỏi về gói. Phân giải tên, vận chuyển kho lưu trữ, thiếu chữ ký Release và một bộ đã hết vòng đời đều phá vỡ apt update trước khi ứng dụng khách tham gia. Sửa nguồn là công việc khác với chọn ứng dụng khách VPN, và trộn hai việc là cách mọi người trỏ một hệ thống hiện tại vào một bản phát hành lỗi thời.
apt xác minh điều gì, và tệp đã tải xuống không nhận được gì
Một bản cài đặt bình thường tuân theo chuỗi chữ ký: kho lưu trữ ký chỉ mục của nó, chỉ mục mang mã băm cho từng gói, và gói phải khớp. tài liệu tham khảo xác thực kho lưu trữ tách chuỗi đó khỏi ý tưởng kiểm tra một chữ ký gắn với từng tệp riêng lẻ.
Một tệp được lưu từ liên kết HTTP cũ không có gì trong số đó. Nó đến mà không có danh tính kho lưu trữ, nó không được cập nhật khi bản phân phối vá ứng dụng khách, và không có gì ghi lại ai chịu trách nhiệm thay thế nó. Đó vẫn có thể là một lựa chọn hợp lệ cho quản trị viên có một artefact được ghim, nhưng lựa chọn đó phải đi kèm chủ sở hữu, một checksum được ghi lại ở đâu đó và kế hoạch cho bản cập nhật bảo mật tiếp theo.
Việc chặn lỗi chữ ký hoặc tắt xác minh TLS để một hướng dẫn cũ tiếp tục chạy sẽ loại bỏ phần duy nhất của quy trình đang kiểm tra bất cứ thứ gì. Thay vào đó hãy khôi phục việc kiểm tra đang thất bại.
Cài ứng dụng khách, rồi gỡ lỗi kết nối riêng
Khi có một ứng viên được duy trì, hãy cài nó qua giao dịch đã được xem xét thông thường và để trình quản lý gói ghi lại những gì nó đã làm.
Nếu việc triển khai thực sự cần một bản dựng từ upstream, hãy làm theo hướng dẫn dựng hiện tại của dự án và coi nó như phần mềm bạn đang duy trì: các gói phát triển, pkg-config, tiêu đề thư viện TLS và daemon PPP là những phụ thuộc thật, và quy trình gỡ bỏ mà bạn sẽ cần sau này cũng vậy.
Cài đặt chỉ là giai đoạn phần mềm cục bộ. Cổng phải chấp nhận giao thức và luồng xác thực của ứng dụng khách, ứng dụng khách phải tin tưởng chứng chỉ mà cổng trình bày, và đường hầm cần một lớp PPP hoạt động cùng các tuyến và chủ sở hữu trình phân giải. Một giao dịch gói đã hoàn tất không chứng minh được gì về việc cổng có chấp nhận tài khoản hay dải riêng có thể truy cập được hay không. Hãy kiểm tra từng lớp tại nơi nó hỏng thay vì chạy lại trình cài đặt.
Kế hoạch nên thay thế tên tệp cũ
Trước tiên hãy ghi danh tính nền tảng: phiên bản hệ điều hành, kiến trúc và danh sách nguồn đang dùng. Sau đó nêu tên nơi được ủy quyền mà gói đến từ đó, dù là kho lưu trữ của bản phân phối, kho lưu trữ của nhà cung cấp với khóa được ghim hay một bản dựng do bạn tự biên dịch và đóng gói.
Cuối cùng, nêu tên người duy trì và đường cập nhật. Một Pi chạy ứng dụng khách mà không ai sở hữu sẽ tiếp tục hoạt động cho đến bản cập nhật thư viện đầu tiên, và sau đó ai đó có cùng vấn đề sẽ lại tìm thấy cùng chủ đề diễn đàn đó.
Niềm tin đã được sửa đủ đơn giản để nói trong một dòng: gói cũ là bằng chứng rằng ứng dụng khách từng được xây dựng và chạy, không phải bằng chứng rằng nó sẽ cài trên bo mạch của bạn tối nay. Hãy kiểm tra ba trục, rồi chọn một kênh mà bạn có thể tiếp tục cập nhật.