สตริงเวอร์ชันไม่ได้พิสูจน์คุณสมบัติของปลั๊กอิน VPN
หมายเลขแพ็กเกจไม่ใช่รายการคุณสมบัติ แยก epoch, upstream และ revision ตรวจสอบว่าอะไรติดตั้งอยู่ แล้วพิสูจน์ตัวเลือกในที่ที่มันอยู่จริง
สามคำถามแยกการโต้แย้งเรื่องเวอร์ชันออกจากการสอบสวนคุณสมบัติ: ส่วนประกอบใดควรให้ตัวเลือกนั้น เวอร์ชันใดของส่วนประกอบนั้นติดตั้งอยู่จริง และบันทึกการเปลี่ยนแปลงของมันกล่าวถึงเรื่องนี้ว่าอย่างไร หมายเลขของปลั๊กอินเพียงลำพังไม่ตอบคำถามใดเลย ทางลัดที่ชวนให้หลงเชื่อ คือการเทียบเวอร์ชันที่ย่อกับค่าต่ำสุดในบทช่วยสอน ล้มเหลวเพราะสตริงเวอร์ชันของการแจกจ่ายไม่ใช่เลขทศนิยม ตัดสินใจว่าคุณกำลังเทียบอะไรก่อนจะเทียบ
ตัวเลือกอาจอยู่ใน NetworkManager ในปลั๊กอิน VPN ของมัน ในเอนจินเบื้องหลัง หรือในฟรอนต์เอนด์เดสก์ท็อปแยกต่างหาก นั่นคือสี่โปรเจกต์ที่มีสี่ประวัติการออกรุ่น
สี่ส่วนประกอบ สี่ประวัติการออกรุ่น
ตัวแก้ไขที่คุณเห็นมักเป็นปลั๊กอิน และปลั๊กอินเรียกเอนจินเช่นไบนารี OpenVPN หรือการใช้งาน WireGuard NetworkManager เองให้โมเดลการเชื่อมต่อ และฟรอนต์เอนด์เดสก์ท็อปอาจเพิ่มฟิลด์ของตัวเองบนนั้น คุณสมบัติอาจปรากฏในส่วนใดก็ได้ และการอัปเกรดส่วนหนึ่งไม่ได้อัปเกรดส่วนอื่น เอนจินที่ใหม่กว่าไม่ใช่หลักฐานว่าตัวแก้ไขที่ติดตั้งอยู่สามารถนำเข้าตัวเลือกที่เอนจินรองรับได้
เริ่มจากอาการ: ฟิลด์หายไปจากไดอะล็อก หรือหายไปหลังนำเข้า หรือมีอยู่แต่ถูกละเลย? ข้อสังเกตเหล่านั้นชี้ไปที่ส่วนประกอบต่างกันและต้องใช้หลักฐานต่างกัน.
แยกเวอร์ชันก่อนจะเทียบ
นโยบายแพ็กเกจของ Debian กำหนดรูปแบบเป็น epoch เวอร์ชัน upstream และ revision ของการแพ็กเกจ ขั้นแรกเทียบ epoch จากนั้นส่วน upstream จากนั้น revision ตามกฎการเรียงลำดับของตัวจัดการแพ็กเกจเอง ไม่ใช่เลขคณิตทศนิยมหรือการเรียงตามตัวอักษรธรรมดา ทิลดาถูกเรียงก่อนทุกสิ่ง รวมถึงก่อนจุดสิ้นสุดของส่วนนั้น และนั่นคือวิธีที่รุ่นทดลองก่อนออกมาก่อนรุ่นสุดท้าย การอ่านแต่ละส่วนแยกกันคือสิ่งที่ทำให้การเปรียบเทียบมีความหมาย
อย่าประดิษฐ์กฎการแปลงสำหรับรูปแบบอื่นที่ 0.8.999 ดูใกล้กับ 0.9 ความใกล้ของตัวเลขไม่ใช่หลักฐานเกี่ยวกับเนื้อหา
ถามว่าอะไรติดตั้งอยู่และอะไรจะเกิดขึ้น
apt-cache policy รายงานเวอร์ชันที่ติดตั้ง ตัวเลือก และที่เก็บที่แต่ละตัวมาจาก สำหรับทุกแพ็กเกจที่คุณระบุ อ่านทั้งสำหรับเอนจินและปลั๊กอิน และบันทึกสตริงแบบเต็มแทนรูปแบบย่อ ข้อมูลเมตาท้องถิ่นอาจล้าสมัย และเวอร์ชันตัวเลือกไม่ได้พิสูจน์ว่ากระบวนการที่กำลังทำงานได้โหลดบิลด์นั้น หากบริการยังไม่ถูกเริ่มใหม่ตั้งแต่การอัปเกรด ไฟล์บนดิสก์และพฤติกรรมที่คุณสังเกตอาจไม่ตรงกัน
จากนั้นอ่านบันทึกการเปลี่ยนแปลงที่ตรงกัน revision ของการแพ็กเกจสามารถบรรจุแพตช์โดยไม่รับหมายเลข upstream ใหม่ และนั่นคือกรณีที่เวอร์ชันดูไม่เปลี่ยนแต่พฤติกรรมแตกต่าง
พิสูจน์ตัวเลือกในส่วนประกอบที่เป็นเจ้าของ
สำหรับปัญหาการนำเข้า ตรวจสอบฟิลด์ที่รองรับของปลั๊กอินที่ติดตั้งและผลลัพธ์ที่บันทึกไว้ ไม่ใช่แค่ไดอะล็อก ป้ายกำกับ ฟิลด์ข้อมูลดั้งเดิม และอาร์กิวเมนต์ของเอนจินอาจเป็นการแสดงออกสามอย่างของการตั้งค่าเดียว และความสำเร็จในการนำเข้าไฟล์ไม่ได้บอกอะไรเลยว่าคำสั่งแต่ละข้อรอดชีวิตหรือไม่ ระบุคุณสมบัติอย่างแม่นยำ เช่น การยอมรับคำสั่งนี้โดยคงความหมายด้านการพิสูจน์ตัวตนไว้
หากบิลด์ที่รองรับสำหรับรุ่นนั้นไม่มีการผสานรวม ให้เลือกเส้นทางการอัปเดตที่ได้รับอนุมัติหรือไคลเอนต์อื่น การผสมที่เก็บของอีกรุ่น หรือการใช้แพตช์ซอร์สที่เก็บถาวรเพื่อเพิ่มหมายเลขที่มองเห็นได้ แลกกับการโต้แย้งเรื่องเวอร์ชันกับระบบที่ไม่รองรับ
รายงานที่เป็นประโยชน์ระบุการแจกจ่าย เวอร์ชันแพ็กเกจแบบเต็ม เจ้าของการเชื่อมต่อที่ใช้งานอยู่ ตัวเลือกที่ต้องการ และพฤติกรรมที่บันทึกไว้ซึ่งสังเกตได้ นั่นคือคำถามที่ทำซ้ำได้