我是靠谱客的博主 可爱面包,最近开发中收集的这篇文章主要介绍如何从apt upgrade中排除指定包,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

原文地址:https://www.lujun9972.win/blog/2020/05/13/如何从apt-upgrade中排除指定包/index.html

在 archlinux 下可以直接通过 pacman -Syu --ingore 来跳过指定包进行升级, 然而ubuntu 下的 apt 居然不提供类似的排除选项,这很让我感到吃惊. 不过网上apt的内容倒是蛮多,经过简单的搜索,很容易找到解决方法。

  1. 先用 apt-mark hold 来保留要排除的软件包

    sudo apt-mark hold emacs-snapshot
    
    emacs-snapshot set on hold.
    
    
  2. 执行升级操作

    sudo apt upgrade -y
    
  3. apt-mark unhold 来取消包的保留

    sudo apt-mark unhold emacs-snapshot
    
    Canceled hold on emacs-snapshot.
    
    

如果没有 apt-mark 命令,则还可以使用 dpkg --set-selections 来保留软件包,关于它的manual如下:

--set-selections
            Set package selections using file read from stdin. This file should be in the format  “package  state”,
            where  state  is one of install, hold, deinstall or purge. Blank lines and comment lines beginning with
            ‘#’ are also permitted.

            The available file needs to be up-to-date for this command to be  useful,  otherwise  unknown  packages
            will be ignored with a warning. See the --update-avail and --merge-avail commands for more information.

所以步骤可以修改为

  1. 保留要排除的软件包

    echo "emacs-snapshot hold" |sudo dpkg --set-selections
    
  2. 执行升级操作

    sudo apt upgrade -y
    
  3. 取消包的保留

    echo "emacs-snapshot install" |sudo dpkg --set-selections
    

最后

以上就是可爱面包为你收集整理的如何从apt upgrade中排除指定包的全部内容,希望文章能够帮你解决如何从apt upgrade中排除指定包所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部