1-Ubuntu上创建脚本一键更换软件源

在Ubuntu上编写一键更换清华源的shell脚本,可以按照以下步骤操作:

使用方法

  1. 创建脚本文件
vi change_to_tuna.sh
  1. 复制交互式脚本
#!/bin/bash

# 一键更换Ubuntu软件源为清华源脚本
# 检查是否为root用户
if [ "$(id -u)" != "0" ]; then
    echo "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.04
        MIRROR_URL="https://mirrors.tuna.tsinghua.edu.cn/ubuntu/"
        ;;
    "jammy")    # Ubuntu 22.04
        MIRROR_URL="https://mirrors.tuna.tsinghua.edu.cn/ubuntu/"
        ;;
    "focal")    # Ubuntu 20.04
        MIRROR_URL="https://mirrors.tuna.tsinghua.edu.cn/ubuntu/"
        ;;
    "bionic")   # Ubuntu 18.04
        MIRROR_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
EOF

echo "Successfully changed to Tsinghua Mirror"

# 更新软件包列表
echo "Updating package list..."
apt update

echo "Complete! You can now install packages using 'apt install'"
  1. 赋予执行权限
chmod +x change_to_tuna.sh
  1. 运行脚本
sudo ./change_to_tuna.sh

恢复原源

如果需要恢复原来的源,可以使用备份文件:

sudo cp /etc/apt/sources.list.backup.* /etc/apt/sources.list
sudo apt update

注意事项

  • 脚本会自动检测你的Ubuntu版本并设置对应的源
  • 会自动备份原有源列表,文件名包含时间戳
  • 需要root权限运行
  • 更换源后建议运行 sudo apt update 更新包列表
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值