18.04 पर एनवीडिया ड्राइवर स्थापित करना


31

सब। मैं अपने सिस्टम को ठीक करने की कोशिश कर रहा हूं ताकि मैं एनवीडिया ड्राइवरों को स्थापित कर सकूं लेकिन ऐसा लगता है कि यह किसी कारण से अटक गया है। मैंने डाउनलोड की गई फ़ाइलों को मैन्युअल रूप से हटाने की कोशिश की है

/var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_i386.deb
/var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_amd64.deb

... उन्हें फिर से डाउनलोड करने के लिए, लेकिन कोई फायदा नहीं हुआ। क्या किसी ने 18.04 को उन ड्राइवरों को स्थापित करने की कोशिश की है?

~$ sudo apt --fix-broken install
[sudo] password for jarl: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  lib32gcc1 libc6-i386
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  libnvidia-gl-390 libnvidia-gl-390:i386
The following NEW packages will be installed
  libnvidia-gl-390 libnvidia-gl-390:i386
0 to upgrade, 2 to newly install, 0 to remove and 4 not to upgrade.
3 not fully installed or removed.
Need to get 0 B/29,1 MB of archives.
After this operation, 147 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 214344 files and directories currently installed.)
Preparing to unpack .../libnvidia-gl-390_390.48-0ubuntu3_i386.deb ...
diversion of /usr/lib/i386-linux-gnu/libGL.so.1 to /usr/lib/i386-linux-gnu/libGL.so.1.distrib by nvidia-340
dpkg-divert: error: mismatch on package
  when removing 'diversion of /usr/lib/i386-linux-gnu/libGL.so.1 by libnvidia-gl-390'
  found 'diversion of /usr/lib/i386-linux-gnu/libGL.so.1 to /usr/lib/i386-linux-gnu/libGL.so.1.distrib by nvidia-340'
dpkg: error processing archive /var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_i386.deb (--unpack):
 new libnvidia-gl-390:i386 package pre-installation script subprocess returned error exit status 2
Preparing to unpack .../libnvidia-gl-390_390.48-0ubuntu3_amd64.deb ...
diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1 to /usr/lib/x86_64-linux-gnu/libGL.so.1.distrib by nvidia-340
dpkg-divert: error: mismatch on package
  when removing 'diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1 by libnvidia-gl-390'
  found 'diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1 to /usr/lib/x86_64-linux-gnu/libGL.so.1.distrib by nvidia-340'
dpkg: error processing archive /var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_amd64.deb (--unpack):
 new libnvidia-gl-390:amd64 package pre-installation script subprocess returned error exit status 2
Errors were encountered while processing:
 /var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_i386.deb
 /var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

पूरे कैश को साफ करने की sudo apt-get cleanकोशिश करें और फिर से प्रयास करें।
कार्ल रिक्टर

sudo apt-get cleanएक ही बात के बाद मेरे लिए अभी भी होता है
Pim Heijden

जवाबों:


75

Ubuntu मंचों पर यह आदेश मिला, मेरे साथ बहुत अच्छा काम किया:

चलाएँ:

LC_MESSAGES=C dpkg-divert --list '*nvidia-340*' | sed -nre 's/^diversion of (.*) to .*/\1/p' | xargs -rd'\n' -n1 -- sudo dpkg-divert --remove
sudo apt --fix-broken install

पहला कमांड सभी डायवर्ट किए गए पैकेज को हटा देगा nvidia-340। यदि आपके पास अन्य एनविडिया संस्करण है, तो "डाइवर्टिंग" इसे बदल सकता है; यह जानने के लिए कि कोड किस डायवर्ट कर रहा है, त्रुटि कोड पढ़ें।

स्रोत: https://ubuntuforums.org/showthread.php?t=2388026&p=13761809#post13761809 kudos to stutteringp0et2 :)


2
यदि आप अंग्रेजी में उबंटू का उपयोग नहीं करते हैं, तो एक बदलाव है आपको संख्या awk '{print $3}'को कुछ और में बदलना होगा , उदाहरण के लिए मुझे इसे बदलना होगा awk '{print $2}'। या आप लोकेल को अंग्रेजी में बदल सकते हैं ( for FILE in $(LANG=en dpkg-divert --list | grep nvidia-340 | awk '{print $3}'); do dpkg-divert --remove $FILE; done)।
पेट्र आर।

2
तुम मुझे मेरी पीड़ा से बचा लिया गया है, मैं एक खाता यहाँ सिर्फ वोट दें करने के लिए बनाया है
Primusa

14

यहां एक अन्य फोरम में पूरा जवाब दिया गया है

उत्तर का मूल आधार है:

  1. आपकी पुरानी निर्भरताएं हैं जिन्हें आप दूर करना चाहते हैं
  2. आप गंदगी को साफ करना चाहते हैं
  3. आप नया ड्राइवर स्थापित करना चाहते हैं

