Ubuntu 系统自动 apt 换源脚本

- 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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏业余草

比 rm -rf /* 还骚的 Linux 19 个装 B 的命令!

原文链接:http://www.cnblogs.com/sukai/archive/2013/06/08/312703...

6720
来自专栏机器人课程与技术

ROS 2 Eloquent Elusor安装和使用汇总

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

6220
来自专栏吉浦迅科技

笨鸟手册(7):Jetson TX2联不上网怎么办?

做法:设定 -> networking -> 最下面有个 proxy,manual那个地方,选择关掉。

9610
来自专栏Urlteam

docker ubuntu:14.04上 安装 python-PIL-image环境

因为在采集中有图像解析的需求,如今将爬虫架构部署在docker中,需要配置一个PIL中image包的情况,因错误较多。故记录下来。

5200
来自专栏Urlteam

服务器安防配置–笔记一–搭建与配置高效率安全的ubuntu+nginx环境

这段时间服务器被大量攻击,有sql注入,有暴力破密码,有利用image漏洞的,最严重的导致访问我网站会被重定向,忍无可忍,彻底重做整个站点.本次完成将apach...

9120
来自专栏Urlteam

pygame-游戏开发学习笔记(一)–SDL和pygame等环境安装

代码发布在github上,https://github.com/luyishisi/The_python_code.git

7110
来自专栏成猿之路

20个堪称神器的 Linux 命令行软件

3.mycli:mysql客户端,支持语法高亮和命令补全,效果类似ipython,可以替代mysql命令。

4210
来自专栏Opensource翻译专栏

Linux的5 个开源策略与仿真游戏【Gaming】

图片来源:Cicada Strange on Flickr, CC BY-SA 2.0

6730
来自专栏吉浦迅科技

笨鸟手册(6):如何远程访问Jetson NANO

本教程依据《Nvidia Jetson Nano 遠端登入(Vino-VNC) 中文版》而来,感谢原作者奉献。

12120
来自专栏运维录

如何拷贝Docker容器内的文件?

某个项目容器需要添加 wkhtmltopdf 软件包用于处理html与pdf文件转换,由于默认的apt源服务器在国外,使用apt 安装 wkhtmltopdf ...

6210

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励