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

ssh远程升级Ubuntu20.04到Ubuntu 22.04

ssh远程升级Ubuntu20.04到Ubuntu 22.04

陈拓 2024/10/16-2024/10/26

1. 简介

本文介绍了如何通过ssh将Ubuntu系统从20.04升级到22.04。

在进行系统升级之前,建议备份重要数据,以防升级过程中出现问题。

2. 更新当前系统

  • 硬件系统架构

  • 当前操作系统版本

lsb_release -a

  • 更新源软件列表

sudo apt update

  • 升级系统中所有已安装的软件包

sudo apt upgrade

  • 升级系统中的软件包并处理依赖关系

sudo apt dist-upgrade

dist-upgrade命令通常用于系统升级,因为它能够处理更复杂的依赖关系和软件包之间的冲突。然而,它也可能会引起系统配置的较大变化,因此在运行sudo apt dist-upgrade之前,确保备份重要数据是一个好习惯。

3. 清理不再需要的包

sudo apt autoremove

sudo apt clean

4. 准备升级

安装update-manager-core包,它提供了do-release-upgrade命令:

sudo apt install update-manager-core

5. 配置升级行为

确保/etc/update-manager/release-upgrades中的Prompt设置为lts,以便升级到下一个LTS版本。

sudo nano /etc/update-manager/release-upgrades

默认提示和升级行为的有效选项:

  • never

从不检查或允许升级到新版本。

  • normal

检查是否有新版本可用。如果发现多个新版本,版本升级程序将尝试升级到在当前正在运行版本之后紧接着的那个受支持的版本。无论这个版本是否是LTS版本。

  • lts

检查是否有新的长期支持版LTS可用。升级程序将尝试升级到当前运行的LTS版本之后的第一个可用LTS版本。请注意,如果使用此选项,并且当前运行的版本本身不是LTS版本,升级程序将认为用户的操作意图实际应为normal。

6. 开始升级

这个命令将启动升级向导,它会检查新的发行版,然后指导你完成升级过程。

  • 运行以下命令来开始升级过程

sudo do-release-upgrade

  • 风险提示及选择

Checking package manager

正在检查软件包管理器,Ubunt常用的是apt。在升级操作前先对软件包管理器的状态、配置等进行检查,以确保后续升级流程能正常进行。

Continue running under SSH?

询问是否要在SSH连接下继续进行当前的操作。因为接下来的提示信息会阐述在SSH下进行此操作可能存在的问题,所以先明确询问你是否要坚持在这种远程连接方式下继续。

This session appears to be running under ssh. It is not recommended to perform a upgrade over ssh currently because in case of failure it is harder to recover.

当前的会话似乎是通过SSH运行的。提示不建议通过SSH进行升级操作,原因是如果在升级过程中出现失败的情况,后续要恢复系统会变得更加困难。这是因为通过SSH远程操作时,一旦升级出现严重问题导致系统无法正常工作,远程修复的难度会比在本地直接操作要大得多,比如可能无法方便地进入系统进行故障排查、修复文件系统等操作。

If you continue, an additional ssh daemon will be started at port '1022'.

如果选择继续在SSH下进行升级操作,那么系统将会在端口1022启动一个额外的SSH守护进程。这样做的目的可能是为了在升级过程中万一出现问题,能够通过这个新启动的SSH连接尝试进行一些补救操作或者查看系统状态等,但这也只是一种相对有限的保障措施,毕竟升级失败后的恢复仍然可能很困难。

Do you want to continue?

Continue [yN] y

再次询问你是否真的想要继续在SSH下进行升级操作,输入y(表示是,继续)或者N(表示否,不继续)。我们的回答是y,表示我们决定不顾前面提到的风险,仍然要在SSH下继续进行升级操作。

  • 启动额外的SSH守护进程

Starting additional sshd

正在启动额外的SSH守护进程(sshd)。

To make recovery in case of failure easier, an additional sshd will be started on port '1022'. If anything goes wrong with the running ssh you can still connect to the additional one.

为了在升级出现失败情况时能够更方便地进行恢复操作,将会在端口1022启动一个额外的SSH守护进程。如果正在运行的常规SSH连接出现任何问题(比如在升级过程中由于系统故障导致原来的SSH连接中断等情况),你仍然可以通过连接到这个新启动的位于端口1022的SSH守护进程来尝试对系统进行一些操作,比如查看系统状态、尝试修复等。

