Ubuntu系统升级16.04升级18.04
一、需求说明
作为Linux发行版中的后起之秀,Ubuntu 在短短几年时间里便迅速成长为从Linux初学者到实验室用计算机/服务器都适合使用的发行版,目前官网最新版本是22.04。Ubuntu16.04是2016年4月发行的版本,于2019年4月停止更新维护。很多软件支持的Ubuntu最早版本也是18.04,所以考虑对现有的Ubuntu16.04操作系统进行更新,升级至Ubuntu18.04版本。如下升级步骤不仅仅可以Ubuntu16.04升级到Ubuntu18.04版本,也可以Ubuntu18.04升级到Ubuntu20.04版本。


二、Ubuntu升级步骤
1、查看系统版本
查看当前操作系统版本,现在是Ubuntu16.04.7 LTS版本。Ubuntu系统建议安装LTS版本,是官方长期支持的版本。

2、更新软件包的索引
更新系统前,首先需要更新软件包的索引。
wuhs@s169:~$ sudo apt-get update
[sudo] password for wuhs:
…
Fetched 1,146 kB in 5s (203 kB/s)
Reading package lists… Done
3、更新软件包
将当前系统的软件包更新到最新。
wuhs@s169:~$ sudo apt-get dist-upgrade -y
…
update-initramfs: Generating /boot/initrd.img-4.15.0-142-generic
Processing triggers for libc-bin (2.23-0ubuntu11.3) …
4、安装update-manager-core
wuhs@s169:~$ sudo apt-get install -y update-manager-core
5、确认版本为LTS版本
需要确认update-manager参数,默认是lts。设置为lts表示从当前lts版本升级到下一个lts版本。设置为normal则是升级到下一个公开发行版本,如从16.04升级到16.10版本。
~$ sudo nano /etc/update-manager/release-upgrades
6、升级系统
使用do-release-upgrade命令开始升级,我们也可以直接带参数y执行,则省略了中间的确认过程。如果第一次升级则建议查验观察下整个升级过程需要经历的步骤,整个升级国产可能需要持续数小时,博主实测是花费时间2小时+。
wuhs@s169:~$ sudo do-release-upgrade
…
If you continue, an additional ssh daemon will be started at port
‘1022’.
Do you want to continue?
Continue [yN] y
…
…
…
…
…
7、重启系统
升级到此位置,说明升级完成,待重启后生效。

8、版本验证
重启系统查看版本我们可以看到已经升级到Ubuntu18.04的版本,如果继续升级,可以升级到下一个LTS版本Ubuntu20.04。


三、附录
1、DNS配置
Ubuntu和centos配置DNS的方式略有不同,Ubuntu在编辑/etc/resolv.conf配置文件的时候提示这个文件在重启的时候会被覆盖,所以就会出现在这里配置了DNS地址,重启后系统无法访问网站的情况。

