如何让Ubuntu24.04优先选择指定的source文件(清华源)

目录

[一、Ubuntu 24.04 的源配置变化](#一、Ubuntu 24.04 的源配置变化)

二、新增清华源.source文件

三、获取源的"Origin"标识

四、配置优先级文件

五、验证优先级是否生效


在 Ubuntu 24.04 中,要让系统优先使用你指定的 .source 文件,核心方法是利用 APT 的 Pin-Priority(固定优先级)机制。

你可以通过创建优先级配置文件,告诉系统哪个软件源是"首选"。

一、Ubuntu 24.04 的源配置变化

从 Ubuntu 24.04 开始,默认的软件源配置文件路径已从传统的

/etc/apt/sources.list

变更为

/etc/apt/sources.list.d/ubuntu.sources(使用 DEB822 格式)

所有在 /etc/apt/sources.list.d/ 目录下以 .list 或 .sources 结尾的文件都会被 APT 读取。

二、新增清华源.source文件

bash 复制代码
sudo vim /etc/apt/sources.list.d/tsinghua.sources

粘贴以下内容:

bash 复制代码
Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

保存后更新索引:

bash 复制代码
sudo apt update

三、获取源的"Origin"标识

确认优先级:

bash 复制代码
apt-cache policy

可以看到origin 字段的值,通常是 mirrors.tuna.tsinghua.edu.cn

四、配置优先级文件

APT 通过 /etc/apt/preferences.d/ 目录下的文件来管理优先级;

需要在这里创建一个配置文件,定义你的指定源拥有更高的优先级;

创建优先级配置文件(例如命名为 tsinghua-pin):

bash 复制代码
sudo vim /etc/apt/preferences.d/tsinghua-pin

对所有软件包生效,写入以下内容:

bash 复制代码
Package: *
Pin: origin "mirrors.tuna.tsinghua.edu.cn"
Pin-Priority: 1000

Package: *:规则对所有软件包生效。

Pin: origin "mirrors.tuna.tsinghua.edu.cn":指定要优先的源,这里填上一步查到的 Origin。

Pin-Priority: 优先级值设为 1000(大于默认的 500),表示该源的包将优先于其他源。

如果只想优先某个特定软件包(比如 nginx)从你的指定源安装,可以这样写:

bash 复制代码
Package: nginx
Pin: origin "mirrors.tuna.tsinghua.edu.cn"
Pin-Priority: 1000

保存文件并退出;

bash 复制代码
# 更新软件源列表
sudo apt update

五、验证优先级是否生效

配置完成后,需要更新包列表并检查优先级是否被正确识别

bash 复制代码
# 1. 查看所有源的优先级信息
apt-cache policy

# 2. 检查特定软件的优先级情况,例如:
apt-cache policy nginx

在 apt-cache policy 的输出中,你会看到每个源对应的优先级数值。如果配置正确,你的指定源优先级应该显示为你设置的 1000,而其他源的优先级通常是 500 。这样,当安装或更新软件时,APT 就会优先从你的指定源获取包。

💡 补充说明

Ubuntu 24.04 采用 sources.list.d/ubuntu.sources 作为主配置,但所有 .list 和 .sources 文件都会被 APT 识别。可以保留自己创建的 .source 文件在 sources.list.d 目录下,并通过优先级机制让 APT 优先选择;

备份是好习惯:在修改任何系统配置文件前,记得备份原始文件 。例如:sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak

相关推荐
摇滚侠2 小时前
帮我找一个 Ubuntu 服务器下载地址,下载速度快的
linux·服务器·ubuntu
qq_393060472 小时前
在 WSL2 的 Ubuntu 中安装中文字体
linux·运维·ubuntu
木子欢儿14 小时前
从零到精通 Neovim:Ubuntu 下的终极开发利器指南
linux·运维·服务器·ubuntu
222you15 小时前
Ubuntu当中的Docker安装和镜像管理
ubuntu·spring cloud·docker
Alocus_17 小时前
小龙虾Openclaw安装与解决cmake等报错 (ubuntu20.04)
人工智能·ubuntu·openclaw·小龙虾
牛十二20 小时前
Ubuntu 虚拟机安装完全免费的网易有道龙虾实战流程
linux·运维·ubuntu
i建模21 小时前
Ubuntu Node.js 升级方案
linux·运维·ubuntu·node.js
头发那是一根不剩了21 小时前
Ubuntu 离线环境升级 OpenSSH 修复漏洞
linux·运维·ubuntu
假如梵高是飞行员1 天前
Ubuntu 磁盘扩容
linux·运维·ubuntu