If you run a firewall, you may need to temporarily open this port. As this is potentially dangerous it's not done automatically. You can open the port with e.g.: 'iptables -I INPUT -p tcp --dport 1022 -j ACCEPT'

如果你运行了防火墙(在系统上设置了防火墙来控制网络访问),那么可能需要暂时打开端口1022。因为启动这个额外的SSH守护进程并开放对应的端口存在一定潜在风险(比如可能会让未经授权的外部访问有可乘之机等),所以系统不会自动为你打开这个端口。它还给出了一个示例命令(针对使用iptables作为防火墙管理工具的情况),即iptables -I INPUT -p tcp --dport 1022 -j ACCEPT,通过这个命令可以在iptables防火墙规则中添加一条允许TCP协议且目标端口为1022的流量进入的规则,从而打开端口1022。但需要注意的是,在升级完成后,应该根据实际情况考虑是否要恢复防火墙对该端口的原有设置,以保障系统安全。

To continue please press [ENTER]

如果要继续进行后续的操作(继续进行系统升级操作),请按下回车键([ENTER])。

  • 启动升级

Do you want to start the upgrade?

询问用户是否想要启动此次升级操作。这是一个关键的确认步骤,用户需要根据后续提供的关于升级的详细信息来做出决定。

2 installed packages are no longer supported by Canonical. You can still get support from the community.

告知用户当前系统中有2个已经安装的软件包不再受到Canonical(Ubuntu的维护公司)的支持。不过,用户仍然可以从社区(通常指开源社区,比如Ubuntu社区等)获取关于这些软件包的支持。这意味着这2个软件包可能存在后续更新不及时、安全性保障相对较弱等情况,但社区里可能有其他用户或开发者能提供一定的帮助。

7 packages are going to be removed. 156 new packages are going to be installed. 1146 packages are going to be upgraded.

详细说明了此次升级操作将会对系统中的软件包产生的影响。具体如下:

7 packages are going to be removed:有7个现有的软件包将会在升级过程中被删除。这些软件包可能是因为与新版本系统不兼容、已被替代或者不再符合新的系统架构等原因而被移除。

156 new packages are going to be installed:将会安装156个新的软件包。这些新软件包可能是新系统版本所必需的组件,用于提供新的功能、修复漏洞或者提升系统性能等。

1146 packages are going to be upgraded:有1146个现有的软件包将会被升级到新版本。这通常是为了使这些软件包与新的系统版本兼容,并获取最新的功能和修复已知的漏洞等。

You have to download a total of 1,169 M. This download will take about 7 minutes with your connection.

告知用户此次升级需要下载的数据总量为1169兆字节(M)。并且根据用户当前的网络连接速度估算,完成这个下载大概需要7分钟时间。这可以让用户对下载所需的时间和网络资源有一个大致的了解,以便合理安排升级操作的时间。

Installing the upgrade can take several hours. Once the download has finished, the process cannot be canceled.

提醒用户安装此次升级可能需要花费几个小时的时间。而且一旦下载完成,整个升级过程就无法取消了。这是在强调升级过程的耗时性以及一旦开始安装后的不可逆性,用户需要确保在有足够时间且不会被中途打断的情况下启动升级操作。

Continue [yN]  Details [d]:

提供给用户两个操作选项:

Continue [yN]:让用户通过输入y(表示是,继续)或者N(表示否,不继续)来决定是否要继续进行升级操作。

Details [d]:用户如果输入d,则可以查看关于此次升级的更详细的信息,比如具体是哪些软件包要被删除、哪些要被升级、新安装的软件包的功能介绍等。这有助于用户更全面地了解升级情况,以便做出更准确的决策。

继续[yN]详细信息[d]

  • 软件包升级期间是否自动重启

There are services installed on your system which need to be restarted when certain libraries, such as libpam, libc, and libssl, are upgraded.

在你的系统上安装了一些服务,当某些特定的库(比如libpam、libc、libssl等)被升级时,这些服务需要被重启。这是因为这些服务依赖于这些库来正常运行,库升级后可能会改变一些接口或者功能实现,为了保证服务能继续正常运行,就需要重启它们使其重新加载新的库版本。

Since these restarts may cause interruptions of service for the system, you will normally be prompted on each upgrade for the list of services you wish to restart.

