คุณติดตั้งแพ็กเกจของผู้จำหน่าย คำสั่งคืนค่าศูนย์ และยังไม่มีแอป VPN ให้เปิด สิ่งนี้เกิดเมื่อแพ็กเกจที่ติดตั้งตั้งค่าคลังแทนที่จะจัดส่งไคลเอนต์ และความต่างเห็นได้จากสิ่งที่มันทิ้งไว้บนดิสก์ จะต้องมีทั้งสองอย่างหรือไม่ และลำดับใด ขึ้นอยู่กับเงื่อนไขสามข้อ ไม่ใช่ชื่อเรียกของผู้จำหน่าย การตัดสินใจด้านล่างแยกการตั้งค่าแหล่งที่มา การรีเฟรชข้อมูลเมตา และการติดตั้งแอปเป็นการกระทำแยกกันพร้อมหลักฐานแยกกัน

แต่ละแพ็กเกจเปลี่ยนอะไรจริง

แพ็กเกจตั้งค่าคลังเขียนรายการแหล่งที่มา APT นำเข้าคีย์ลงนามที่รายการนั้นเชื่อถือ แล้วจบลง เนื้อหาของมันคือไฟล์สองสามไฟล์ใต้ /etc/apt กับพวงกุญแจ และไม่มีอะไรให้เรียกใช้ แพ็กเกจไคลเอนต์จัดส่งเดมอนหรือแอปเดสก์ท็อป ไลบรารีและ การพึ่งพา ของมัน และเป็นวัตถุที่ไปอยู่ในเมนูหรือยูนิต systemd

ชื่อไฟล์ที่ลงท้ายด้วย -release บ่งบอกชนิดแรก แต่คำต่อท้ายเป็นธรรมเนียม ไม่ใช่การรับประกัน ข้อความที่เชื่อถือได้เกี่ยวกับบทบาทของแพ็กเกจคือรายการไฟล์และ การพึ่งพา ซึ่งอ่านได้ก่อนติดตั้งอะไรก็ตาม ผู้ออกจำหน่ายที่ปรับรูปแบบการแพ็กเกจจะคงชื่อไฟล์เดิมและเปลี่ยนเนื้อหา คำตอบที่คัดลอกจากกระทู้เมื่อสองปีก่อนจึงอาจอธิบายแพ็กเกจที่ไม่มีอยู่แล้ว อ่านคำแนะนำปัจจุบันของผู้ให้บริการสำหรับรุ่นที่คุณใช้ แล้วตรวจสอบว่าแพ็กเกจประกาศอะไร

สามขั้นตอนตามมาจากการแบ่งนั้น: ลงทะเบียนแหล่งที่มา รีเฟรชข้อมูลเมตาที่มันป้อน แล้วติดตั้งแอปตามชื่อ คู่มือการติดตั้งสำหรับ Debian และ Ubuntu แยกสิ่งเหล่านี้ไว้ จึงต้องขอไคลเอนต์ในขั้นตอนหลัง ไม่ใช่โดยแพ็กเกจที่ตั้งค่าแหล่งที่มา

สามเงื่อนไขที่กำหนดลำดับ

เงื่อนไขแรกคือผู้ออกจำหน่ายเผยแพร่คลังสำหรับรุ่นดิสทริบิวชันของคุณตรงตัวหรือไม่ บรรทัดแหล่งที่มาที่สร้างสำหรับชุดหนึ่งอาจแก้กับ การพึ่งพา ของอีกชุดและติดตั้งส่วนผสมที่ไม่มีใครทดสอบ

ข้อที่สองคือดิสทริบิวชันของคุณมีไคลเอนต์อยู่แล้วหรือไม่ เมื่อมี แพ็กเกจของดิสทริบิวชันจะตามการเปลี่ยนไลบรารีและการอัปเดตความปลอดภัยของรุ่นคุณ ขณะที่แพ็กเกจของผู้จำหน่ายอาจเคลื่อนเร็วกว่าและนำสำเนาไลบรารีที่ใช้ร่วมกันมาเอง

ข้อที่สามคือคุณต้องการคุณสมบัติใดจริง ๆ บิลด์ของผู้จำหน่ายอาจจัดส่งการใช้งานโปรโตคอลใหม่กว่าหรือการผสานกับเดสก์ท็อปที่ดิสทริบิวชันของคุณไม่ได้แพ็กเกจ และนั่นคือเหตุผลจริงในการรับแหล่งที่มาที่สอง ถ้าบิลด์ของดิสทริบิวชันครอบคลุมการใช้งานของคุณ การเพิ่มคลังของบุคคลที่สามซื้องานอัปเดตและความสัมพันธ์ความไว้วางใจอีกหนึ่งอย่างในราคาเพียงเล็กน้อย

