美文网首页程序员我爱编程
Ubuntu 自动化更换软件源脚本

Ubuntu 自动化更换软件源脚本

作者: speculatecat | 来源:发表于2018-04-16 11:50 被阅读132次

    由于 Ubuntu 默认的软件更新源,安装或者更新软件的速度都比较慢,我们通常使用 Ubuntu 都会将软件更新源换为国内的镜像源。然而,我们在新部署服务器,或者配置一些不安装 GUI 的工作站的时候,就没有办法想有 GUI 的系统那样通过打开网站,然后复制粘贴修改更新源的配置文件,因此,我们将编写一个 shell 脚本,用于一键自动化备份配置文件,更新配置源文件,以及自动执行软件更新升级操作。

    为完成以上目的,下文将先了解基本原理,再编写可用的 shell 自动化脚本,主要内容如下:

    • shell 脚本写入文件操作
    • shell 脚本备份文件操作
    • shell 脚本更新操作
    • 完整脚本代码

    shell 文件写入操作

    shell 脚本编写的时候,可以在文件的开头声明所使用的 bash 路径,代码如下:

    #! /bin/bash
    

    Linux 下写入文件的操作可以配合 echo 命令完成,值得注意的是,写入文件的操作有两种方式,分别是 >>>,它们的区别如下:

    • >> 将内容写入文件,覆盖原有内容
    • > 将内容写入文件,追加到文件尾部

    那么,使用 shell 脚本向文件写入内容的方法如下:

    #! /bin/bash
    # <CONTENT> 为需要写入内容
    # <FILENAME> 为写入目标文件名
    echo <CONTENT> >> <FILENAME>
    echo <CONTENT> >> <FILENAME>
    

    shell 文件备份操作

    要修改系统的配置文件,最好把原来的配置文件备份一下,这样万一有什么情况,也可以通过恢复备份文件来修复。使用 shell 脚本完成备份文件和直接备份差不多,以备份更新源为例子,代码如下:

    #! /bin/bash
    # 这里的脚本需要配合 sudo 使用
    cp /etc/apt/sources.list /etc/apt/sources.list.bak
    

    shell 脚本完成 apt 更新操作

    我们的目标是想在新服务器或者工作站安装系统完成后,能自动完成替换更新源以及执行一次系统软件、包升级,那么就需要使用 shell 完成 apt 更新的操作,具体代码如下:

    #! /bin/bash
    apt update # 更新源
    apt upgrade -y # 更新软件
    

    完成的 shell 脚本代码

    #! /bin/bash
    cp /etc/apt/sources.list /etc/apt/sources.list.bak
    echo deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse > /etc/apt/sources.list
    echo deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse >> /etc/apt/sources.list
    echo deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse >> /etc/apt/sources.list
    echo deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse >> /etc/apt/sources.list
    apt update
    apt upgrade -y
    

    相关文章

      网友评论

        本文标题:Ubuntu 自动化更换软件源脚本

        本文链接:https://www.haomeiwen.com/subject/dhiskftx.html