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

相关推荐
一叶龙洲4 小时前
wslg打开Ubuntu24.04默认打开图形界面
linux·服务器·数据库·ubuntu
敖行客 Allthinker6 小时前
Parallels Ubuntu虚拟机项目如何让手机访问?完整解决方案
linux·运维·ubuntu
keyipatience7 小时前
线程栈与TLS和线程互斥
java·linux·服务器·开发语言·ubuntu
观山岳五楼9 小时前
Ubuntu 24 怎么使用Ubuntu 20 的镜像源
linux·运维·ubuntu
辰痕~9 小时前
物理机装Linux操作系统(Ubuntu为例)
linux·ubuntu
Byron Loong16 小时前
【Git】如何检查 Ubuntu 系统上 gitLab 是否开启
git·ubuntu·gitlab
一叶龙洲1 天前
win11与Ubuntu之间同步配置、插件
linux·运维·ubuntu
小秋求学记.2 天前
Linux_Ubuntu的相关问题
linux·运维·ubuntu
ly-272532 天前
Ubuntu重启之后挂载盘符变更应该怎么修复
linux·ubuntu
一叶龙洲3 天前
wsl中安装了图形ubuntu24.04,在语言中安装了中文,但是系统里还是英文
ubuntu