修改Ubuntu 24.04 noble-arm64镜像源

Ubuntu 24.04 noble,它已经改用新格式 deb822,不再用老式 sources.list 了!

bash一键替换

1.一键替换国内源

1
2
3
4
5
6
7
8
9
10
sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak

sudo tee /etc/apt/sources.list.d/ubuntu.sources >/dev/null <<'EOF'
Types: deb
URIs: https://mirrors.aliyun.com/ubuntu-ports/
Suites: noble noble-updates noble-security
Components: main universe restricted multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
EOF

2.附:一键下载所有依赖包代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# ===================== 离线下载 deb 包及所有依赖(ARM64 国内源)=====================
# 用法: dget <软件包名>
# 示例: dget nginx
# 保存路径: /home/root/dev/包名-all (所有deb直接放在这里,无下级目录)
dget() {
set -euo pipefail

# ====================== 配置项 ======================
local DEST_ROOT="/home/root/dev"
# ====================================================

if [ $# -ne 1 ]; then
echo "用法: download-deb <软件包名>"
echo "示例: download-deb nginx"
return 1
fi

local PKG_NAME="$1"
local TARGET_DIR="${DEST_ROOT}/${PKG_NAME}-all"

# 创建目录
mkdir -p "${TARGET_DIR}"
echo "✅ 保存目录:${TARGET_DIR}"

echo "================================================"
echo "📦 开始下载 ${PKG_NAME} 及其所有依赖(国内ARM64源)"
echo "================================================"

# 核心修复:cd 到目标目录再下载,所有 deb 直接保存在当前目录
cd "${TARGET_DIR}"
apt-get download \
$(apt-cache depends --recurse --no-recommends --no-suggests \
--no-conflicts --no-breaks --no-replaces --enhances \
"${PKG_NAME}" | grep "^\\w" | sort -u)

echo ""
echo "🎉 下载完成!"
echo "📂 路径:${TARGET_DIR}"
echo ""
ls -lh "${TARGET_DIR}/"*.deb 2>/dev/null || echo "⚠️ 未找到 deb(包名错误)"
}