由于这些服务的重启可能会导致系统的服务中断,所以通常在每次进行相关库的升级时,系统会提示你列出你希望重启的服务清单。也就是说,系统不会自动重启所有需要重启的服务,而是会先询问你,让你根据实际情况(比如考虑当前系统正在进行的重要业务是否能接受短暂中断等)来决定哪些服务可以重启。

You can choose this option to avoid being prompted; instead, all necessary restarts will be done for you automatically so you can avoid being asked questions on each library upgrade.

你可以选择这个选项(即接下来询问的那个选项)来避免被提示(关于要重启哪些服务的提示)。相反,如果选择了这个选项,那么所有必要的重启操作将会自动为你完成,这样你就可以避免在每次进行库升级时都被问到相关问题。

Restart services during package upgrades without asking?

询问用户是否要在软件包升级期间(特别是涉及到上述提到的那些重要库升级时)不经过询问就自动重启相关服务。用户需要通过输入合适的回答(比如y表示是,同意自动重启;N表示否,不同意自动重启)来做出选择。

  • 配置文件resolved.conf的处理

这段提示信息是在系统检测到/etc/systemd/resolved.conf这个配置文件自安装以来发生了变化,并且软件包分发商(通常是指操作系统或相关软件包的维护者)已经发布了该配置文件的更新版本的情况下出现的。它主要是在询问用户针对这种情况想要采取的处理方式。

Configuration file '/etc/systemd/resolved.conf'

配置文件/etc/systemd/resolved.conf

这个文件通常用于系统的域名解析相关的配置,比如设置DNS服务器地址、域名解析策略等。

==> Modified (by you or by a script) since installation.

该配置文件自安装以来已经被修改过了,修改者可能是你自己,也可能是某个在系统中运行的脚本。

==> Package distributor has shipped an updated version.

表示软件包分发商(如操作系统的维护团队等)已经提供了该配置文件的一个更新版本。这可能是因为修复了一些已知的问题、优化了配置或者适应了新的系统需求等原因而发布了新的版本。

What would you like to do about it?  Your options are:

询问用户对于这种配置文件存在修改版本和更新版本的情况想要做些什么。接下来列出了用户可以选择的几种操作选项。

Y or I  : install the package maintainer's version

如果用户选择输入Y或者I,那么系统将会安装软件包维护者(即分发商)提供的该配置文件的版本。这意味着将会覆盖掉你当前已经修改过的版本,采用分发商认为的标准配置。

N or O  : keep your currently-installed version

若用户选择输入N或者O,则系统会保留你目前已经安装的该配置文件的版本。也就是维持你之前所做的修改或者脚本改动后的状态,不采用分发商提供的更新版本。

D     : show the differences between the versions

当用户输入D时,系统会展示出你当前安装的版本和软件包分发商提供的更新版本之间的差异。这样你可以直观地看到两个版本在内容上的不同之处,以便更好地决定是否要采用新的版本。

Z     : start a shell to examine the situation**:

如果用户输入Z,系统会启动一个shell(命令行环境),让你能够在这个环境中进一步深入地检查当前的情况。比如你可以在这个shell中查看配置文件的具体内容、相关的系统设置、运行一些与该配置文件相关的命令等,以便更全面地了解情况并做出合适的决策。

The default action is to keep your current version.

指出默认的操作是保留你当前的版本。也就是说,如果用户不做任何选择(直接按回车键等),系统将会按照这个默认操作执行,即维持现有的/etc/systemd/resolved.conf文件的状态。

*** resolved.conf (Y/I/N/O/D/Z) [default=N]?

再次明确询问用户对于/etc/systemd/resolved.conf这个配置文件的处理方式,让用户通过输入Y、I、N、O、D、Z中的一个字符来做出选择,并且提示用户如果不做选择的话,默认会按照N(即保留当前版本)的方式处理。

  • 配置文件sshd_config的处理

A new version (/tmp/tmp.aAfEEQVDr1) of configuration file /etc/ssh/sshd_config is available, but the version installed currently has been locally modified.

/etc/ssh/sshd_config配置文件有一个新的版本,其文件路径为/tmp/tmp.aAfEEQVDr1。然而,目前已经安装并且正在使用的该配置文件版本在本地被修改过了。这意味着可能是用户自己或者本地运行的某些程序对现有的sshd_config文件做了改动,现在又出现了一个软件包分发商提供的新的版本。

