La instalación fallida del paquete rompe apt-get

La instalación fallida del paquete rompe apt-get

Acabo de instalar Ubuntu 18.04 por primera vez. Emocionado por jugar con algunos códigos de GPU, instalé CUDA a través de la opción deb (local)for 17.10, como se describe en elPágina de Nvidia CUDA. Lo sé 17.10 != 18.04, pero había leído sobre personas que tuvieron éxito con esto.

Seguí las instrucciones de instalación proporcionadas por Nvidia:

sudo dpkg -i cuda-repo-ubuntu1710-9-2-local_9.2.88-1_amd64.deb
sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda

El último comando generó un error al instalar nvidia-396:

Get:1 file:/var/cuda-repo-9-2-local  nvidia-396 396.26-0ubuntu1 [80.0 MB]
(Reading database ... 167630 files and directories currently installed.)
Preparing to unpack .../nvidia-396_396.26-0ubuntu1_amd64.deb ...
Unpacking nvidia-396 (396.26-0ubuntu1) ...
dpkg: error processing archive /var/cuda-repo-9-2-local/./nvidia-396_396.26-0ubuntu1_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/x86_64-linux-gnu/libGLX_indirect.so.0', which is also in package libglx-mesa0:amd64 18.0.0~rc5-1ubuntu1
Errors were encountered while processing:
 /var/cuda-repo-9-2-local/./nvidia-396_396.26-0ubuntu1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Tal vez mordí más de lo que podía masticar, así que decidí pasar a cosas menos desafiantes. Procedí a instalar algunos paquetes básicos, como git, pero al hacerlo me apareció este error:

> sudo apt-get install git
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 cuda-drivers : Depends: nvidia-396 (>= 396.26) but it is not going to be installed
 git : Depends: liberror-perl but it is not going to be installed
       Depends: git-man (> 1:2.17.1) but it is not going to be installed
       Depends: git-man (< 1:2.17.1-.) but it is not going to be installed
 libcuda1-396 : Depends: nvidia-396 (>= 396.26) but it is not going to be installed
 nvidia-396-dev : Depends: nvidia-396 (>= 396.26) but it is not going to be installed
 nvidia-opencl-icd-396 : Depends: nvidia-396 (>= 396.26) but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

Al intentar el comando sugerido sudo apt --fix-broken installse produce el mismo nvidia-396error encontrado anteriormente.

Parece que mi intento de instalación cudase ha puesto apt-geten un estado tal que ya no instalará ni eliminará ningún paquete, debido a un error de dependencias no satisfechas. Dicho de manera más simple, la instalación cudase ha interrumpido apt-getpor completo.

¿Cómo puedo hacer que mi administrador de paquetes vuelva a funcionar?

Respuesta1

Soluciono este problema solo con:

sudo apt-get -o Dpkg::Options::="--force-overwrite" install --fix-broken

Respuesta2

De manera similar al comando de StrugglingProgrammer, tenía que asegurarme de desinstalartodopaquetes cuda (cuda-demo*, por ejemplo)

Puedes comprobar cuáles podrían ser:

dpkg -l | grep -i cuda
dpkg -l | grep -i nvidia

Así que tal vez intente cualquiera de los dos

sudo apt-get remove --purge cuda-* libcuda* nvidia* 

(para todo el lote) o seleccione más específicamente como:

sudo apt-get remove --purge cuda-drivers libcuda* cuda-runtime* cuda-8-0 cuda-demo*

Para mí específicamente (después de intentar una instalación fallida de cuda-8-0y libcudnn6) fue:

sudo apt-get remove --purge nvidia* cuda-drivers libcuda* cuda-runtime* cuda-8-0 cuda-demo*

Espero que pueda ser de ayuda.

Respuesta3

Resolví esto eliminando todo lo instalado en un solo apt-get removecomando:

sudo apt-get remove --purge nvidia* cuda-drivers libcuda1-396 cuda-runtime-9-2 cuda-9.2 cuda-demo-suite-9-2  cuda

Respuesta4

yo ejecuté

sudo add-apt-repository ppa:graphics-drivers
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo bash -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda.list'
sudo bash -c 'echo "deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda_learn.list'

(b) Instalar paquetes CUDA 10.1, incluida la biblioteca CuDNN

sudo apt update
sudo apt install cuda-10-1
sudo apt install libcudnn7

Mira estoenlaceNo eliminé ningún controlador que acabo de instalar arriba y actualicé .profile

nano ~/.profile
# set PATH for cuda 10.1 installation
if [ -d "/usr/local/cuda-10.1/bin/" ]; then
    export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
fi

información relacionada