云网牛站
所在位置:首页 > Linux教程 > 针对Ubuntu下自动化更换软件源脚本

针对Ubuntu下自动化更换软件源脚本

2018-07-18 20:36:04作者:speculatecat稿源:linux站

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

 

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

1.shell 脚本写入文件操作

2.shell 脚本备份文件操作

3.shell 脚本更新操作

4.完整脚本代码

 

1.shell 文件写入操作

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

#! /bin/bash

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

1].>> 将内容写入文件,覆盖原有内容

2].> 将内容写入文件,追加到文件尾部

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

#! /bin/bash

# <CONTENT> 为需要写入内容

# <FILENAME> 为写入目标文件名

echo <CONTENT> >> <FILENAME>

echo <CONTENT> >> <FILENAME>

 

2.shell 文件备份操作

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

#! /bin/bash

# 这里的脚本需要配合 sudo 使用

cp /etc/apt/sources.list /etc/apt/sources.list.bak

 

3.shell 脚本完成 apt 更新操作

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

#! /bin/bash

apt update # 更新源

apt upgrade -y # 更新软件

 

4.完成的 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 16.04版本,如果你使用其它的Ubuntu版本,比如Ubuntu 18.04就更换为它的源。

 

相关主题

深入解读apt-get软件源文件格式以及ubuntu 18.04更换阿里源

精选文章
热门文章