मुझे लगता है कि आपके पास स्थापित 340 ड्राइवर से cr * p है - जो मेरी समस्या थी

  1. पुरानी निर्भरता को दूर करें

    LC_MESSAGES=C dpkg-divert --list '*nvidia-340*' | sed -nre 's/^diversion of (.*) to .*/\1/p' | xargs -rd'\n' -n1 -- sudo dpkg-divert --remove
  2. साफ गड़बड़ - गंदगी पर निर्भर है जिसे आपने स्थापित किया है, यदि यह बॉक्स से बाहर काम नहीं करता है;)

    sudo dpkg --force-all -P nvidia-390 nvidia-compute-utils-390 nvidia-dkms-390 nvidia-prime nvidia-settings nvidia-opencl-icd-340 nvidia-opencl-icd-384 nvidia-kernel-source-390 nvidia-kernel-common-390 libnvidia-cfg1-390 libnvidia-common-390 libnvidia-compute-390 libnvidia-decode-390 libnvidia-encode-390  libnvidia-fbc1-390 libnvidia-ifr1-390
    sudo apt purge --autoremove '*nvidia*'
    sudo apt-get update
    sudo apt-get upgrade
    
  3. नए अनुशंसित ड्राइवर स्थापित करें

    ubuntu-drivers devices
    nvidia-settings
    

मेरी सलाह है:
इस cr * ppy ड्राइवरों में सेटिंग्स के साथ मत खेलो अगर जाँच करने के लिए स्थापित हो तो :)


3
कृपया dpkg --force-allबिना किसी अच्छे कारण के सुझाव न दें ! पैकेज प्रबंधन प्रणाली की अखंडता की रक्षा के लिए त्रुटि पर सामना करना पड़ा गर्भपात का मतलब है और बिना सोचे या देखभाल के दबाया जाना चाहिए! -1
डेविड फ़ॉस्टर

यह काम। मुझे टिप्पणी करनी चाहिए: मैंने पाया कि जब 4k डिस्प्ले का उपयोग किया जाता है तो यह मुद्दा उठता है - तब आपको बूट की समस्या होती है। मुझे कैसे पता चला: पुराने मॉनिटर को फिर से
भरना

मैंने # 1 किया और फिर sudo apt install -fऔर sudo apt upgrade। काम किया।
ICE

यह उत्तर लगभग लुकास सेराफिम के उत्तर के समान क्यों है?
पिम हाइजेन

6

मैंने nvidia-340 के डायवर्ट को हटाकर समस्या का समाधान किया। उम्मीद है कि मुझे उपयोग करने की आवश्यकता नहीं है nvidia-340। निम्नलिखित एक उदाहरण है:

dpkg-divert --package nvidia-340 --remove /usr/lib/i386-linux-gnu/libGL.so.1

जब भी आपका कोई विवाद हो तो आप उसे दूर कर सकते हैं।


अनेक अनेक धन्यवाद! सबसे पहले, ऐसा लगता है कि यह काम नहीं कर रहा है, लेकिन अगर हम कोशिश करते हैं और हटाते हैं, तो अंततः यह हल करता है। एक बार फिर धन्यवाद।
गौरव गांधी

बहुत धन्यवाद! मैं इस मुद्दे को जाने बिना नहीं पा सकता था कि मैं nvidia-340 जंक के लिए dpkg-divert सूची को संशोधित कर सकता था। आप रॉक
मिकिस

2

मैं ऑटो-क्लीन चलाऊंगा और देखूंगा कि क्या मुझे लगता है कि यह एक गड़बड़ पैकेज है।

sudo apt auto-clean
sudo apt update
sudo apt upgrade
sudo apt install nvidia-driver-390 libvulkan1

संपादित करें: आपके अन्य प्रश्न का उत्तर देने के लिए, जब मैंने 18.04 स्थापित किया था तो दूसरे दिन 390 ने ठीक काम किया था, लेकिन 396 पर जाना थोड़ा "मजेदार" था। इसने मेरे लिए इसे ठीक कर दिया।


बहुत बहुत धन्यवाद। यह तब तक है जैसा मुझे मिला।: (मुझे लगता है कि मैं एक साफ पुनर्स्थापना कर सकता हूं): ~ $ sudo apt उन्नयन रीडिंग पैकेज सूचियां ... Done बिल्डिंग निर्भरता पेड़ पढ़ना स्थिति की जानकारी ... पूर्ण हो सकता है आप 'apt - चलाना चाहते हैं इन्हें ठीक करने के लिए उप-टूटी हुई स्थापना '। निम्नलिखित पैकेजों में कुछ निर्भरताएँ होती हैं। libnvidia-ifr1-390: निर्भर करता है: libnvidia-gl-390 लेकिन यह स्थापित नहीं है libnvidia-ifr1-390: i386: निर्भर करता है: libnvidia-gl-390, i386 gl-390 (= 390.48-0ubuntu3) लेकिन यह स्थापित नहीं है ....
Jarl Arntzen

.... Recommends: libnvidia-gl-390:i386 (= 390.48-0ubuntu3) E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
जारल अर्न्त्जन

1

इसे पहले चलाएं,

समाधान #for FILE in $(dpkg-divert --list | grep nvidia-340 | awk '{print $3}'); do dpkg-divert --remove $FILE; done

फिर इसे ppa से स्थापित करें,

sudo add-apt-repository ppa:graphics-drivers/ppa 
sudo apt update 
sudo apt install nvidia-390

इसने मेरे लिए उबंटू 18.04 एलटीएस पर काम किया


एनवीडिया-ड्राइवर -320 डिफ़ॉल्ट उबंटू 18.04 रिपॉजिटरी में है तो पीपीए जोड़ने की क्या बात है?
कारेल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.