การติดตั้ง nvidia-opencl-icd-367 ทำให้ตัวจัดการแพ็กเกจแตก


14

ฉันใช้ไดรเวอร์กราฟิก - ppa ฉันได้รับการสนทนาการอัพเดทวันนี้ซึ่งระบุว่าฉันสามารถอัปเดตไดรเวอร์ nvidia เป็น367.18 (~ gpu16.04.6) ฉันเริ่มการอัพเดทเหมือนทุกครั้ง แต่มันล้มเหลวด้วย

Failed to get unit file state for var-lib-snapd-lib-gl.mount

หลังจากบูตเครื่องใหม่ไดรเวอร์กราฟิกของฉันเสียหายและฉันถูกบังคับให้เข้าสู่โหมดการกู้คืน

ตามปกติเมื่อไดรเวอร์ Nvidia ของฉันแตกหักฉันเพิ่งถอนการติดตั้ง sudo apt purge nvidia*เพื่อติดตั้งใหม่หลังจากนั้น

การทำเช่นนี้ในโหมดการกู้คืนจะถอนการติดตั้งทั้งหมดยกเว้นnvidia-opencl-icd-367แพ็คเกจที่ล้มเหลวด้วยข้อผิดพลาดด้านบน

การพยายามถอนการติดตั้งแพคเกจนี้ด้วยตนเองจะจบลงด้วยข้อผิดพลาดเหล่านี้:

ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่


Update @ 20160605 - แนวทางแก้ไข:

การทำตามคำตอบของ V ideonauthด้านล่างแก้ปัญหา โปรดทำตามขั้นตอนทั้งหมดและตรวจสอบให้แน่ใจว่าได้รีบูตหลังจากลบทุกอย่างของ NVIDIA ผ่านsudo apt purge nvidia*สำเร็จโดยไม่มีปัญหาและหลังจากติดตั้งไดรเวอร์sudo apt install nvidia-367อีกครั้งผ่าน

นี่จะทำให้ไดรเวอร์ของคุณทำงานอีกครั้ง

หากยังไม่สามารถช่วยเหลือพยายามที่จะเอาทั้งหมด configs xorg เก่าด้วยตนเองและติดตั้งไดรเวอร์อีกครั้งsudo rm /etc/X11/xorg.conf* && sudo rm /etc/X11/xorg.confsudo apt install nvidia-367 --reinstall

หากสิ่งนี้ยังคงไม่อนุญาตให้คุณกลับเข้าสู่ระบบอีกครั้ง (ข้อผิดพลาดทั่วไป: หน้าจอเข้าสู่ระบบ -> รหัสผ่านถูกป้อนแล้วกด -> กลับไปที่หน้าจอเข้าสู่ระบบ) ลองลบไดรเวอร์ Nvidia ของคุณออกอย่างสมบูรณ์อีกครั้ง logscreen กับCtrl+ Alt+ F1เข้าสู่ระบบด้วยชื่อและรหัสผ่านของบัญชีแหล่งรวบรวมความรู้โปรแกรมควบคุมที่เหมาะสมสำหรับกราฟิกการ์ดของคุณจากที่นี่ภายในคอนโซลหยุด lightdm:

sudo service lightdm

ติดตั้งไดรเวอร์ไบนารีของ Nvidia โดยใช้ sudo ./NVIDIA-VERSION...

และรีบูตระบบ:

sudo reboot now

ระบบ:

Ubuntu 16.04 64 บิต

Linux 4.4.0-22


1
ฉันมีปัญหาเช่นเดียวกับคุณ แต่มี nvidia-340 ! ฉันใช้เมธอดหมายเลข 2 ของ Videonauth และในตอนท้ายฉันพบปัญหาเพิ่มเติม: nvidia-361 ไม่สามารถติดตั้งได้เนื่องจากข้อผิดพลาด libcuda1-340 ไม่สามารถลบ libcuda1-340 ฉันบังคับให้ลบ libcuda1 แบบเดียวกับที่ฉันทำกับ nvidia-opencl-icd-340 หลังจากนั้นติดตั้งเรียบร้อย nvidia-361 ขอบคุณ Videonauth สำหรับวิธีการที่รุนแรง!
ipse lute

ฉันสามารถยืนยันปัญหานั้นได้ และฉันเห็นทางเดียว: ปิดการใช้งาน ppa-repo สำหรับ nvidia
ipeacocks

หากปัญหาของคุณได้รับการแก้ไขในคำตอบโปรดอย่าทำซ้ำขั้นตอนในคำถามของคุณ ให้ยอมรับคำตอบและลงคะแนนแทน หากคุณต้องการแนะนำการเปลี่ยนแปลงคำตอบให้คลิกลิงค์แก้ไขด้านล่างเพื่อแนะนำการเปลี่ยนแปลง
David Foerster

คำตอบ:


17

ตกลงเพื่อแก้ไขปัญหานี้ (ฉันมีปัญหาเดียวกันเมื่อเช้านี้) คุณมีสองวิธี:

1. วิธีที่สะอาดเสนอโดยทีมงาน launchpad ต่ออีเมล:

เมื่อต้องการแก้ไขปัญหานี้คุณอาจสลับไปยังคอนโซลข้อความโดยการกดCtrl+ Alt+ F1แล้วหยุดผู้จัดการการแสดงผลของคุณโดยใช้sudo systemctl stop <displaymanager>ที่อยู่ในlightdm, gdm, sddm, หรือแล้วแต่ผู้จัดการแสดงผลอื่น ๆ ที่คุณกำลังใช้

