You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置APT延迟特定软件包的更新?

如何配置APT延迟特定软件包的更新?

嗨,我完全懂你的困扰——Opera这类第三方仓库的软件更新太频繁,每次还得下载大文件,确实挺折腾的。下面给你几个实用的APT配置方案,既能让你控制特定包的更新频率(比如每月更一次),又不影响其他软件的正常更新:

方法一:手动锁定包版本,按需更新

这个方法最简单直接,先把目标包“锁住”,不让APT自动更新它,等你想更新的时候(比如每月一次)再手动解锁更新:

  1. 先查看当前已安装的包版本(可选,方便后续确认):
    apt show opera-stable | grep Version
    
  2. 锁定包版本:
    apt-mark hold opera-stable
    
    之后执行apt upgrade时,系统就会跳过这个包的更新了。
  3. 每月需要更新时,先解锁再更新,更新完成后重新锁定:
    apt-mark unhold opera-stable
    apt update && apt install opera-stable -y
    apt-mark hold opera-stable
    

方法二:用APT Pinning设置优先级,仅手动触发更新

通过配置APT的优先级规则,让系统默认跳过目标包的自动更新,只有当你明确指定安装这个包时才会更新:

  1. 在/etc/apt/preferences.d/目录下创建一个配置文件,比如99-opera-pin:
    nano /etc/apt/preferences.d/99-opera-pin
    
  2. 写入以下内容(把opera-stable换成你要控制的其他包名即可):
    Package: opera-stable
    Pin: version *
    Pin-Priority: 100
    
    这里的Pin-Priority: 100表示APT只会在你主动执行apt install opera-stable时才会更新该包,日常的apt upgrade会自动忽略它。

方法三:结合Cron实现自动每月更新

如果你想让系统自动每月更新一次目标包,平时保持跳过,可以用Cron定时任务配合包锁定来实现:

  1. 创建一个更新脚本,比如/usr/local/bin/monthly-opera-update.sh:
    nano /usr/local/bin/monthly-opera-update.sh
    
  2. 写入以下内容:
    #!/bin/bash
    # 解锁opera-stable
    apt-mark unhold opera-stable > /dev/null 2>&1
    # 更新包
    apt update > /dev/null 2>&1
    apt install opera-stable -y > /dev/null 2>&1
    # 重新锁定
    apt-mark hold opera-stable > /dev/null 2>&1
    
  3. 给脚本添加执行权限:
    chmod +x /usr/local/bin/monthly-opera-update.sh
    
  4. 编辑Cron任务,设置每月执行一次:
    crontab -e
    
    添加一行(比如每月1号凌晨2点执行):
    0 2 1 * * /usr/local/bin/monthly-opera-update.sh
    

以上三种方法都适用于你提到的其他闭源软件,只需要把opera-stable替换成对应的包名就行啦。

备注:内容来源于stack exchange,提问作者usilo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 12:03:09