ตัดสินคำตอบทั้งสามก่อนที่บรรทัดแหล่งที่มาจะมีอยู่ เพราะการลบในภายหลังหมายถึงการล้างแพ็กเกจและคีย์ของมัน เมื่อตัดสินแล้ว ลำดับภายในเส้นทางของผู้จำหน่ายไม่ใช่ทางเลือก: แหล่งที่มาก่อน ข้อมูลเมตาที่สอง แอปที่สาม ไม่มีทางกลับกัน

ตรวจสอบว่าแพ็กเกจรุ่นเผยแพร่ทิ้งอะไรไว้

ก่อนติดตั้งอย่างอื่น ให้อ่านรายการไฟล์ไม่ใช่คำอธิบาย บนระบบตระกูล Debian แมนิเฟสต์ของแพ็กเกจตอบว่ามันตั้งค่าอะไรและคีย์ไปอยู่ที่ไหน

dpkg -L proton-vpn-release | grep -E 'apt|keyring'
apt-cache policy proton-vpn-gnome-desktop
grep -r protonvpn /etc/apt/sources.list.d/

บรรทัดแรกแสดงไฟล์แหล่งที่มาและเส้นทางพวงกุญแจ บรรทัดที่สองรายงานว่าแหล่งที่มาที่ตั้งค่าไว้เสนอรุ่นใดได้ ถ้า apt-cache policy ไม่พิมพ์อะไรสำหรับชื่อไคลเอนต์ การรีเฟรชข้อมูลเมตายังไม่เกิดขึ้นหรือแหล่งที่มาชี้ไปที่ชุดอื่น บรรทัดที่สามยืนยันว่ารายการอยู่ที่ที่ APT อ่านจริง

จับคู่เส้นทางพวงกุญแจกับฟิลด์ signed-by= ในบรรทัดแหล่งที่มา คีย์ในไดเรกทอรีผิดทำให้เกิดข้อผิดพลาดแหล่งที่มาไม่ได้รับการรับรอง ซึ่งเป็นความผิดพลาดต่างจากแพ็กเกจที่ใช้ไม่ได้

ถือว่าความล้มเหลวของ dependency เป็นขั้นตอนแยก

การติดตั้ง .deb ที่ดาวน์โหลดมาด้วย dpkg -i ไม่แก้อะไร: มันตรวจ การพึ่งพา รายงานสิ่งที่ขาด และทิ้งแพ็กเกจไว้ตั้งค่าไว้ครึ่งเดียว นั่นคือพฤติกรรมที่คาดไว้ ไม่ใช่การดาวน์โหลดที่เสีย

จากนั้น apt --fix-broken install ขอให้ APT สร้างสถานะที่สอดคล้องจากแหล่งที่มาที่คุณมี APT ไม่รู้ว่าคุณต้องการ VPN ใด และแผนของมันอาจลบแพ็กเกจเพื่อตอบสนองข้อจำกัดที่พบ อ่านธุรกรรมที่เสนอก่อนตอบตกลง และหยุดถ้าการลบแตะสิ่งที่คุณต้องการ การซ่อมซ้ำโดยไม่อ่านแผนคือวิธีที่ช่องว่าง dependency เล็ก ๆ กลายเป็นเดสก์ท็อปที่เปิดไม่ขึ้นอีก

เก็บข้อความที่มีความหมายข้อแรกจากตัวจัดการแพ็กเกจและจำแนกมันก่อนลงมือ ข้อผิดพลาดสี่อย่างที่ต่างกันคือคลังที่ไม่ลงนาม แพ็กเกจที่แหล่งที่มาที่ตั้งค่าไว้ไม่มี ความขัดแย้งของรุ่น และไคลเอนต์ที่เปิดแล้วตาย

ตรวจสอบแอป ไม่ใช่คลัง

ยืนยันว่าไคลเอนต์ถึงสถานะติดตั้งแล้ว แล้วยืนยันว่าโปรแกรมเปิด dpkg-query -W -f='${Status} ${Version}' proton-vpn-gnome-desktop ควรรายงาน install ok installed พร้อมรุ่น และความล้มเหลวในการเปิดหลังจากนั้นเป็นปัญหาแอป ไม่ใช่การแพ็กเกจ

บันทึกเจ้าของคลังและแพ็กเกจแอปเป็นวัตถุแยกกัน เพื่อให้การลบภายหลังเอาอันที่ถูกต้องและทิ้งอีกอันไว้โดยสมบูรณ์ เมื่อผู้จำหน่ายเปลี่ยนคู่มือ รายการแหล่งที่มาคือสิ่งที่คุณอ่านซ้ำ ชื่อไคลเอนต์คือสิ่งที่คุณติดตั้งซ้ำ

บทความที่เกี่ยวข้อง