What do you want to do about modified configuration file sshd_config?

询问用户对于这个被修改过的sshd_config配置文件想要采取什么样的处理方式。

install the package maintainer's version

如果用户选择此项,系统将会安装软件包维护者(通常是指操作系统或相关软件包的分发商)提供的sshd_config配置文件的版本。这意味着将会覆盖掉当前在本地已经被修改过的版本,采用分发商认为的标准配置。不过这样做可能会丢失之前在本地所做的修改内容。

keep the local version currently installed(我选择这个)

若用户选择此项,系统会保留当前已经安装的在本地被修改过的sshd_config版本。也就是维持之前在本地所做的修改状态,不采用软件包分发商提供的新的版本。

show the differences between the versions

当用户选择此项,系统会展示出当前安装的在本地被修改过的版本和软件包分发商提供的新的版本之间的差异。这样用户可以直观地看到两个版本在内容上的不同之处,以便更好地决定是否要采用新的版本或者进一步了解两个版本的变化情况。

show a side-by-side difference between the versions

与show the differences between the versions类似,也是展示两个版本之间的差异,但可能是以一种并排对比的方式呈现,让用户能更清晰地看到每个部分在两个版本中的不同情况,便于更细致地比较和分析。

show a 3-way difference between available versions

此项会展示出所有可用版本之间的三方差异。这里的可用版本可能除了当前安装的本地修改版和软件包分发商提供的新版之外,还可能涉及到其他相关的版本(比如之前备份的某个版本等),通过这种三方对比可以更全面地了解各个版本之间的关系和变化情况。

do a 3-way merge between available versions

用户选择此项后,系统会尝试对所有可用版本进行三方合并操作。也就是综合考虑各个版本的特点和内容,将它们合并成一个新的版本,可能会保留各个版本中的有用部分,以得到一个更优化的配置文件版本。不过这种合并操作可能会比较复杂,需要根据具体情况进行调整和判断。

start a new shell to examine the situation

如果用户选择此项,系统会启动一个新的shell(命令行环境),让用户能够在这个环境中进一步深入地检查当前的情况。比如用户可以在这个 shell中查看sshd_config文件的具体内容、相关的系统设置、运行一些与该配置文件相关的命令等,以便更全面地了解情况并做出合适的决策。

7. 重启系统

升级完成后,系统会提示你重启。重启你的服务器以完成升级过程:

  • 检查升级结果

重启后,你可以通过以下命令检查你的Ubuntu版本:

lsb_release -a

这将显示你的系统信息,确认它现在是Ubuntu 22.04。

相关文章:

ssh远程升级Ubuntu20.04到Ubuntu 22.04

ssh远程升级Ubuntu20.04到Ubuntu 22.04 陈拓 2024/10/16-2024/10/26 1. 简介 本文介绍了如何通过ssh将Ubuntu系统从20.04升级到22.04。 在进行系统升级之前,建议备份重要数据,以防升级过程中出现问题。 2. 更新当前系统 硬件系统架构 当前操作系统版…...

Qt开源控件:图像查看器工具V1.1

一、项目概述 本项目是一款基于 Qt 框架 开发的 图像查看工具,可以显示带坐标轴的图像,并实时获取图像中任意像素点的坐标和颜色信息。工具具有图像缩放、动态坐标轴绘制、鼠标交互等功能,使用起来方便直观。 二、功能亮点 1. 图像加载与显…...

【WRF-Urban】SLUCM新增空间分布城市冠层参数及人为热排放AHF代码详解(下)

目录 详细解释更改文件内容4 运行模块(run):README.namelist5 输出模块(share):share/module_check_a_mundo.Fshare/output_wrf.F参考SLUCM新增空间分布城市冠层参数及人为热排放AHF代码详解的前两部分内容可参见-【WRF-Urban】SLUCM新增空间分布城市冠层参数及人为热排放A…...

【C#】新建窗体文件,Form、UserControl

从用途、功能性和架构方面进行描述。 1. 继承自 Form 的窗体(通常是窗口): 在 C# 中,Form 是用于创建应用程序的主窗口或对话框窗口的类。当您继承自 Form 时,您创建的是一个完整的窗口,可以显示内容、与…...

优化SEO策略掌握长尾关键词的力量

