1

I'm running debian/unstable, in order to build some package I had to upgrade some other package from experimental (namely nvidia drivers version 396 and cuda to build ffmpeg with cuda support). Everything is fine and I was happy until today, now I see that apt upgrade want to downgrade the driver packages to version 390.

I know about setting packages on hold but that won't upgrade anymore, I'll have to check manually for new packages version in the unstable branch. I know a bit about apt pinning, but looks to me like giving priority to some repository over others (I don't want any package from experimental to be installed automatically).

Is there a configuration where I can keep the experimental packages until the one in unstable reach the same or greater version?

update

list of the experimental packages installed

aptitude search ~S~i~Aexperimental:

i   fonts-anonymous-pro                                                - fixed width font designed for coders                                        
i A libaccinj64-9.2                                                    - NVIDIA ACCINJ Library (64-bit)                                              
i A libcublas9.2                                                       - NVIDIA cuBLAS Library                                                       
i A libcuda1                                                           - NVIDIA CUDA Driver Library                                                  
i A libcudart9.2                                                       - NVIDIA CUDA Runtime Library                                                 
i A libcufft9.2                                                        - NVIDIA cuFFT Library                                                        
i A libcufftw9.2                                                       - NVIDIA cuFFTW Library                                                       
i A libcuinj64-9.2                                                     - NVIDIA CUINJ Library (64-bit)                                               
i A libcurand9.2                                                       - NVIDIA cuRAND Library                                                       
i A libcusolver9.2                                                     - NVIDIA cuSOLVER Library                                                     
i A libcusparse9.2                                                     - NVIDIA cuSPARSE Library                                                     
i A libegl-nvidia0                                                     - NVIDIA binary EGL library                                                   
i A libgl1-nvidia-glvnd-glx                                            - NVIDIA binary OpenGL/GLX library (GLVND variant)                            
i A libgles-nvidia1                                                    - NVIDIA binary OpenGL|ES 1.x library                                         
i A libgles-nvidia2                                                    - NVIDIA binary OpenGL|ES 2.x library                                         
i A libglx-nvidia0                                                     - NVIDIA binary GLX library                                                   
i A libnppc9.2                                                         - NVIDIA Performance Primitives core runtime library                          
i A libnppial9.2                                                       - NVIDIA Performance Primitives lib for Image Arithmetic and Logic            
i A libnppicc9.2                                                       - NVIDIA Performance Primitives lib for Image Color Conversion                
i A libnppicom9.2                                                      - NVIDIA Performance Primitives lib for Image Compression                     
i A libnppidei9.2                                                      - NVIDIA Performance Primitives lib for Image Data Exchange and Initialization
i A libnppif9.2                                                        - NVIDIA Performance Primitives lib for Image Filters                         
i A libnppig9.2                                                        - NVIDIA Performance Primitives lib for Image Geometry transforms             
i A libnppim9.2                                                        - NVIDIA Performance Primitives lib for Image Morphological operations        
i A libnppist9.2                                                       - NVIDIA Performance Primitives lib for Image Statistics                      
i A libnppisu9.2                                                       - NVIDIA Performance Primitives lib for Image Support                         
i A libnppitc9.2                                                       - NVIDIA Performance Primitives lib for Image Threshold and Compare           
i A libnpps9.2                                                         - NVIDIA Performance Primitives for signal processing runtime library         
i A libnvblas9.2                                                       - NVBLAS runtime library                                                      
i A libnvcuvid1                                                        - NVIDIA CUDA Video Decoder runtime library                                   
i A libnvgraph9.2                                                      - NVIDIA Graph Analytics library (nvGRAPH)                                    
i A libnvidia-cfg1                                                     - NVIDIA binary OpenGL/GLX configuration library                              
i A libnvidia-compiler                                                 - NVIDIA runtime compiler library                                             
i A libnvidia-egl-wayland1                                             - NVIDIA binary Wayland EGL external platform library                         
i A libnvidia-eglcore                                                  - NVIDIA binary EGL core libraries                                            
i   libnvidia-encode1                                                  - NVENC Video Encoding runtime library                                        
i A libnvidia-fatbinaryloader                                          - NVIDIA FAT binary loader                                                    
i A libnvidia-glcore                                                   - NVIDIA binary OpenGL/GLX core libraries                                     
i A libnvidia-ml1                                                      - NVIDIA Management Library (NVML) runtime library                            
i A libnvidia-ptxjitcompiler1                                          - NVIDIA PTX JIT Compiler                                                     
i A libnvrtc9.2                                                        - CUDA Runtime Compilation (NVIDIA NVRTC Library)                             
i A libnvtoolsext1                                                     - NVIDIA Tools Extension Library                                              
i A libnvvm3                                                           - NVIDIA NVVM Library                                                         
i A nvidia-alternative                                                 - allows the selection of NVIDIA as GLX provider                              
i   nvidia-cuda-dev                                                    - NVIDIA CUDA development files                                               
i   nvidia-cuda-toolkit                                                - NVIDIA CUDA development toolkit                                             
i A nvidia-driver                                                      - NVIDIA metapackage                                                          
i A nvidia-driver-bin                                                  - NVIDIA driver support binaries                                              
i A nvidia-driver-libs                                                 - NVIDIA metapackage (OpenGL/GLX/EGL/GLES libraries)                          
i A nvidia-egl-icd                                                     - NVIDIA EGL installable client driver (ICD)                                  
i A nvidia-egl-wayland-icd                                             - NVIDIA Wayland EGL external platform library (ICD)                          
i   nvidia-kernel-dkms                                                 - NVIDIA binary kernel module DKMS source                                     
i A nvidia-kernel-support                                              - NVIDIA binary kernel module support files                                   
i   nvidia-opencl-icd                                                  - NVIDIA OpenCL installable client driver (ICD)                               
i A nvidia-profiler                                                    - NVIDIA Profiler for CUDA and OpenCL                                         
i A nvidia-smi                                                         - NVIDIA System Management Interface                                          
i A nvidia-vdpau-driver                                                - Video Decode and Presentation API for Unix - NVIDIA driver                  
i A nvidia-visual-profiler                                             - NVIDIA Visual Profiler for CUDA and OpenCL                                  
i A xserver-xorg-video-nvidia                                          - NVIDIA binary Xorg driver

list of the experimental packages installed with version

dpkg -l $(aptitude search ~S~i~Aexperimental |sed 's/^...//'|awk '{print $1}'):

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                            Version       Architecture Description
+++-===============================-=============-============-============================================================================
ii  fonts-anonymous-pro             1.002+clean-2 all          fixed width font designed for coders
ii  libaccinj64-9.2:amd64           9.2.148-1     amd64        NVIDIA ACCINJ Library (64-bit)
ii  libcublas9.2:amd64              9.2.148-1     amd64        NVIDIA cuBLAS Library
ii  libcuda1:amd64                  396.54-2      amd64        NVIDIA CUDA Driver Library
ii  libcudart9.2:amd64              9.2.148-1     amd64        NVIDIA CUDA Runtime Library
ii  libcufft9.2:amd64               9.2.148-1     amd64        NVIDIA cuFFT Library
ii  libcufftw9.2:amd64              9.2.148-1     amd64        NVIDIA cuFFTW Library
ii  libcuinj64-9.2:amd64            9.2.148-1     amd64        NVIDIA CUINJ Library (64-bit)
ii  libcurand9.2:amd64              9.2.148-1     amd64        NVIDIA cuRAND Library
ii  libcusolver9.2:amd64            9.2.148-1     amd64        NVIDIA cuSOLVER Library
ii  libcusparse9.2:amd64            9.2.148-1     amd64        NVIDIA cuSPARSE Library
ii  libegl-nvidia0:amd64            396.54-2      amd64        NVIDIA binary EGL library
ii  libgl1-nvidia-glvnd-glx:amd64   396.54-2      amd64        NVIDIA binary OpenGL/GLX library (GLVND variant)
ii  libgles-nvidia1:amd64           396.54-2      amd64        NVIDIA binary OpenGL|ES 1.x library
ii  libgles-nvidia2:amd64           396.54-2      amd64        NVIDIA binary OpenGL|ES 2.x library
ii  libglx-nvidia0:amd64            396.54-2      amd64        NVIDIA binary GLX library
ii  libnppc9.2:amd64                9.2.148-1     amd64        NVIDIA Performance Primitives core runtime library
ii  libnppial9.2:amd64              9.2.148-1     amd64        NVIDIA Performance Primitives lib for Image Arithmetic and Logic
ii  libnppicc9.2:amd64              9.2.148-1     amd64        NVIDIA Performance Primitives lib for Image Color Conversion
ii  libnppicom9.2:amd64             9.2.148-1     amd64        NVIDIA Performance Primitives lib for Image Compression
ii  libnppidei9.2:amd64             9.2.148-1     amd64        NVIDIA Performance Primitives lib for Image Data Exchange and Initialization
ii  libnppif9.2:amd64               9.2.148-1     amd64        NVIDIA Performance Primitives lib for Image Filters
ii  libnppig9.2:amd64               9.2.148-1     amd64        NVIDIA Performance Primitives lib for Image Geometry transforms
ii  libnppim9.2:amd64               9.2.148-1     amd64        NVIDIA Performance Primitives lib for Image Morphological operations
ii  libnppist9.2:amd64              9.2.148-1     amd64        NVIDIA Performance Primitives lib for Image Statistics
ii  libnppisu9.2:amd64              9.2.148-1     amd64        NVIDIA Performance Primitives lib for Image Support
ii  libnppitc9.2:amd64              9.2.148-1     amd64        NVIDIA Performance Primitives lib for Image Threshold and Compare
ii  libnpps9.2:amd64                9.2.148-1     amd64        NVIDIA Performance Primitives for signal processing runtime library
ii  libnvblas9.2:amd64              9.2.148-1     amd64        NVBLAS runtime library
ii  libnvcuvid1:amd64               396.54-2      amd64        NVIDIA CUDA Video Decoder runtime library
ii  libnvgraph9.2:amd64             9.2.148-1     amd64        NVIDIA Graph Analytics library (nvGRAPH)
ii  libnvidia-cfg1:amd64            396.54-2      amd64        NVIDIA binary OpenGL/GLX configuration library
ii  libnvidia-compiler:amd64        396.54-2      amd64        NVIDIA runtime compiler library
ii  libnvidia-egl-wayland1:amd64    396.54-2      amd64        NVIDIA binary Wayland EGL external platform library
ii  libnvidia-eglcore:amd64         396.54-2      amd64        NVIDIA binary EGL core libraries
ii  libnvidia-encode1:amd64         396.54-2      amd64        NVENC Video Encoding runtime library
ii  libnvidia-fatbinaryloader:amd64 396.54-2      amd64        NVIDIA FAT binary loader
ii  libnvidia-glcore:amd64          396.54-2      amd64        NVIDIA binary OpenGL/GLX core libraries
ii  libnvidia-ml1:amd64             396.54-2      amd64        NVIDIA Management Library (NVML) runtime library
ii  libnvidia-ptxjitcompiler1:amd64 396.54-2      amd64        NVIDIA PTX JIT Compiler
ii  libnvrtc9.2:amd64               9.2.148-1     amd64        CUDA Runtime Compilation (NVIDIA NVRTC Library)
ii  libnvtoolsext1:amd64            9.2.148-1     amd64        NVIDIA Tools Extension Library
ii  libnvvm3:amd64                  9.2.148-1     amd64        NVIDIA NVVM Library
ii  nvidia-alternative              396.54-2      amd64        allows the selection of NVIDIA as GLX provider
ii  nvidia-cuda-dev                 9.2.148-1     amd64        NVIDIA CUDA development files
ii  nvidia-cuda-toolkit             9.2.148-1     amd64        NVIDIA CUDA development toolkit
ii  nvidia-driver                   396.54-2      amd64        NVIDIA metapackage
ii  nvidia-driver-bin               396.54-2      amd64        NVIDIA driver support binaries
ii  nvidia-driver-libs:amd64        396.54-2      amd64        NVIDIA metapackage (OpenGL/GLX/EGL/GLES libraries)
ii  nvidia-egl-icd:amd64            396.54-2      amd64        NVIDIA EGL installable client driver (ICD)
ii  nvidia-egl-wayland-icd:amd64    396.54-2      amd64        NVIDIA Wayland EGL external platform library (ICD)
ii  nvidia-kernel-dkms              396.54-2      amd64        NVIDIA binary kernel module DKMS source
ii  nvidia-kernel-support           396.54-2      amd64        NVIDIA binary kernel module support files
ii  nvidia-opencl-icd:amd64         396.54-2      amd64        NVIDIA OpenCL installable client driver (ICD)
ii  nvidia-profiler                 9.2.148-1     amd64        NVIDIA Profiler for CUDA and OpenCL
ii  nvidia-smi                      396.54-2      amd64        NVIDIA System Management Interface
ii  nvidia-vdpau-driver:amd64       396.54-2      amd64        Video Decode and Presentation API for Unix - NVIDIA driver
ii  nvidia-visual-profiler          9.2.148-1     amd64        NVIDIA Visual Profiler for CUDA and OpenCL
ii  xserver-xorg-video-nvidia       396.54-2      amd64        NVIDIA binary Xorg driver

upgrade output (I tried apt-get also and for some reason is different, longer, want to upgrade the boost libraries too)

apt -s upgrade:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
  libdns-export1102 libisc-export169
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
  libdns-export1104 libisc-export1100
The following packages have been kept back:
  icu-devtools libboost-atomic1.62-dev libboost-atomic1.62.0 libboost-chrono-dev libboost-chrono1.62-dev libboost-chrono1.62.0
  libboost-context1.62-dev libboost-context1.62.0 libboost-coroutine1.62-dev libboost-coroutine1.62.0 libboost-date-time1.62-dev
  libboost-date-time1.62.0 libboost-dev libboost-exception1.62-dev libboost-fiber1.62-dev libboost-fiber1.62.0 libboost-filesystem-dev
  libboost-filesystem1.62-dev libboost-filesystem1.62.0 libboost-graph-parallel1.62-dev libboost-graph-parallel1.62.0 libboost-locale-dev
  libboost-locale1.62-dev libboost-locale1.62.0 libboost-math1.62-dev libboost-math1.62.0 libboost-mpi1.62-dev libboost-mpi1.62.0
  libboost-program-options1.62-dev libboost-program-options1.62.0 libboost-python1.62-dev libboost-python1.62.0 libboost-random1.62-dev
  libboost-random1.62.0 libboost-regex1.62-dev libboost-regex1.62.0 libboost-serialization1.62-dev libboost-serialization1.62.0
  libboost-signals1.62-dev libboost-signals1.62.0 libboost-system-dev libboost-system1.62-dev libboost-system1.62.0 libboost-test1.62-dev
  libboost-test1.62.0 libboost-thread-dev libboost-thread1.62-dev libboost-thread1.62.0 libboost-timer1.62-dev libboost-timer1.62.0
  libboost-type-erasure1.62-dev libboost-type-erasure1.62.0 libboost-wave1.62-dev libboost-wave1.62.0 libboost1.62-dev libicu-dev libicu63
  libicu63:i386 liblxc1 libsane-common lldb lxc python-qscintilla2 python3-lxc
The following packages will be upgraded:
  btrfs-progs check fonts-wine gir1.2-gtk-3.0 git git-gui git-man gitk gtk-update-icon-cache isc-dhcp-client isc-dhcp-common itstool libarmadillo9
  libgtk-3-0 libgtk-3-bin libgtk-3-common libgtk-3-dev libqbscore1.12 libqbsqtprofilesetup1.12 libsqlite3-0 libsqlite3-dev libsqlite3-tcl
  libwine:i386 nvidia-cuda-mps nvidia-egl-common nvidia-kernel-source nvidia-legacy-check nvidia-opencl-common opencl-clhpp-headers python-six
  python3-six qbs-common sqlite3 wine wine32:i386
35 upgraded, 2 newly installed, 0 to remove and 64 not upgraded.
Inst nvidia-legacy-check [390.87-3] (390.87-4 Debian:unstable [amd64])
Inst libisc-export1100 (1:9.11.5+dfsg-1 Debian:unstable [amd64])
Inst libdns-export1104 (1:9.11.5+dfsg-1 Debian:unstable [amd64])
Inst isc-dhcp-client [4.3.5-4+b1] (4.4.1-2 Debian:unstable [amd64])
Inst isc-dhcp-common [4.3.5-4+b1] (4.4.1-2 Debian:unstable [amd64])
Inst btrfs-progs [4.17-1+b1] (4.19.1-1 Debian:unstable [amd64])
Inst check [0.10.0-3+b3] (0.12.0-0.1 Debian:unstable [amd64])
Inst fonts-wine [3.0.4-1] (4.0~rc1-1 Debian:unstable [all])
Inst libgtk-3-common [3.24.1-2] (3.24.1-3 Debian:unstable [all])
Inst libgtk-3-dev [3.24.1-2] (3.24.1-3 Debian:unstable [amd64]) []
Inst libgtk-3-0 [3.24.1-2] (3.24.1-3 Debian:unstable [amd64]) []
Inst gir1.2-gtk-3.0 [3.24.1-2] (3.24.1-3 Debian:unstable [amd64])
Inst git-gui [1:2.20.0~rc2-1] (1:2.20.0-1 Debian:unstable [all]) []
Inst gitk [1:2.20.0~rc2-1] (1:2.20.0-1 Debian:unstable [all]) []
Inst git [1:2.20.0~rc2-1] (1:2.20.0-1 Debian:unstable [amd64]) []
Inst git-man [1:2.20.0~rc2-1] (1:2.20.0-1 Debian:unstable [all])
Inst gtk-update-icon-cache [3.24.1-2] (3.24.1-3 Debian:unstable [amd64])
Inst itstool [2.0.5-1] (2.0.5-2 Debian:unstable [all])
Inst libarmadillo9 [1:9.100.6+dfsg-1] (1:9.200.6+dfsg-1 Debian:unstable [amd64])
Inst libgtk-3-bin [3.24.1-2] (3.24.1-3 Debian:unstable [amd64])
Inst libqbscore1.12 [1.12.1+dfsg-2] (1.12.2+dfsg-1 Debian:unstable [amd64]) []
Inst qbs-common [1.12.1+dfsg-2] (1.12.2+dfsg-1 Debian:unstable [all])
Inst libqbsqtprofilesetup1.12 [1.12.1+dfsg-2] (1.12.2+dfsg-1 Debian:unstable [amd64])
Inst libsqlite3-dev [3.26.0-2] (3.26.0-3 Debian:unstable [amd64]) []
Inst sqlite3 [3.26.0-2] (3.26.0-3 Debian:unstable [amd64]) []
Inst libsqlite3-0 [3.26.0-2] (3.26.0-3 Debian:unstable [amd64])
Inst libsqlite3-tcl [3.26.0-2] (3.26.0-3 Debian:unstable [amd64])
Inst wine [3.0.4-1] (4.0~rc1-1 Debian:unstable [all]) []
Inst wine32:i386 [3.0.4-1] (4.0~rc1-1 Debian:unstable [i386]) []
Inst libwine:i386 [3.0.4-1] (4.0~rc1-1 Debian:unstable [i386])
Inst nvidia-cuda-mps [390.87-3] (390.87-4 Debian:unstable [amd64])
Inst nvidia-egl-common [390.87-3] (390.87-4 Debian:unstable [amd64])
Inst nvidia-kernel-source [390.87-3] (390.87-4 Debian:unstable [amd64])
Inst nvidia-opencl-common [390.87-3] (390.87-4 Debian:unstable [amd64])
Inst opencl-clhpp-headers [2.0.10+git12-g5dd8bb9-1] (2.0.10+git23-gf0b7045-1 Debian:unstable [all])
Inst python-six [1.11.0-2] (1.12.0-1 Debian:unstable [all])
Inst python3-six [1.11.0-2] (1.12.0-1 Debian:unstable [all])
Conf nvidia-legacy-check (390.87-4 Debian:unstable [amd64])
Conf libisc-export1100 (1:9.11.5+dfsg-1 Debian:unstable [amd64])
Conf libdns-export1104 (1:9.11.5+dfsg-1 Debian:unstable [amd64])
Conf isc-dhcp-client (4.4.1-2 Debian:unstable [amd64])
Conf isc-dhcp-common (4.4.1-2 Debian:unstable [amd64])
Conf btrfs-progs (4.19.1-1 Debian:unstable [amd64])
Conf check (0.12.0-0.1 Debian:unstable [amd64])
Conf fonts-wine (4.0~rc1-1 Debian:unstable [all])
Conf libgtk-3-common (3.24.1-3 Debian:unstable [all])
Conf libgtk-3-dev (3.24.1-3 Debian:unstable [amd64])
Conf libgtk-3-0 (3.24.1-3 Debian:unstable [amd64])
Conf gir1.2-gtk-3.0 (3.24.1-3 Debian:unstable [amd64])
Conf git-gui (1:2.20.0-1 Debian:unstable [all])
Conf gitk (1:2.20.0-1 Debian:unstable [all])
Conf git (1:2.20.0-1 Debian:unstable [amd64])
Conf git-man (1:2.20.0-1 Debian:unstable [all])
Conf gtk-update-icon-cache (3.24.1-3 Debian:unstable [amd64])
Conf itstool (2.0.5-2 Debian:unstable [all])
Conf libarmadillo9 (1:9.200.6+dfsg-1 Debian:unstable [amd64])
Conf libgtk-3-bin (3.24.1-3 Debian:unstable [amd64])
Conf libqbscore1.12 (1.12.2+dfsg-1 Debian:unstable [amd64])
Conf qbs-common (1.12.2+dfsg-1 Debian:unstable [all])
Conf libqbsqtprofilesetup1.12 (1.12.2+dfsg-1 Debian:unstable [amd64])
Conf libsqlite3-dev (3.26.0-3 Debian:unstable [amd64])
Conf sqlite3 (3.26.0-3 Debian:unstable [amd64])
Conf libsqlite3-0 (3.26.0-3 Debian:unstable [amd64])
Conf libsqlite3-tcl (3.26.0-3 Debian:unstable [amd64])
Conf wine (4.0~rc1-1 Debian:unstable [all])
Conf wine32:i386 (4.0~rc1-1 Debian:unstable [i386])
Conf libwine:i386 (4.0~rc1-1 Debian:unstable [i386])
Conf nvidia-cuda-mps (390.87-4 Debian:unstable [amd64])
Conf nvidia-egl-common (390.87-4 Debian:unstable [amd64])
Conf nvidia-kernel-source (390.87-4 Debian:unstable [amd64])
Conf nvidia-opencl-common (390.87-4 Debian:unstable [amd64])
Conf opencl-clhpp-headers (2.0.10+git23-gf0b7045-1 Debian:unstable [all])
Conf python-six (1.12.0-1 Debian:unstable [all])
Conf python3-six (1.12.0-1 Debian:unstable [all])
3

The default apt setup provides the behaviour you’re after: packages can be installed from experimental if requested explicitly, and once installed, they are implicitly held — they won’t be upgraded automatically (even if a newer version is uploaded to experimental) until unstable catches up. They won’t be downgraded either.

The NVIDIA packages which apt wants to touch in your case are nvidia-cuda-mps, nvidia-egl-common, nvidia-kernel-source, and nvidia-opencl-common, none of which you have installed from experimental (they don’t show up in your list of packages installed from experimental). Since they’ve been updated in unstable recently, apt wants to upgrade them; it’s not a downgrade from experimental.

apt isn’t doing anything wrong here, but you should install the affected packages manually from experimental to ensure everything is consistent.

  • Damn, I'm going blind, I'll look into it, thanks! – Alex Dec 11 '18 at 17:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.