当前位置: 首页 > news >正文

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

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

使用方法

  1. 创建脚本文件
vi change_to_tuna.sh
  1. 复制交互式脚本
#!/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'"
  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 更新包列表
http://www.dtcms.com/a/477507.html

相关文章:

  • 【第2篇】nl2sql2025开发环境配置
  • 用 PyTorch 实现 MNIST 手写数字分类与训练损失曲线绘制
  • 获取 OpenAI API Key 全攻略:从入门配置Key到 GPT-5 Pro 集成与安全实战
  • 使用 Actix Web 构建 Web 应用
  • Rust开发环境搭建
  • MFC中一个类的成员变量值自动被篡改:多重继承带来的问题
  • 潘家园网站建设wordpress 虚拟主
  • 【第五章:计算机视觉-计算机视觉在工业制造领域中的应用】1.工业缺陷分割-(1)工业品缺陷风格基础知识:割任务定义、数据集介绍
  • Redis除了做缓存还能用来干什么
  • 【Frida Android】基础篇4:Java层Hook基础——调用静态方法
  • 中国建筑网官网图片深圳网站排名优化团队
  • Vue3+Three.js实现3D模型加载与动画(实践:官方的一个样例)
  • mac maven 安装
  • 体验GPT-OSS-120B:在PH8平台上探索超大规模语言模型的强大能力
  • Spark和Flink差异
  • 怎么做网站广告赚钱专业网站设计团队
  • 网站建设这块是怎么挣钱的网站服务器买了后怎么做
  • 从注册到养号,Walmart鲲鹏系统打造完整运营链路
  • 云服务器安装JDK、Tomcat、MySQL
  • 科创企业品牌营销顾问:助力企业腾飞的关键角色
  • 怎样解读黑格尔的客观唯心主义
  • 5-2〔OSCP ◈ 研记〕❘ SQL注入攻击▸MySQL MSSQL基础
  • 电话交换机IPPBX的数据存储在AWS亚马逊云
  • 公共数据开放网站建设怎样做app
  • 嵌入式学习linux内核驱动8——IIC设备驱动和lm75-dht11
  • 经典机器学习深度学习领域数据集介绍
  • 个人网站怎么做才能值钱优设网页设计
  • 【Unity】MMORPG游戏开发(一)身份认证
  • 竞价网站与竞价网站之间做友情链接建邺区住房 建设 网站
  • Django视图与路由全解析:从URL到页面,一篇讲透