内容概要 在数字营销领域,SEO(搜索引擎优化)是帮助网站获得更多流量的关键。然而,随着在线竞争的加剧,单纯依赖短尾关键词已难以满足用户的搜索需求。这时,长尾关键词的引入便显得尤为重要。长尾关键词通常…...

MySQL分页查询

分页查询: 数据记录条数过多的时候,需要分页来显示。 语法: select 查询字段 from 表名 where ....等等前面学过的所有写法 limit offset(开始记录索引,是从0开始的),size(要取出的条数)&…...

执行“go mod tidy”遇到“misbehavior”错误

执行“go mod tidy”报错下错误,执行“go clean -modcache”和删除“go env GOMODCACHE”指定目录均无效: SECURITY ERROR go.sum database server misbehavior detected!old database:go.sum database tree3397826xyyhzdyAOat5li/EXx/MK1gONQf3LAGqArh…...

【机器学习】——windows下安装anaconda并在vscode上进行配置

一、安装anaconda 1.进入清华的镜像网站,下载自己电脑对应的anaconda版本。网站:https://repo.anaconda.com/archive/ 这里我下载的版本是anaconda3-2024.10-1-Windows-x86-64 2.下载完毕后开始安装anaconda 3.配置anaconda环境变量 在设置中找到编…...

第6章:布局 --[CSS零基础入门]

CSS 布局是网页设计中至关重要的一个方面,它决定了页面上元素的排列和展示方式。以下是几种常见的 CSS 布局方法和技术: 1. 浮动布局(Float Layout) 浮动布局(Float Layout)曾经是网页设计中创建多列布局…...

kubeadm安装K8s集群基础环境配置

kubeadm安装K8s集群基础环境配置 1.首先确保所有机器可以通信,然后配置主机hosts文件;2.关闭所有节点关闭防火墙、selinux、swap;3.将桥接的IPv4流量传递到 iptables;4.安装常用工具包;5.安装时间同步工具ntpdate&…...

计算机毕业设计Python医疗问答系统 医疗可视化 BERT+LSTM+CRF深度学习识别模型 机器学习 深度学习 爬虫 知识图谱 人工智能 大数据毕业设计

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...

学在西电录播课使用python下载,通过解析m3u8协议、多线程下载ts视频块以及ffmpeg合并

本文涵盖的内容仅供个人学习使用,如果侵犯学校权利,麻烦联系我删除。 初衷 研究生必修选逃, 期末复习怕漏过重点题目,但是看学在西电的录播回放课一卡一卡的,于是想在空余时间一个个下载下来,然后到时候就…...

攻防世界杂项刷题笔记(引导模式)13-23

引言:14包括提取文件和流量分析,22很新颖!!其他的都是常规隐写 13.base64stego 经过上一次如来十三掌的磨练,这题在看到题干“十三掌”的时候我是丝毫不慌张的。附件给了压缩包,考虑是不是伪加密&#xf…...

基于单片机的智能农田灌溉节水系统设计及应用

摘 要 : 针对传统的灌溉方法浪费水资源节水系统设计。该系统从节水角度出发,对传感器和主电路进行了设计,主要采集灌溉地的湿度与温度数据,根据测量土壤中的温度与湿度作为主要参数,对农田灌溉节水系统进行实时控制&am…...

高校毕业生离校就业数据分析管理平台的设计与实现(Java毕业设计)教务管理、就业统计

系统合集跳转 源码获取链接 一、系统环境 运行环境: 最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 IDE环境: Eclipse,Myeclipse,IDEA或者Spring Tool Suite都可以 tomcat环境: Tomcat 7.x,8.x,9.x版本均可 操作系统…...

1、SQL语言

分类方式 类别描述 部署方式 嵌入式/单机/双机/集群/分布式/云数据库 业务类型 OLTP数据库/OLAP数据库/流数据库/时序数据库 存储介质 内存数据库/磁盘数据库/SSD数据库/SCM数据库 年代 第一代是单机数据库/第二代是集群数据库/第三代是分布式数据库和云原生数据库/第…...

spark sql 环境安装,java 默认路径和 安装配置!

yum安装java 查看默认路径 update-alternatives --config java # Java 环境变量 export JAVA_HOME/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64/jreexport PATH$JAVA_HOME/bin:$PATH# Spark 环境变量 export SPARK_HOME/home/vagrant/soft/sparkexport PATH…...

【CMD、PowerShell和Bash设置代理】

