centos7.9升级rockylinux8.8

前言

查看centos的版本 ,我这台服务器是虚拟机,下面都是模拟实验

升级前一定要把服务器上配置文件,数据等进行备份

[root@localhost ~]#cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)
[root@localhost ~]#uname -a
Linux jenkins_server 3.10.0-1160.83.1.el7.x86_64 #1 SMP Wed Jan 25 16:41:43 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux[root@localhost ~]# docker run --name my-memcache -m 64  -d  docker.io/memcached:1.6.20
/usr/bin/docker-current: Error response from daemon: Minimum memory limit allowed is 4MB.
See '/usr/bin/docker-current run --help'.
[root@localhost ~]# docker run --name my-memcache -m 64mb  -d  docker.io/memcached:1.6.20
1ad3ad059e1a2f3d179c64f88bd0ec494c46adf78caa9c0f1603e0210b639869
[root@localhost ~]# docker ps
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS               NAMES
1ad3ad059e1a        docker.io/memcached:1.6.20   "docker-entrypoint..."   3 seconds ago       Up 2 seconds        11211/tcp           my-memcache
[root@localhost ~]# netstat -lnpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      1563/mysqld         
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      908/redis-server 12 
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1160/nginx: master  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      903/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1567/master         
tcp6       0      0 :::80                   :::*                    LISTEN      1160/nginx: master  
tcp6       0      0 :::22                   :::*                    LISTEN      903/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      1567/master   

