Apt

清除 apt-cache 策略版本表以防止安裝較新版本

  • April 5, 2022

我正在嘗試安裝一個特定的包,確切地說是 Nvidia 的 CUDA。我按照他們的開發人員指南中的步驟操作,我的問題不是專門針對 CUDA。當我嘗試使用 APT 正常安裝它時,它會嘗試在此時安裝最新版本,即 11.6。然而,我遵循的指南適用於與我目前的核心版本兼容的 11.4 版本。我deb手動下載了 11.4 版本的軟體包dpkgsudo apt update使用sudo apt install cuda. 我不確定為什麼它會嘗試安裝 11.6 版,而deb我安裝的軟體包是 11.4 版,直到我看到以下輸出apt-cache policy cuda

cuda:
 Installed: (none)
 Candidate: 11.6.2-1
 Version table:
    11.6.2-1 600
       600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  Packages
    11.6.1-1 600
       600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  Packages
    11.6.0-1 600
       600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  Packages
    11.5.2-1 600
       600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  Packages

    11.5.1-1 600
       600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  Packages
    11.5.0-1 600
       600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  Packages

    11.4.4-1 600
       600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  Packages
       600 file:/var/cuda-repo-ubuntu2004-11-4-local  Packages
    11.4.3-1 600
       600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  Packages
    11.4.2-1 600
       600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  Packages
    11.4.1-1 600
       600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  Packages
    11.4.0-1 600
       600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  Packages
    11.3.1-1 600
       600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  Packages
    11.3.0-1 600
       600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  Packages
    11.2.2-1 600
       600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  Packages
    11.2.1-1 600
       600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  Packages
    11.2.0-1 600
       600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  Packages
    11.1.1-1 600
       600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  Packages
    11.1.0-1 600
       600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  Packages
    11.0.3-1 600
       600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  Packages
    11.0.2-1 600
       600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  Packages

我安裝的版本確實顯示在var目錄中,但我在版本表中有很多其他版本。我知道我可以安裝我想要使用的特定版本,sudo apt insatll cuda=11.4.4-1但我擔心如果其他人進行升級,它會在我共享機器時自動升級破壞我的安裝。

我的問題是:sudo apt upgrade安裝我想要的特定 CUDA 版本(版本 11.4)後執行會更新到版本表中的最新版本(版本 11.6)嗎?如果是,我該如何防止這種情況?有什麼辦法可以清除版本表以刪除上面顯示的連結?我想我在嘗試為 CUDA 安裝的網路時可能錯誤地添加了它們,但我不確定。

拿著包裹:

sudo apt-mark hold cuda

人 apt-mark:

  hold
      hold is used to mark a package as held back, which will prevent the package from being
      automatically installed, upgraded or removed.

引用自:https://unix.stackexchange.com/questions/698118