【CMD、PowerShell和Bash设置代理】 1. CMD(命令提示符)临时设置代理(只对当前会话有效):查看当前代理设置:清除临时代理设置:永久设置代理(对所有新的 CMD 会话有效)&am…...

分区之间的一种度量方法-覆盖度量(Covering Metric)

分区之间的一种度量方法——覆盖度量(Covering Metric),用于量化一个分区如何被另一个分区覆盖或近似。以下是逐步详细解释: 1. 背景与符号说明 分区的概念: 分区是将一个集合(这里是 { 1 , … , n } \{…...

HarmonyOS(64) wrapBuilder 全局@Builder使用利器

WrapBuilder 全局Builder是什么什么时候使用wrapBuilderBuilder的限制参考资料 全局Builder是什么 局部Builder的定义方法如下: //定义局部Builder Builder MyBuilderFunction() {} //使用方法 this.MyBuilderFunction()全局Builder定义语法如下: //全…...

【计算机毕设】基于Spark猫眼电影票房数据分析预测推荐系统(完整系统源码+数据库+开发笔记+详细部署教程+虚拟机分布式启动教程)✅

目录 【计算机毕设】基于Spark猫眼电影票房数据分析预测推荐系统(完整系统源码数据库开发笔记详细部署教程虚拟机分布式启动教程)✅ 一、项目背景 二、研究目的 三、项目意义 四、项目功能 五、项目创新点 六、开发技术介绍 七、算法介绍 八、数…...

问卷调查模板

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>问卷调查</title><style>body {font-fam…...

hadoop单机安装

步骤 1:安装 Java 安装 OpenJDK bash sudo yum install -y java-1.8.0-openjdk 验证 Java 安装 bash java -version 输出类似以下内容表示成功: arduino openjdk version “1.8.0_xxx” 步骤 2:下载 Hadoop 下载 Hadoop 安装包 前往 Hadoop 官方下载页面,获取最新稳…...

Android笔记【15】跳转页面返回信息

一、问题 学习一段代码 val intent Intent(thisSecondActivity, MainActivity::class.java) intent.putExtra("extra_data", data) startActivity(intent) 二、内容 这段代码是在 Android 应用中启动一个新的活动&#xff08;Activity&#xff09;&#xff0c;具…...

MATLAB深度学习(七)——ResNet残差网络

一、ResNet网络 ResNet是深度残差网络的简称。其核心思想就是在&#xff0c;每两个网络层之间加入一个残差连接&#xff0c;缓解深层网络中的梯度消失问题 二、残差结构 在多层神经网络模型里&#xff0c;设想一个包含诺干层自网络&#xff0c;子网络的函数用H(x)来表示&#x…...

推荐几种主流数据仓库:深度剖析与对比

引言 随着数据量的不断增长&#xff0c;数据仓库技术在企业的数据管理和分析中扮演着越来越重要的角色。不同的数据仓库系统在性能、架构、功能和适用场景上各有特点。本文将详细介绍目前市场上几种主流的数据仓库&#xff0c;帮助你更好地了解各个数据仓库的特性&#xff0c;选…...

编译原理——词法分析器的实现

实验目的 深入理解有限自动机及其应用编辑一个词法分析器&#xff0c;了解计算机识别源程序字符串的过程。 实验内容和要求 实验内容&#xff1a;处理c语言源程序&#xff0c;对源程序进行编译预处理&#xff08;去除注释、无用的回车换行找到包含的文件等&#xff09;之后&a…...

【MySQL】数据库 Navicat 可视化工具与 MySQL 命令行基本操作

&#x1f4af; 欢迎光临清流君的博客小天地&#xff0c;这里是我分享技术与心得的温馨角落 &#x1f4af; &#x1f525; 个人主页:【清流君】&#x1f525; &#x1f4da; 系列专栏: 运动控制 | 决策规划 | 机器人数值优化 &#x1f4da; &#x1f31f;始终保持好奇心&…...

hive分区分桶、数据倾斜总结

一、hive的基本概念 hive是一个构建在hadoop上的数据仓库工具&#xff0c;可以将结构化的数据文件映射为一张数据库表并提供数据查询功能 二、hive的特点 &#xff08;1&#xff09;数据是存储在hdfs上 &#xff08;2&#xff09;底层是将sql转换为MapReduce任务进行计算 …...

MySQL 函数

在 MySQL 中&#xff0c;函数&#xff08;Function&#xff09;是一种用于封装一段逻辑处理的编程结构&#xff0c;可以在 SQL 语句中调用并返回单个值。函数和存储过程类似&#xff0c;都是存储在服务器端的程序单元&#xff0c;但它们的应用场景和使用方式有所不同。函数通常…...

Java 并发舞台:多线程小精灵的奇幻冒险之旅

1.线程池的拒绝策略有哪些&#xff1f; Java中的线程池提供了几种不同的拒绝策略&#xff0c;当线程池无法处理新的任务时&#xff08;比如因为线程池已满并且工作队列也满了&#xff09;&#xff0c;这些策略会决定如何处理新提交的任务。ThreadPoolExecutor类中定义了以下四…...

PostgreSQL 性能优化全方位指南:深度提升数据库效率

PostgreSQL 性能优化全方位指南&#xff1a;深度提升数据库效率 别忘了请点个赞收藏关注支持一下博主喵&#xff01;&#xff01;&#xff01; 在现代互联网应用中&#xff0c;数据库性能优化是系统优化中至关重要的一环&#xff0c;尤其对于数据密集型和高并发的应用而言&am…...

【Go 基础】并发相关

并发相关 CAS CAS算法&#xff08;Compare And Swap&#xff09;&#xff0c;是原⼦操作的⼀种,&#xff0c;CAS 算法是⼀种有名的⽆锁算法。⽆锁编程&#xff0c;即不使⽤锁的情况下实现多线程之间的变量同步。可⽤于在多线程编程中实现不被打断的数据交换操作&#xff0c;从…...

5G CPE终端功能及性能评测(四)

5G CPE 功能性能评测 本文选取了几款在工业应用领域应用较多的5G CPE,对其功能和性能进行了对比评测。功能方面主要对比了网络接口数量,VPN功能 支持情况。以下测试为空口测试,测试结果受环境影响较大,性能仅供参考。总体看,高通X55芯片下行最优,速率稳定。 功能 对比CPE…...

开源模型应用落地-qwen模型小试-Qwen2.5-7B-Instruct-tool usage入门-集成心知天气(二)

一、前言 Qwen-Agent 是一个利用开源语言模型Qwen的工具使用、规划和记忆功能的框架。其模块化设计允许开发人员创建具有特定功能的定制代理,为各种应用程序提供了坚实的基础。同时,开发者可以利用 Qwen-Agent 的原子组件构建智能代理,以理解和响应用户查询。 本篇将介绍如何…...

JS进阶DAY3|事件(一)事件监听及事件类型

目录 一、事件监听方式&#xff08;绑定&#xff09; 1.1 DOM0级事件 1.2 DOM2级事件 1.3 区别 二、事件类型 2.1 鼠标事件 2.2 键盘事件 2.3 焦点事件 2.4 表单事件 2.5 加载和卸载事件 2.6 滚动事件 2.7 触摸事件&#xff08;在支持触摸的设备上&#xff09; 一…...

数据结构与算法之美:单链表

Hello大家好&#xff01;很高兴我们又见面啦&#xff01;给生活添点passion&#xff0c;开始今天的编程之路&#xff01; 我的博客&#xff1a;<但凡. 我的专栏&#xff1a;《数据结构与算法之美》、《编程之路》、《题海拾贝》 欢迎点赞&#xff0c;关注&#xff01; 目录 …...

从ctfwiki开始的pwn之旅 6.ret2reg

原理 Ret2reg&#xff0c;即攻击绕过地址混淆(ASLR)&#xff0c;返回到寄存器地址 一般用于开启ASLR的ret2shellcode题型。 出现该漏洞的代码的典型特征是&#xff1a;程序中存在strcpy的字符串拷贝函数。 ret2reg&#xff08;返回到寄存器地址攻击&#xff09;是一种利用技…...

GESP202412 7级 T2

闲话 花了一个小时。 主要原因&#xff1a;条初始值硬控我半小时&#xff0c;题目看错硬控我半小时&#xff08;悲&#xff09;。 正文 看题目&#xff0c;就是求从哪个点出发所得到的所有单调下降序列的总长度最长(这个描述好奇怪&#xff0c;不过意思是对的)。 题目中说…...

LeetCode---426周赛

题目列表 3370. 仅含置位位的最小整数 3371. 识别数组中的最大异常值 3372. 连接两棵树后最大目标节点数目 I 3373. 连接两棵树后最大目标节点数目 II 一、仅含置位位的最小整数 题目要求我们返回二进制数位全为1&#xff0c;且大于 n 的最小的整数&#xff0c;我们可以直…...

git 拉取代码时报错 gitignore Please move or remove them before you merge.

git 拉取代码时报错&#xff0c; The following untracked working tree files would be overwritten by merge: .gitignore Please move or remove them before you merge. 当你在使用 Git 进行代码拉取&#xff08;通常是执行 git pull 或 git merge 命令&#xff09;时遇到这…...

devops-Dockerfile+Jenkinsfile方式部署Java前后端应用

文章目录 概述部署前端Vue应用一、环境准备1、Dockerfile2、.dockerignore3、nginx.conf4、Jenkinsfile 二、Jenkins部署1、新建任务2、流水线3、Build Now 构建 & 访问 Springboot后端应用1. 准备工作2. 创建项目结构3. 编写 Dockerfile后端 Dockerfile (backend/Dockerfi…...

华为云鸿蒙应用入门级开发者认证考试题库(理论题和实验题)

注意&#xff1a;考试链接地址&#xff1a;华为云鸿蒙应用入门级学习认证_华为云鸿蒙应用入门级开发者认证_华为云开发者学堂-华为云 当前认证打折之后是1元&#xff0c;之后原价700元&#xff0c;大家尽快考试&#xff01;考试题库里面答案不一定全对&#xff0c;但是可以保证…...

Lua元表和元方法的使用

元表是一个普通的 Lua 表&#xff0c;包含一组元方法&#xff0c;这些元方法与 Lua 中的事件相关联。事件发生在 Lua 执行某些操作时&#xff0c;例如加法、字符串连接、比较等。元方法是普通的 Lua 函数&#xff0c;在特定事件发生时被调用。 元表包含了以下元方法&#xff1…...

自动驾驶算法——卡尔曼滤波器平滑感知车道线参数【C++代码实现】

1.算法原理 在工程实践中,由于感知识别到的车道线偶尔存在较大的跳变,导致后端控制算法计算出的控制角度也存在较大的跳变,所以我们需要对感知输入的车道线系数进行平滑处理。 已知卡尔曼滤波算法主要分为以下几大步骤: 感知将车道线以三次螺旋曲线方程 y = c 0 + c 1 x +…...

浅谈Scala语言

一、Scala语言基础 1.1 语法结构 Scala的语法是一种融合了多种编程范式的设计&#xff0c;它结合了函数式编程和面向对象编程的优点。这种语法结构使得Scala既具有高度的表达能力&#xff0c;又保持了代码的简洁性。例如&#xff0c;Scala支持类型推断&#xff0c;这意味着在…...

可视化建模以及UML期末复习篇----UML图

这是一篇相对较长的文章&#xff0c;如你们所见&#xff0c;比较详细&#xff0c;全长两万字。我不建议你们一次性看完&#xff0c;直接跳目录找你需要的知识点即可。 --------欢迎各位来到我UML国&#xff01; 一、UML图 总共有如下几种&#xff1a; 用例图&#xff08;Use Ca…...

音视频入门基础:MPEG2-TS专题(13)——FFmpeg源码中,解析Section Header的实现

一、引言 在《音视频入门基础&#xff1a;MPEG2-TS专题&#xff08;11&#xff09;—— TS中的Section》中讲述了Section Header的基本概念&#xff0c;本文讲述FFmpeg源码中是怎样解析Section Header的。 二、parse_section_header函数的定义 FFmpeg源码中通过parse_section…...

SQL UCASE() 函数:转换字符串为大写

SQL UCASE() 函数&#xff1a;转换字符串为大写 概述 在SQL中&#xff0c;UCASE() 函数用于将字符串中的所有字符转换为大写。这是一个非常实用的函数&#xff0c;尤其在处理大量文本数据时&#xff0c;确保数据的一致性和准确性。本文将详细介绍UCASE() 函数的用法、示例以及…...

机器学习周报(12.2-12.8)

文章目录 摘要Abstract Vision Transformer1 原理2 代码 摘要 本周学习了Vision Transformer (ViT) 的基本原理及其实现&#xff0c;并完成了基于PyTorch的模型训练、验证和预测任务。深入理解了ViT如何将图像分割成patch作为输入序列&#xff0c;并结合Transformer Encoder处…...