如何让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

相关推荐
半壶清水12 小时前
ubuntu下利用ns-3 + NetAnim搭建可视化路由选路过程的方法
linux·运维·ubuntu
拾贰_C14 小时前
【python | installation 】python 安装 | Windows | 命令使用
linux·数据库·ubuntu
小蜗子14 小时前
Windows 11 + RTX 5060 + WSL2 Ubuntu + NVIDIA DGL 容器
linux·运维·ubuntu
暗冰ཏོ15 小时前
运维岗位完整学习指南:从 Linux 基础到 DevOps / SRE 实战
linux·运维·服务器·ubuntu·运维开发·devops
Jun62616 小时前
QT(14)-UBUNTU下QT使用串口
开发语言·qt·ubuntu
拾贰_C17 小时前
【Ubuntu | VSCode | SSH | 远程连接 | Linux】VSCode 怎么实现ssh远程连接
linux·vscode·ubuntu
Par@ish18 小时前
Ubuntu Apache日志存储周期变更
linux·ubuntu·apache
张-玉-明19 小时前
紧急修复Ubuntu内核漏洞指南
ubuntu·内核·cve·20.04
行智科技1 天前
ORB-SLAM3代码详解 - 第 01 篇 · 系统总览与三线程架构
linux·ubuntu·架构·自动驾驶
街灯L1 天前
【Ubuntu】使用ffmpeg解析m3u8网页视频
ubuntu·ffmpeg·音视频