1-Ubuntu上创建脚本一键更换软件源
在Ubuntu上编写一键更换清华源的shell脚本,可以按照以下步骤操作:
使用方法
- 创建脚本文件:
vi change_to_tuna.sh
- 复制交互式脚本:
#!/bin/bash# 一键更换Ubuntu软件源为清华源脚本
# 检查是否为root用户
if [ "$(id -u)" != "0" ]; thenecho "Please run this script with sudo"exit 1
fi# 获取系统版本信息
CODENAME=$(lsb_release -c | awk '{print $2}')
VERSION=$(lsb_release -r | awk '{print $2}')
ARCH=$(dpkg --print-architecture)echo "Detected system version: Ubuntu $VERSION $CODENAME ($ARCH)"# 备份原有源列表
BACKUP_FILE="/etc/apt/sources.list.backup.$(date +%Y%m%d%H%M%S)"
cp /etc/apt/sources.list "$BACKUP_FILE"
echo "Original sources list backed up: $BACKUP_FILE"# 根据版本设置清华源
case $CODENAME in"noble") # Ubuntu 24.04MIRROR_URL="https://mirrors.tuna.tsinghua.edu.cn/ubuntu/";;"jammy") # Ubuntu 22.04MIRROR_URL="https://mirrors.tuna.tsinghua.edu.cn/ubuntu/";;"focal") # Ubuntu 20.04MIRROR_URL="https://mirrors.tuna.tsinghua.edu.cn/ubuntu/";;"bionic") # Ubuntu 18.04MIRROR_URL="https://mirrors.tuna.tsinghua.edu.cn/ubuntu/";;*)echo "Unsupported Ubuntu version: $CODENAME"exit 1;;
esac# 生成新的源列表
cat > /etc/apt/sources.list << EOF
# Ubuntu 主仓库
deb [arch=$ARCH] $MIRROR_URL $CODENAME main restricted universe multiverse
# deb-src $MIRROR_URL $CODENAME main restricted universe multiverse# Ubuntu 更新仓库
deb [arch=$ARCH] $MIRROR_URL $CODENAME-updates main restricted universe multiverse
# deb-src $MIRROR_URL $CODENAME-updates main restricted universe multiverse# Ubuntu 后备仓库
deb [arch=$ARCH] $MIRROR_URL $CODENAME-backports main restricted universe multiverse
# deb-src $MIRROR_URL $CODENAME-backports main restricted universe multiverse# Ubuntu 安全更新仓库(使用清华镜像以在中国大陆获得更快速度)
deb [arch=$ARCH] $MIRROR_URL $CODENAME-security main restricted universe multiverse
# deb-src $MIRROR_URL $CODENAME-security main restricted universe multiverse# 如果需要,也可以使用官方安全仓库(取消注释以下行并注释上面的安全仓库)
# deb [arch=$ARCH] http://security.ubuntu.com/ubuntu/ $CODENAME-security main restricted universe multiverse
# deb-src http://security.ubuntu.com/ubuntu/ $CODENAME-security main restricted universe multiverse# 预发布软件源,不建议启用
# deb [arch=$ARCH] $MIRROR_URL $CODENAME-proposed main restricted universe multiverse
# deb-src $MIRROR_URL $CODENAME-proposed main restricted universe multiverse
EOFecho "Successfully changed to Tsinghua Mirror"# 更新软件包列表
echo "Updating package list..."
apt updateecho "Complete! You can now install packages using 'apt install'"
- 赋予执行权限:
chmod +x change_to_tuna.sh
- 运行脚本:
sudo ./change_to_tuna.sh
恢复原源
如果需要恢复原来的源,可以使用备份文件:
sudo cp /etc/apt/sources.list.backup.* /etc/apt/sources.list
sudo apt update
注意事项
- 脚本会自动检测你的Ubuntu版本并设置对应的源
- 会自动备份原有源列表,文件名包含时间戳
- 需要root权限运行
- 更换源后建议运行
sudo apt update
更新包列表