การหยุด X จะเป็นการล้างความล้มเหลวในการยกเลิกการต่อเชื่อมซึ่งช่วยให้คุณสามารถอัปเกรดเป็น ~ gpu16.04.6 ซึ่งไม่ได้มีโปรแกรมแก้ไขข้อบกพร่องที่ใช้งานsudo apt upgradeได้อีกต่อไป ณ จุดนี้คุณสามารถเรียกใช้sudo systemctl rebootเพื่อรีบูตระบบซึ่งควรกลับสู่การทำงานปกติ

หากคุณยังคงได้รับข้อผิดพลาดระบุ

Unit var-lib-snapd-lib-gl.mount not loaded.

คุณสามารถแก้ไขปัญหานี้ได้ด้วยการเรียกใช้

sudo touch /lib/systemd/system/var-lib-snapd-lib-gl.mount && sudo systemctl daemon-reload

ก่อนที่จะพยายามทำการอัพเกรดซ้ำ หลังจากการอัพเกรดเสร็จสิ้นเพื่อล้างการทำงาน

sudo touch /lib/systemd/system/var-lib-snapd-lib-gl.mount

2. วิธีที่ฉันเข้าหาเมื่อเช้านี้โดยการเดรัจฉานบังคับให้ลบอย่างสมบูรณ์:

หากต้องการแก้ไขปัญหานี้ก่อนอื่นคุณสามารถสลับไปที่คอนโซลข้อความโดยกดCtrl+ Alt+ F1จากนั้นเริ่มอีกครั้งโดย

sudo apt-get remove --purge nvidia*

ติดตามโดย

sudo dpkg --remove --force-all nvidia-opencl-icd-367`

จากนั้นsudo apt-get autoremoveตามมาด้วยและอีกครั้งsudo apt-get cleansudo apt-get remove --purge nvidia

ตอนนี้ก็ยังควรจะกล่าวถึงแพคเกจใด ๆ ที่คุณไม่สามารถลบแล้วสลับไป/var/lib/dpkg/infoและหาไฟล์ที่เรียกว่า<packagename>.prerm, <packagename>.postinstและ<packagename>.postrmสำหรับทุกไฟล์เหล่านั้นต่อไปนี้ ( ระวังนี้ไม่ได้เป็นวิธีที่มีเหตุผลที่จะเอาบางสิ่งบางอย่าง ):

sudo su
> <packagename>.prerm
> <packagename>.postinst
> <packagename>.postrm
exit

เมื่อคุณทำสิ่งนี้เสร็จแล้วให้เริ่มการลบตามปกติด้วย

sudo apt-get remove <packagename>

ทำเช่นนี้จนกว่าทั้งหมดจะถูกล้างออกแล้ว

sudo apt-get update && sudo apt-get dist-upgrade

จากนั้นติดตั้งไดรเวอร์ nvidia อีกครั้งซึ่งควรได้รับการแก้ไขในตอนนี้

sudo apt-get install nvidia-367

ขอบคุณฉันสามารถถอนการติดตั้งไดรเวอร์ Nvidia ได้อย่างสมบูรณ์ตามคำแนะนำที่สองของคุณ ฉันยังไม่ได้อยู่บนเดสก์ท็อปของฉัน ("ทั่วไป" เข้าสู่ระบบ -> กลับสู่ปัญหาหน้าจอเข้าสู่ระบบ) ปัจจุบันฉันพยายามติดตั้งไดรเวอร์ไบนารี่ NVIDIA (ซึ่งสร้าง x11.conf ใหม่ซึ่งใช้งานได้ตามปกติ)
Flatron

1
มีความสุขที่ฉันสามารถช่วยได้ :) ฉันได้รับมันเมื่อเช้านี้และมีช่วงเวลาที่ยากลำบากมากจนกระทั่งฉันคิดหาวิธีแก้ไข ได้ส่งอีเมล ppa crew เกี่ยวกับเรื่องนี้และ 1. ทางออกที่เสนอมาจากพวกเขาทางออกที่สองคือสิ่งที่ฉันทำเมื่อเช้านี้เพื่อแก้ไข
Videonauth

เพอร์เฟ็กต์ยุ่งยากเพียงอย่างเดียวกับ Linux คือไดรเวอร์กราฟิกเสมอ ส่วนใหญ่ไม่มีปัญหากับ edgers ppa แต่บางครั้งสิ่งนี้อาจทำให้การต่อสู้ในเช้าวันอาทิตย์ของคุณเป็นไปได้)
Flatron

1
ฉันเป็นเอกภาพและมีปัญหาเดียวกันและใช้ ppa ปกติ Graphics Driver Team ดังนั้นฉันลบแท็ก edgers ออกจากคำถามของคุณมันทั้งหมดมาจากแพทช์ผิดพลาดซึ่งอัปสตรีมบรรจุและผลัก
Videonauth

ขอบคุณ สัมผัสทำเคล็ดลับ ค่อนข้างโง่ถ้าสิ่งนี้สามารถล้มเหลวในลักษณะที่ร้ายแรงเพียงเพราะบางไฟล์ที่ไม่สำคัญเห็นได้ชัดหายไป?
binaryanomaly
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.