惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
Engineering at Meta
Engineering at Meta
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
博客园 - Franky
The GitHub Blog
The GitHub Blog
大猫的无限游戏
大猫的无限游戏
The Cloudflare Blog
B
Blog RSS Feed
云风的 BLOG
云风的 BLOG
小众软件
小众软件
罗磊的独立博客
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
美团技术团队
H
Hackread – Cybersecurity News, Data Breaches, AI and More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
C
Check Point Blog
WordPress大学
WordPress大学
博客园 - 【当耐特】
博客园 - 司徒正美
D
Docker

Oskyla 烹茶室

修复 Joplin on KDE 菜单栏显示问题 Copy Fail:Linux 内核 2017 年至今的高危漏洞(附临时缓解方案) | CVE-2026-31431 Hermes Agent — 在 K3s / K8s 中运行指南 在 K3s 节点上安装并使用 nerdctl Mouser:轻量开源的罗技鼠标驱动替代方案 Claude Opus 4.7:优缺点与评测信息汇总 openFuyao NPU-Operator故障排查 openFuyao 2603 共测测试报告 openFuyao InferNex AI推理集成部署 310P(300I Pro) 环境问题记录及解决 ceph mon Operation not permitted 问题解决 Ascend 310P + openFuyao + NPU-Operator 故障排查 KDE Plasma6 禁用全局菜单,恢复正常应用菜单 终极指南:在 Linux 裸机服务器上快速部署 Moltbot (原 Clawbot) 并集成飞书 Windows 配置 Claude Code 解决 settings.json 不生效 Windows 配置 Claude Code 全流程 2025-12-31 | 年终总结 AI 生图精品提示词|第二期:城市星球 AI 生图精品提示词|第一期 Kubernetes kubectl --raw 使用指南 彻底解决阿里云和 tailscale 冲突 2025-10-21 | 沉淀思维 macOS 单独为鼠标或触控板开启自然滚动 2025-10-16 | 负载高低 2025-10-15 | 睡眠周期 2025-10-14 | 转换情绪与独立观点 go 拉取 gitcode.com 私有 mod Git 将某个文件恢复到其他分支的状态 SSH 通过跳板机连接 lxc 使用 chronyc 构建 ntp 服务 2025-10-13 | 独立思考于未来能源
debian 软件包仓库优先级配置
Tianlun Song · 2024-06-30 · via Oskyla 烹茶室

本文 首发于 🌱 煎茶转载 请注明 来源

在 Debian 和 Ubuntu 系统中,可以通过配置 APT 包管理器的优先级来管理多个软件仓库

。可以使用 apt_preferences 文件来实现这一点。以下是步骤:

  1. 编辑 /etc/apt/sources.list 文件: 首先,确保你已经在 /etc/apt/sources.list 文件或 /etc/apt/sources.list.d/ 目录中的其他文件中添加了所有你需要的仓库。

  2. 创建或编辑 /etc/apt/preferences.d/ 中的配置文件: 你可以在 /etc/apt/preferences.d/ 目录中创建一个新的文件来定义不同仓库的优先级。例如,创建一个名为 custom 的文件:

    sudo nano /etc/apt/preferences.d/custom
    
  3. 添加优先级配置: 在这个文件中,你可以使用以下格式来设置仓库的优先级:

    Package: *
    Pin: origin "repo1.example.com"
    Pin-Priority: 700
    
    Package: *
    Pin: origin "repo2.example.com"
    Pin-Priority: 600
    

    其中:

    • Package: * 表示所有软件包。如果只想为特定软件包设置优先级,可以替换 * 为具体的软件包名称。
    • Pin: origin "repo1.example.com" 表示仓库的源地址。你可以用 apt-cache policy 来查找每个仓库的 origin。
    • Pin-Priority 用于设置优先级,值可以在 0 到 1000 之间。值越高,优先级越高。
  4. 检查配置: 配置完成后,可以使用以下命令检查优先级设置是否生效:

    这将显示当前所有仓库的优先级和设置。

详细示例

假设你的 sources.list 文件中包含以下仓库:

deb http://repo1.example.com/debian buster main
deb http://repo2.example.com/debian buster main

你希望 repo1.example.com 的优先级高于 repo2.example.com,可以在 /etc/apt/preferences.d/custom 文件中添加:

Package: *
Pin: origin "repo1.example.com"
Pin-Priority: 700

Package: *
Pin: origin "repo2.example.com"
Pin-Priority: 600

Pin-Priority 值的意义

  • 100 - 499: 低优先级,通常用于测试版软件包。
  • 500 - 990: 默认优先级。
  • 991 - 1000: 高优先级,用于强制选择特定版本的软件包。
  • 负值: 禁用特定版本的软件包。

通过这些配置,你可以灵活地管理不同仓库的优先级,确保系统使用你期望的软件包版本。