现在可以将 CentOS 7 升级到 Rocky Linux 8。由于 CentOS 8 已经死了,所以将 CentOS 7 迁移到 CentOS 8 是没有意义的。
现在,您不仅可以将 CentOS 7 升级到 Rocky Linux 8,还可以将 CentOS 7 升级到其他 EL 8 衍生产品,如 AlmaLinux、CentOS Stream、Oracle 和 Rocky Linux。
感谢ELevate(https://wiki.almalinux.org/elevate/),一项计划和工具,可以在RHEL衍生品的主要版本之间进行迁移。
在这里,我们将看到如何将 CentOS 7 升级到 Rocky Linux 8。

一 进行系统备份

在继续之前,我强烈建议您进行系统备份或快照以进行恢复,以防升级后出现问题。除此之外,您还可以先在虚拟机或测试计算机上尝试此升级过程,然后再在实际服务器上执行此升级过程。

如果你的centos7系统未到达最新版本,请进行升级

yum update -y
[root@localhost ~]#cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)
[root@localhost ~]#uname -a
Linux localhost 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

1 升级内核,使用最新内核

在这里插入图片描述

[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)
[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

二 安装提升

安装提升发布包以配置项目存储库并安装 GPG 密钥。

yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el7.noarch.rpm

三 安装 Rocky Linux 的 leapp 软件包和迁移数据。

 yum install -y leapp-upgrade leapp-data-rocky

四 执行预检查

使用以下命令启动升级前检查。此检查将确定操作系统升级的可能性,并报告升级前需要修复的潜在问题。

leapp preupgrade

1 报错

在这里插入图片描述
此外,您还可以在文件中获取有关报告的升级阻止程序(风险因素:高(限制)和建议的解决方案)的详细信息。除了阻止程序之外,该文件还将包含从信息到高的其他风险,您可以查看并进一步进行。/var/log/leapp/leapp-report.txt

[root@localhost ~]#  cat /var/log/leapp/leapp-report.txt |grep command
[command] yum -y remove kernel-devel-3.10.0-1160.83.1.el7
Remediation: [hint] Please register user choices with leapp answer cli command or by manually editing the answerfile.
[command] leapp answer --section remove_pam_pkcs11_module_check.confirm=True
Summary: In RHEL 8, there is no 'python' command. Python 3 (backward incompatible) is the primary Python version and Python 2 is available with limited support and limited set of packages. Read more here: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html-single/configuring_basic_system_settings/#using-python3
The postqueue command no longer forces all message arrival times to be reported in UTC. To get the old behavior, set TZ=UTC in main.cf:import_environment.

2 处理,根据文件中提升执行命令

[root@localhost ~]# yum -y remove kernel-devel-3.10.0-1160.90.1.el7 && leapp answer --section remove_pam_pkcs11_module_check.confirm=True 

3再次检测,没有再报错,当然也可以再次查看/var/log/leapp/leapp-report.txt

[root@localhost ~]#leapp preupgrade

在这里插入图片描述

五 升级到 Rocky Linux 8

1使用以下命令开始升级。此升级需要一些时间才能完成。下载了一堆包,更新了一堆包

leapp upgrade

在这里插入图片描述
在这里插入图片描述

2 升级报错

在这里插入图片描述

STDERR:
No matches found for the following disable plugin patterns: subscription-manager
Repository extras is listed more than once in the configuration
Warning: Package marked by Leapp to upgrade not found in repositories metadata: gpg-pubkey
RPM: warning: Generating 6 missing index(es), please wait...
Error: Transaction test error:file /usr/lib64/.libcrypto.so.1.1.1k.hmac from install of openssl-libs-1:1.1.1k-9.el8_7.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-5.el7.x86_64file /usr/lib64/.libssl.so.1.1.1k.hmac from install of openssl-libs-1:1.1.1k-9.el8_7.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-5.el7.x86_64file /usr/lib64/engines-1.1/afalg.so from install of openssl-libs-1:1.1.1k-9.el8_7.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-5.el7.x86_64file /usr/lib64/engines-1.1/capi.so from install of openssl-libs-1:1.1.1k-9.el8_7.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-5.el7.x86_64file /usr/lib64/engines-1.1/padlock.so from install of openssl-libs-1:1.1.1k-9.el8_7.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-5.el7.x86_64file /usr/lib64/libcrypto.so.1.1.1k from install of openssl-libs-1:1.1.1k-9.el8_7.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-5.el7.x86_64file /usr/lib64/libssl.so.1.1.1k from install of openssl-libs-1:1.1.1k-9.el8_7.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-5.el7.x86_64============================================================END OF ERRORS                        
============================================================Debug output written to /var/log/leapp/leapp-upgrade.log============================================================REPORT                           
============================================================A report has been generated at /var/log/leapp/leapp-report.json
A report has been generated at /var/log/leapp/leapp-report.txt============================================================END OF REPORT                        
============================================================Answerfile has been generated at /var/log/leapp/answerfile
2023-06-01 14:19:34.232 ERROR    PID: 26818 leapp: Upgrade workflow failed, check log for details
[root@localhost ~]# 

2.1 报错处理:移除openssl11-libs

[root@localhost ~]# yum remove  openssl11-libs-1:1.1.1k-5.el7.x86_64

请先备份nginx配置文件在移除
在这里插入图片描述

3 再次升级

leapp upgrade

终于通过了
在这里插入图片描述

3.1 重启,选择升级

[root@localhost ~]# shutdown -r now

选择第一个
在这里插入图片描述

3.2 更新并安装一些包,这个过程相当缓慢

在这里插入图片描述

3.4 熟悉的页面

在这里插入图片描述

4 系统升级成功

但是我的docker被卸载了,镜像也找不到了,如果安装了docker 一定要备份啊 ,当然其他服务也是如此

[root@localhost ~]# cat /etc/redhat-release 
Rocky Linux release 8.8 (Green Obsidian)
[root@localhost ~]# uname -a
Linux localhost.localdomain 4.18.0-477.13.1.el8_8.x86_64 #1 SMP Tue May 30 22:15:39 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

六 升级后操作

1 先重新配置下yum吧

[root@localhost ~]# cd  /etc/yum.repos.d/
[root@localhost yum.repos.d]# ll
总用量 76
-rw-r--r--. 1 root root 2523 8月   4 2022 CentOS-Base.repo.rpmsave
-rw-r--r--. 1 root root  379 3月  17 19:26 ELevate.repo
-rw-r--r--. 1 root root 1698 11月  5 2022 epel-modular.repo
-rw-r--r--. 1 root root 1332 11月  5 2022 epel.repo
-rw-r--r--. 1 root root 1797 11月  5 2022 epel-testing-modular.repo
-rw-r--r--. 1 root root 1431 11月  5 2022 epel-testing.repo
-rw-r--r--. 1 root root  710 4月  26 02:50 Rocky-AppStream.repo
-rw-r--r--. 1 root root  695 4月  26 02:50 Rocky-BaseOS.repo
-rw-r--r--. 1 root root 1753 4月  26 02:50 Rocky-Debuginfo.repo
-rw-r--r--. 1 root root  360 4月  26 02:50 Rocky-Devel.repo
-rw-r--r--. 1 root root  695 4月  26 02:50 Rocky-Extras.repo
-rw-r--r--. 1 root root  731 4月  26 02:50 Rocky-HighAvailability.repo
-rw-r--r--. 1 root root  680 4月  26 02:50 Rocky-Media.repo
-rw-r--r--. 1 root root  680 4月  26 02:50 Rocky-NFV.repo
-rw-r--r--. 1 root root  690 4月  26 02:50 Rocky-Plus.repo
-rw-r--r--. 1 root root  715 4月  26 02:50 Rocky-PowerTools.repo
-rw-r--r--. 1 root root  746 4月  26 02:50 Rocky-ResilientStorage.repo
-rw-r--r--. 1 root root  681 4月  26 02:50 Rocky-RT.repo
-rw-r--r--. 1 root root 2335 4月  26 02:50 Rocky-Sources.repo
[root@localhost yum.repos.d]# rm -rf CentOS-Base.repo.rpmsave
[root@localhost yum.repos.d]#  mkdir backup
[root@localhost yum.repos.d]# cp ./Rocky-*.repo ./backup/
[root@localhost yum.repos.d]# mv ELevate.repo  epel-modular.repo epel.repo epel-testing-modular.repo epel-testing.repo ./backup/
[root@localhost yum.repos.d]# sed -e 's|^mirrorlist=|#mirrorlist=|g' \-e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' \-i.bak \/etc/yum.repos.d/Rocky-*.repo
[root@localhost ~]# yum makecache  
或者 dnf makecache[root@localhost ~]# yum makecache
Rocky Linux 8 - AppStream                                                                                                                                      276 kB/s | 9.2 MB     00:34    
Rocky Linux 8 - BaseOS                                                                                                                                          225 kB/s | 3.8 MB     00:17    
Rocky Linux 8 - Extras                                                                                                                                             1.2 kB/s |  13 kB     00:10    
元数据缓存已建立。

2 新的系统中无法找到docker服务,无法使用docker命令,但是docker的存储数据目录还在

但是我的docker被卸载了,镜像也找不到了,如果安装了docker 一定要备份啊 ,当然其他服务也是如此

[root@localhost ~]# netstat -lnpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1039/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1650/master         
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      1045/redis-server 1 
tcp6       0      0 :::22                   :::*                    LISTEN      1039/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1650/master         
tcp6       0      0 :::3306                 :::*                    LISTEN      1325/mysqld         
[root@localhost ~]# which docker
/usr/bin/which: no docker in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[root@localhost ~]# du -sh /var/lib/docker
96M	/var/lib/docker
[root@localhost ~]# ll /var/lib/docker/
总用量 4
drwx------.  3 root root   78 6月   1 14:02 containers
drwx------.  3 root root   22 6月   1 13:56 image
drwxr-x---.  3 root root   19 6月   1 13:56 network
drwx------. 11 root root 4096 6月   1 13:47 overlay2
drwx------.  4 root root   32 6月   1 13:56 plugins
drwx------.  2 root root    6 6月   1 13:56 swarm
drwx------.  2 root root    6 6月   1 14:00 tmp
drwx------.  2 root root    6 6月   1 13:56 trust
drwx------.  2 root root   25 6月   1 15:37 volumes

2.1 rockylinux上的并没有docker的安装包,叫podman

官网 https://podman.io/

[root@localhost ~]# yum install docker
上次元数据过期检查:0:02:00 前,执行于 2023年06月01日 星期四 15时36分48秒。
依赖关系解决。
==============================================================================================================================================================================================软件包                                              架构                           版本                                                              仓库                               大小
==============================================================================================================================================================================================
安装:podman-docker                                       noarch                         3:4.4.1-12.module+el8.8.0+1265+fa25dd7a                           appstream                          74 k
安装依赖关系:conmon                                              x86_64                         3:2.1.6-1.module+el8.8.0+1265+fa25dd7a                            appstream                          56 kcontainernetworking-plugins                         x86_64                         1:1.2.0-1.module+el8.8.0+1265+fa25dd7a                            appstream                          20 Mpodman                                              x86_64                         3:4.4.1-12.module+el8.8.0+1265+fa25dd7a                           appstream                          15 Mpodman-catatonit                                    x86_64                         3:4.4.1-12.module+el8.8.0+1265+fa25dd7a                           appstream                         361 kshadow-utils-subid                                  x86_64                         2:4.6-17.el8                                                      baseos                            112 k事务概要
==============================================================================================================================================================================================
安装  6 软件包总下载:35 M
安装大小:107 M
确定吗?[y/N]: y
下载软件包:
(1/6): conmon-2.1.6-1.module+el8.8.0+1265+fa25dd7a.x86_64.rpm                                                                                                  10 kB/s |  56 kB     00:05    
(2/6): podman-catatonit-4.4.1-12.module+el8.8.0+1265+fa25dd7a.x86_64.rpm                                                                                      242 kB/s | 361 kB     00:01    
(3/6): podman-docker-4.4.1-12.module+el8.8.0+1265+fa25dd7a.noarch.rpm                                                                                         196 kB/s |  74 kB     00:00    
(4/6): shadow-utils-subid-4.6-17.el8.x86_64.rpm                                                                                                               199 kB/s | 112 kB     00:00    
(5/6): podman-4.4.1-12.module+el8.8.0+1265+fa25dd7a.x86_64.rpm                                                                                                225 kB/s |  15 MB     01:07    
(6/6): containernetworking-plugins-1.2.0-1.module+el8.8.0+1265+fa25dd7a.x86_64.rpm                                                                            228 kB/s |  20 MB     01:29    
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                                                                          405 kB/s |  35 MB     01:29     
Rocky Linux 8 - AppStream                                                                                                                                     172 kB/s | 1.6 kB     00:00    
导入 GPG 公钥 0x6D745A60:Userid: "Release Engineering <infrastructure@rockylinux.org>"指纹: 7051 C470 A929 F454 CEBE 37B7 15AF 5DAC 6D74 5A60来自: /etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
确定吗?[y/N]: y
导入公钥成功
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务准备中  :                                                                                                                                                                               1/1 安装    : shadow-utils-subid-2:4.6-17.el8.x86_64                                                                                                                                        1/6 安装    : containernetworking-plugins-1:1.2.0-1.module+el8.8.0+1265+fa25dd7a.x86_64                                                                                                     2/6 安装    : conmon-3:2.1.6-1.module+el8.8.0+1265+fa25dd7a.x86_64                                                                                                                          3/6 安装    : podman-catatonit-3:4.4.1-12.module+el8.8.0+1265+fa25dd7a.x86_64                                                                                                               4/6 安装    : podman-3:4.4.1-12.module+el8.8.0+1265+fa25dd7a.x86_64                                                                                                                         5/6 安装    : podman-docker-3:4.4.1-12.module+el8.8.0+1265+fa25dd7a.noarch                                                                                                                  6/6 运行脚本: podman-docker-3:4.4.1-12.module+el8.8.0+1265+fa25dd7a.noarch                                                                                                                  6/6 验证    : conmon-3:2.1.6-1.module+el8.8.0+1265+fa25dd7a.x86_64                                                                                                                          1/6 验证    : containernetworking-plugins-1:1.2.0-1.module+el8.8.0+1265+fa25dd7a.x86_64                                                                                                     2/6 验证    : podman-3:4.4.1-12.module+el8.8.0+1265+fa25dd7a.x86_64                                                                                                                         3/6 验证    : podman-catatonit-3:4.4.1-12.module+el8.8.0+1265+fa25dd7a.x86_64                                                                                                               4/6 验证    : podman-docker-3:4.4.1-12.module+el8.8.0+1265+fa25dd7a.noarch                                                                                                                  5/6 验证    : shadow-utils-subid-2:4.6-17.el8.x86_64                                                                                                                                        6/6 
已更新安装的产品。已安装:conmon-3:2.1.6-1.module+el8.8.0+1265+fa25dd7a.x86_64                                    containernetworking-plugins-1:1.2.0-1.module+el8.8.0+1265+fa25dd7a.x86_64                           podman-3:4.4.1-12.module+el8.8.0+1265+fa25dd7a.x86_64                                   podman-catatonit-3:4.4.1-12.module+el8.8.0+1265+fa25dd7a.x86_64                                     podman-docker-3:4.4.1-12.module+el8.8.0+1265+fa25dd7a.noarch                            shadow-utils-subid-2:4.6-17.el8.x86_64                                                              完毕!

2.2 podman 启动,启动文件

[root@localhost ~]# ll /usr/lib/systemd/system/podman*
-rw-r--r--. 1 root root 284 5月  17 05:25 /usr/lib/systemd/system/podman-auto-update.service
-rw-r--r--. 1 root root 143 5月  17 05:25 /usr/lib/systemd/system/podman-auto-update.timer
-rw-r--r--. 1 root root 667 5月  17 05:25 /usr/lib/systemd/system/podman-clean-transient.service
-rw-r--r--. 1 root root 443 5月  17 05:25 /usr/lib/systemd/system/podman-kube@.service
-rw-r--r--. 1 root root 510 5月  17 05:25 /usr/lib/systemd/system/podman-restart.service
-rw-r--r--. 1 root root 324 5月  17 05:25 /usr/lib/systemd/system/podman.service
-rw-r--r--. 1 root root 176 5月  17 05:25 /usr/lib/systemd/system/podman.socket
[root@localhost ~]# [root@localhost ~]# systemctl startpodman
[root@localhost ~]# systemctl enable podman
[root@localhost ~]# podman -v
podman version 4.4.1

2.3 podman的目录

podman本地存储地址 /var/lib/containers/storage
[root@localhost ~]# find / -name podman
/run/podman
/var/lib/cni/networks/podman
/usr/bin/podman
/usr/share/doc/podman
/usr/share/licenses/podman
/usr/share/bash-completion/completions/podman
/usr/libexec/podman[root@localhost ~]# find / -name containers
/run/containers
/etc/containers
/var/lib/containers
/var/lib/docker/containers
/usr/share/containers

2.4 拉取镜像memcache,podman从dockerhub拉去镜像是可以的

[root@localhost ~]# podman pull docker.io/memcached:1.6.20
Trying to pull docker.io/library/memcached:1.6.20...
Getting image source signatures
Copying blob 26b333375d58 done  
Copying blob f03b40093957 done  
Copying blob 42850af464e5 done  
Copying blob 66835158f1e3 done  
Copying blob 4027e4df9c70 done  
Copying blob e874830b2907 done  
Copying config a78754495c done  
Writing manifest to image destination
Storing signatures
a78754495cd58c1fd188f1147b890bd9de6c8a3bf9cbea69c917e578a7fa6842

2.5 启动镜像

[root@localhost ~]#  podman run --name my-memcache -m 64mb -p 11211:11211 -d  docker.io/memcached:1.6.20
[root@localhost ~]# podman ps
CONTAINER ID  IMAGE                               COMMAND     CREATED         STATUS         PORTS                     NAMES
3565b7560aca  docker.io/library/memcached:1.6.20  memcached   39 seconds ago  Up 39 seconds  0.0.0.0:11211->11211/tcp  my-memcache
[root@localhost ~]# netstat -lnpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1039/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1650/master         
tcp        0      0 0.0.0.0:11211           0.0.0.0:*               LISTEN      50316/conmon        
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      1045/redis-server 1 
tcp6       0      0 :::22                   :::*                    LISTEN      1039/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1650/master         
tcp6       0      0 :::3306                 :::*                    LISTEN      1325/mysqld [root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 872M     0  872M    0% /dev
tmpfs                    890M   84K  890M    1% /dev/shm
tmpfs                    890M  608K  889M    1% /run
tmpfs                    890M     0  890M    0% /sys/fs/cgroup
/dev/mapper/centos-root   38G  4.2G   34G   11% /
/dev/sda1                2.0G  266M  1.8G   14% /boot
tmpfs                    178M     0  178M    0% /run/user/0
shm                       63M     0   63M    0% /var/lib/containers/storage/overlay-containers/3565b7560aca675d9c5b293e60dbeafa696d22c004837e99e132a1568d46e26e/userdata/shm
overlay                   38G  4.2G   34G   11% /var/lib/containers/storage/overlay/9b0bc430742f2c32e1b7b8ff9e47e7811c4484b31c12d41eb0451a3c78d3df4e/merged

3 安装nginx

nginx从在centos7.9上的1.20版本降级到了1.14版本

[root@localhost ~]# yum install nginx
[root@localhost ~]# nginx -v
nginx version: nginx/1.14.1
systemctl start nginx
systemctl enable nginx

访问web
在这里插入图片描述

本文参考
https://www.itzgeek.com/how-tos/linux/centos-how-tos/how-to-upgrade-centos-7-to-rocky-linux-8.html#:~:text=Upgrade%20CentOS%207%20to%20Rocky%20Linux%208%201,Linux%208%20…%205%20Post%20Migration%20Checkouts%20

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/56557.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++进阶】AVL树的实现

1. AVL的概念 AVL树是最先发明的⾃平衡⼆叉查找树&#xff0c;AVL是⼀颗空树&#xff0c;或者具备下列性质的⼆叉搜索树&#xff1a;它的左右⼦树都是AV树&#xff0c;且左右⼦树的⾼度差的绝对值不超过1。AVL树是⼀颗⾼度平衡搜索⼆叉树&#xff0c;通过控制⾼度差去控制平衡…

SLM201A系列24V, 15mA - 60mA单通道线性恒流LED驱动芯片 灯带灯条解决方案

SLM201A系列型号&#xff1a; SLM201A15aa-7G SLM201A20aa-7G SLM201A25aa-7G SLM201A30aa-7G SLM201A35aa-7G SLM201A40aa-7G SLM201A45aa-7G SLM201A50aa-7G SLM201A55aa-7G SLM201A60aa-7G SLM201A 系列产品是用于产生单通道、高…

基于FPGA的以太网设计(一)

以太网简介 以太网&#xff08;Ethernet&#xff09;是一种计算机局域网技术。IEEE组织的IEEE 802.3标准制定了以太网的技术标准&#xff0c;它规定了包括物理层的连线、电子信号和介质访问控制的内容。以太网是目前应用最普遍的局域网技术&#xff0c;取代了其他局域网标准如…

【unity小技巧】Unity6 LTS版本安装和一些修改和新功能使用介绍

文章目录 前言安装新功能变化1、官方推荐使用inputsystem进行输入控制2、修复了InputSystem命名错误导致listen被遮挡的bug3、自带去除unity启动画面logo功能4、unity官方的behavior行为树插件5、linearVelocity代替过时的velocity方法待续 完结 前言 2024/10/17其实unity就已…

gitlab:ssh设置

我用的是window&#xff0c;先打开终端&#xff1a; 1、输入 ssh-skygen 执行 然后输入路径&#xff0c;路径地址就是后面括号内的内容 2、然后直接下一步下一步即可&#xff0c;像上面那样就成了 3、打开公钥&#xff0c;复制 4、打开gitlab&#xff0c;在我的 Edit profil…

JUnit 单元测试(详解)

&#x1f680; 个人简介&#xff1a;某大型国企资深软件开发工程师&#xff0c;信息系统项目管理师、CSDN优质创作者、阿里云专家博主&#xff0c;华为云云享专家&#xff0c;分享前端后端相关技术与工作常见问题~ &#x1f49f; 作 者&#xff1a;码喽的自我修养&#x1f9…

shell脚本宝藏仓库(基础命令、正则表达式、shell基础、变量、逻辑判断、函数、数组)

一、shell概述 1.1 shell是什么 Shell是一种脚本语言 脚本&#xff1a;本质是一个文件&#xff0c;文件里面存放的是特定格式的指令&#xff0c;系统可以使用脚本解析器、翻译或解析指令并执行&#xff08;shell不需要编译&#xff09; Shell既是应用程序又是一种脚本语言&…

C++中类间相互引用与析构函数调用的潜在风险及解决方案

C中类间相互引用与析构函数调用的潜在风险及解决方案 一、前言二、举例说明三、问题分析四、解决方案 一、前言 在C中&#xff0c;当两个类A和B之间存在相互引用&#xff0c;并且在A的析构函数中调用B的成员函数&#xff0c;同时B的成员函数又尝试访问A的对象或调用A的成员函数…

《深度学习》Dlib、OpenCV 轮廓绘制

目录 一、Dlib轮廓绘制 1、什么是轮廓绘制 2、步骤 1&#xff09;导入所需的库和模型 2&#xff09;加载人脸检测器 3&#xff09;读取图像 4&#xff09;人脸检测 5&#xff09;关键点定位 6&#xff09;绘制轮廓线条 7&#xff09;展示结果 二、案例实现 1、完整代码 运…

【华为】静态NAT、动态NAT、NAPT、Easy IP、NAT Server

静态 NAT&#xff1a;将内网主机的私网 IP地址一对一映射到公网 IP 地址。动态 NAT&#xff1a;将内网主机的私有地址转换为公网地址池里面的地址。由于静态NAT严格地一对一进行地址映射&#xff0c;这就导致即便内网主机长时间离线或者不发送数据时&#xff0c;与之对应的公有…

Mac 电脑安装redis

1、首先检查电脑是否安装 brew 命令&#xff1a; #打开Mac自带的终端&#xff0c;输入下面命令 brew --version如下图&#xff0c;可以看到我的 brew 正常的&#xff0c;且对应版本是4.0.17-63-g32f2258 如果你的电脑执行上面命名报错&#xff1a;zsh: command not found: br…

一个很恶心但发顶会很牛的方向!【小样本学习+目标检测】

【小样本学习目标检测】致力于通过有限的标注样本实现高效的目标检测&#xff0c;以应对数据匮乏的挑战。这一领域的研究对于缩小人工智能与人类学习系统之间的差异、增强模型对新类别的适应能力、推动智能识别系统在实际场景中的应用具有重要意义。 为了帮助研究人员深入理解…

【可答疑】基于51单片机的智能衣柜(含仿真、代码、报告、演示视频等)

✨哈喽大家好&#xff0c;这里是每天一杯冰美式oh&#xff0c;985电子本硕&#xff0c;大厂嵌入式在职0.3年&#xff0c;业余时间做做单片机小项目&#xff0c;有需要也可以提供就业指导&#xff08;免费&#xff09;~ &#x1f431;‍&#x1f409;这是51单片机毕业设计100篇…

多进程编辑

使用父子进程完成两个文件的拷贝&#xff0c;父进程拷贝前一半&#xff0c;子进程拷贝后一半&#xff0c;两个进程同时进行 #include <myhead.h> int main(int argc, const char *argv[]) {//用于保存pid号pid_t pid -1;//创建子进程pid fork();//打印一下进程号print…

C语言 | Leetcode C语言题解之第491题非递减子序列

题目&#xff1a; 题解&#xff1a; int** ans; int ansSize; int* temp; int tempSize;void dfs(int cur, int last, int* nums, int numsSize, int** returnColumnSizes) {if (cur numsSize) {if (tempSize > 2) {ans[ansSize] malloc(sizeof(int) * tempSize);memcpy(…

oracle归档日志爆满问题处理

最近客户单位的oracle数据库出了问题&#xff0c;经常出现无法连接,报错提示 ORA-00257: archiver error, Connect internal only, until freed.&#xff0c;手动清除归档日志后可以恢复访问&#xff0c;但是过不了几天依旧会爆满&#xff0c;每日生成的归档日志很大。经过详细…

(K)MP有限状态自动机

模式匹配自动机 什么是有限状态自动机&#xff1f; 定义 n 个不同状态&#xff0c;记为 {1,2…n}&#xff0c;在状态 i 时输入 s&#xff0c;达到状态 j&#xff0c;记为 goto (i,s)j 对于字符串 s 而言&#xff0c;在一个状态 i 下输入一个字符 ch&#xff0c;也会达到一个指…

ssh连接慢的问题或zookeeper远程连接服务超时

问题原因&#xff1a; 在SSH登录过程中&#xff0c;服务器会通过反向DNS查找客户端的主机名&#xff0c;然后与登录的IP地址进行匹配&#xff0c;以验证登录的合法性。如果客户端的IP没有域名或DNS服务器响应缓慢&#xff0c;这可能导致SSH登录过慢。为了解决这个问题&#xf…

尤雨溪都打赏的虚拟列表组件,到底有多强

尤雨溪都打赏的虚拟列表组件&#xff0c;到底有多强&#xff1f; 在前端开发中&#xff0c;性能优化永远是绕不开的主题。今天就带你看看 vue-virtual-scroller&#xff0c;一款让你滚动页面时流畅得像火箭一样的 Vue 组件。本文将简单介绍这个组件的主要功能、技术特点&#x…

JavaWeb合集07-MyBatis

七、MyBatis MyBatis是一款优秀的持久层&#xff08;dao&#xff09;框架&#xff0c;用于简化JDBC的开发。 MyBatis本是Apache的一个开源项目iBatis, 2010年这个项目由apache迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。 官网&#xff1a;https://mybati…