Ubuntu系统DNS配置方式一:与其他系统一样可以在网卡配置中添加DNS信息,如下所示。
#dns-nameservers 114.114.114.114 8.8.8.8
Ubuntu系统DNS配置方式二:编辑/etc/resolvconf/resolv.conf.d/base配置文件,往其中写入DNS配置信息,然后使用命令resolvconf -u是DNS配置生效。此时再去查看/etc/resolv.conf配置文件可以看到我们刚才添加的DNS配置信息。
~$ sudo vim /etc/resolvconf/resolv.conf.d/base
nameserver 114.114.114.114
~$ sudo resolvconf -u
2、ssh服务安装和启用
Ubuntu16.04默认是未安装和启用SSH服务的。我们可以apt-get安装并启用。
~$ sudo apt-get install -y openssh-server
~$ sudo systemctl start ssh
相关文章:
Ubuntu系统升级16.04升级18.04
一、需求说明 作为Linux发行版中的后起之秀,Ubuntu 在短短几年时间里便迅速成长为从Linux初学者到实验室用计算机/服务器都适合使用的发行版,目前官网最新版本是22.04。Ubuntu16.04是2016年4月发行的版本,于2019年4月停止更新维护。很多软件支…...
CM6.3.2启用Kerberos(附问题解决)
基础准备支持JCE的jdk重新安装JCE的jdk(已正确配置跳过)删除/usr/java/下面的jdk,然后通过CM->管理->安全->安装Java无限制...重新安装后,配置Java(可选)主机->主机配置->搜java->Java主目录 配置路径主机->所有主机->设置->高级:Java配置Kerberos安…...
QML 动画(组合动画)
在QML中,可以把多个动画组合成一个单一的动画。 组合动画的类型: ParallelAnimation 动画同时进行(并行)SequentialAnimation 动画按照顺序执行(顺序执行)注意:将动画分组为“顺序动画”或“…...
【PHP代码注入】PHP代码注入漏洞
漏洞原理RCE为两种漏洞的缩写,分别为Remote Command/Code Execute,远程命令/代码执行PHP代码注入也叫PHP代码执行(Code Execute)(Web方面),是指应用程序过滤不严,用户可以通过HTTP请求将代码注入到应用中执行。代码注入(代码执行)…...
Python 常用语句同C/C++、Java的不同
文章目录前言1. 数字 int2. 字符 string3. 列表 List4. 元组 tuple5. 字典 dictionary6. 集合 set7. 值类型变量与引用类型变量8. if elif else9. >、<、>、<、、!10. while11. for前言 本篇为本人前段时间的一个简单汇总,这里可能并不齐全,…...
一把火烧掉了苹果摆脱中国制造的幻想,印度制造难担重任
这几年苹果不断推动印度制造,希望摆脱对中国制造的依赖,然而近期苹果在印度的一家代工厂发生大火却证明了苹果的这一计划遭受重大打击,印度制造根本就无法中国制造。一、印度制造屡屡发生幺蛾子苹果推动印度制造已有多年了,然而印…...
常用的 JavaScript 数组 API
以下是一些常用的 JavaScript 数组 API 的代码示例: 1、push() push(): 在数组末尾添加一个或多个元素,返回新的数组长度 const arr [1, 2, 3]; const newLength arr.push(4, 5); console.log(arr); // [1, 2, 3, 4, 5] console.log(newLength); //…...
海思3531a pjsip交叉编译
学习文档: PJSUA2 Documentation — PJSUA2 Documentation 1.0-alpha documentationhttps://www.pjsip.org/docs/book-latest/html/index.html ./configure --prefix/opensource/pjproject-2.12/build3531a \ --host/opt/hisi-linux/x86-arm/arm-hisi…...
《安富莱嵌入式周报》第305期:超级震撼数码管瀑布,使用OpenAI生成单片机游戏代码的可玩性,120通道逻辑分析仪,复古电子设计,各种运动轨迹函数源码实现
往期周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 说明: 谢谢大家的关注,继续为大家盘点上周精彩内容。 视频版: https://www.bi…...
力扣-查找每个员工花费的总时间
大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目:1741. 查找每个员工花费的总时间二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.正确示范④提交SQL运行…...
企业级信息系统开发学习笔记1.8 基于Java配置方式使用Spring MVC
文章目录零、本节学习目标一、基于Java配置与注解的方式使用Spring MVC1、创建Maven项目 - SpringMVCDemo20202、在pom.xml文件里添加相关依赖3、创建日志属性文件 - log4j.properties4、创建首页文件 - index.jsp5、创建Spring MVC配置类 - SpringMvcConfig6、创建Web应用初始…...
【C语言复习】C语言中的文件操作
C语言中的文件操作写在前面文件操作什么是文件文件的分类文件名文件的操作文件指针文件的打开和关闭文件的顺序读写文件的随机读写fseekftellrewindfeof写在前面 文件操作在C语言部分只是属于了解内容,但是因为它可能会应用在项目中,所以我把它单独写成…...
00后整顿职场,当摸鱼测试员遇上了内卷00后。
在程序员职场上,什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事,我们可以帮他。 是技术太强的人吗?也不是。技术很强的同事,可遇不可求,向他学习还来不及呢。 真正让人反感的,是技术平平&…...
程序员的上帝视角(4)——视角
对于开发人员来说,工作都是从评估一个需求开始。我们第一个要解决的问题就是看待需求的视角。视角的不同,得到的设计方案可能是完全不同的。作为一个程序员,不能单单从个人视角来看待问题。而是要尝试从不同角色出发,不停思考。上…...
一、webpack基础
webpack基础 一、webpack是什么 webpack 是一个用于现代 JavaScript 应用程序的静态模块打包工具。 说白了webpack就是一个构建和管理静态资源的工具,在我们使用框架开发时,它会在我们内部的一个或者多个入口根据我们引入的各个模块将他们根据一定的规…...
超详细VMware CentOS7(最小安装)安装教程
前言:在我们使用虚拟机的时候,不要去担心我们的一些操作会使虚拟机损坏或者有没有可能会使我们的电脑本身出现一些问题,要记住无论我们把我们的虚拟机如何都不会影响我们本身的机器,因为它只是虚拟的,在虚拟机里不要担…...
经典卷积模型回顾8—NIN实现图像分类(matlab)
首先,介绍一下NiN(Network In Network)模型。NiN模型是由加州大学伯克利分校的Lin、Chen、Yan等人在2013年提出的一种深度卷积神经网络模型,其特点是在传统的卷积神经网络中加入了多个小的全连接网络,用于对特征进行非…...
【Java笔记】泛型
本章专题与脉络 泛型概述 生活中的例子 举例1:中药店,每个抽屉外面贴着标签 举例2:超市购物架上很多瓶子,每个瓶子装的是什么,有标签 举例3:家庭厨房中: Java中的泛型,就类似于上…...
【Linux】用户管理
😊😊作者简介😊😊 : 大家好,我是南瓜籽,一个在校大二学生,我将会持续分享C/C相关知识。 🎉🎉个人主页🎉🎉 : 南瓜籽的主页…...
深入理解Mysql索引底层数据结构与算法
索引是帮助MySQL高效获取数据的排好序的数据结构 深入理解Mysql索引底层数据结构与算法1.常见的数据结构讲解1.1 二叉树1.1.1 二叉树的定义1.1.2 二叉树示例1.1.3 Mysql为什么不使用二叉树进行数据存储1.2 红黑树1.2.1 红黑树的定义1.2.2 红黑树示例1.2.3 Mysql 为什么不适用红…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
作为测试我们应该关注redis哪些方面
1、功能测试 数据结构操作:验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化:测试aof和aof持久化机制,确保数据在开启后正确恢复。 事务:检查事务的原子性和回滚机制。 发布订阅:确保消息正确传递。 2、性…...
Python 实现 Web 静态服务器(HTTP 协议)
目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1)下载安装包2)配置环境变量3)安装镜像4)node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1)使用 http-server2)详解 …...
WPF八大法则:告别模态窗口卡顿
⚙️ 核心问题:阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程,导致后续逻辑无法执行: var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题:…...






