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

相关推荐
cen__y33 分钟前
Linux06(进程)
linux·运维·服务器·c语言·ubuntu
kaico20181 小时前
Ubuntu系统运维
linux·运维·ubuntu
不法2 小时前
vue 地图路线渲染
前端·vue.js·ubuntu
zhangrelay2 小时前
三分钟云课实践速通--概率统计--python版
linux·开发语言·笔记·python·学习·ubuntu
恋奴娇3 小时前
ubuntu 25 Nautilus 文件管理器不能以ROOT运行突破
java·数据库·ubuntu
zzzb1234563 小时前
WSL(Ubuntu)部署Nginx\+PHP8\.2完整教程(新手友好\+避坑指南)
linux·nginx·ubuntu·php
面向对象World3 小时前
养虾从入门到放弃(Windows&Ubuntu)
linux·运维·ubuntu
Danileaf_Guo3 小时前
Ubuntu 26.04桌面版部署
linux·运维·服务器·ubuntu
想唱rap4 小时前
TCP套接字编程
java·linux·网络·c++·tcp/ip·mysql·ubuntu
zzipeng4 小时前
开发板与ubuntu/windows三者之间联网方式
linux·运维·ubuntu