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

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

相关文章:

centos7.9升级rockylinux8.8

前言 查看centos的版本 &#xff0c;我这台服务器是虚拟机,下面都是模拟实验 升级前一定要把服务器上配置文件&#xff0c;数据等进行备份 [rootlocalhost ~]#cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) [rootlocalhost ~]#uname -a Linux jenkins_ser…...

C++初阶(三)---C++入门(下)

目录 一、内联函数 1.内联函数的定义与底层机制 0x01.内联函数的定义 0x02.内联函数的底层机制 2.内联函数的优缺点 优点&#xff1a; 缺点&#xff1a; 3.内联函数的使用建议 4.内联函数的注意事项 二、auto关键字&#xff08;C11&#xff09; 1.代码示例 2.auto使…...

Linux--多路转接之epoll

上一篇:Linux–多路转接之select epoll epoll 是 Linux 下多路复用 I/O 接口 select/poll 的增强版本&#xff0c;它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统 CPU 利用率。它是 Linux 下多路复用 API 的一个选择&#xff0c;相比 select 和 poll&#xff0c…...

自动化工具Nico,从零开始干掉Appium,移动端自动化测试框架实现

这篇将用较短的篇幅给大家介绍我是如何实现iOS和Android的inspector&#xff08;元素审查工具&#xff09;的。 实现原理 为了更方便的显示UI界面&#xff0c;且更容易制作&#xff0c;我选择了使用web端来承载整个元素树展示。同时我选用Flask一次性梭哈前后端&#xff08;因…...

Fast CRC32

链接&#xff1a; Fast CRC32 Error Checking Real life data tends to get corrupted because machines (and humans) are never as reliable as we wish for. One efficient way is make sure your data wasnt unintendedly modifiied is to generate some kind of hash. T…...

生成一个带有二维数据和对应标签的螺旋形数据集(非线性可分数据集)的代码解析

def create_dataset():np.random.seed(1)m 400 # 数据量N int(m/2) # 每个标签的实例数D 2 # 数据维度X np.zeros((m,D)) # 数据矩阵Y np.zeros((m,1), dtypeuint8) # 标签维度a 4 for j in range(2):ix range(N*j,N*(j1))t np.linspace(j*3.12,(j1)*3.12,N) np.rando…...

PHP unset() 函数的作用

PHP 中的 unset() 函数用于销毁指定的变量。具体来说&#xff0c;它会解除变量名与其数据之间的关联&#xff0c;从而释放该变量所占用的内存。不过需要注意的是&#xff0c;unset() 并不是删除变量的内容&#xff0c;而是取消对变量名的引用。如果变量是数组中的某个元素或者对…...

长篇故事可视化方法Story-Adapter:能够生成更高质量、更具细腻交互的故事图像,确保每一帧都能准确地传达故事情节。

今天给大家介绍一个最新的长篇故事可视化方法Story-Adapter&#xff0c;它的工作原理可以想象成一个画家在创作一幅长画卷。首先&#xff0c;画家根据故事的文本提示画出初步的图像。这些图像就像是画卷的草图。接下来&#xff0c;画家会不断回顾这些草图&#xff0c;逐步添加细…...

C++基础面试题 | 什么是C++中的运算符重载?

文章目录 回答重点&#xff1a;示例&#xff1a; 运算符重载的基本规则和注意事项&#xff1a; 回答重点&#xff1a; C的运算符重载是指可以为自定义类型&#xff08;如类或结构体&#xff09;定义运算符的行为&#xff0c;使其像内置类型一样使用运算符。通过重载运算符&…...

深入 IDEA 字节码世界:如何轻松查看 .class 文件?

前言&#xff1a; 作为一名 Java 开发者&#xff0c;理解字节码对于优化程序性能、调试错误以及深入了解 JVM 运行机制非常重要。IntelliJ IDEA 作为最流行的开发工具之一&#xff0c;为开发者提供了查看 .class 文件字节码的功能。在本文中&#xff0c;我将带你一步步探索如何…...

NodeJS 利用代码生成工具编写GRPC

生成的 gRPC 代码优点 自动化和效率: 减少手动编码:生成代码自动处理了消息的序列化和反序列化、服务接口的定义等,减少了手动编码的工作量。一致性:生成的代码确保了客户端和服务器之间的一致性,避免了手动编码可能带来的错误。跨语言支持: 多语言兼容:gRPC 支持多种编…...

uni-app基础语法(一)

我们今天的学习目标 基础语法1. 创建新页面2.pages配置页面3.tabbar配置4.condition 启动模式配置 基础语法 1. 创建新页面 2.pages配置页面 属性类型默认值描述pathString配置页面路径styleObject配置页面窗口表现&#xff0c;配置项参考pageStyle 我们来通过style修改页面的…...

Linux:进程控制(三)——进程程序替换

目录 一、概念 二、使用 1.单进程程序替换 2.多进程程序替换 3.exec接口 4.execle 一、概念 背景 当前进程在运行的时候&#xff0c;所执行的代码来自于自己的源文件。使用fork创建子进程后&#xff0c;子进程执行的程序中代码内容和父进程是相同的&#xff0c;如果子进…...

LeetCode279:完全平方数

题目链接&#xff1a;279. 完全平方数 - 力扣&#xff08;LeetCode&#xff09; 代码如下 class Solution { public:int numSquares(int n) {vector<int> dp(n 1, INT_MAX);dp[0] 0;for(int i 1; i * i < n; i){for(int j i * i; j < n; j){dp[j] min(dp[j …...

python爬虫--某动漫信息采集

python爬虫--tx动漫 一、采集主页信息二、采集详情页信息三、代码供参考一、采集主页信息 略。 二、采集详情页信息 如上图所示,使用xpath提取详情页的标题、作者、评分、人气、评论人数等数据。 三、代码供参考 import csv import time import random import requests fr…...

使用Rollup.js快速开始构建一个前端项目

Rollup 是一个用于 JavaScript 项目的模块打包器&#xff0c;它将小块代码编译成更大、更复杂的代码&#xff0c;例如库或应用程序。Rollup 对代码模块使用 ES6 模块标准&#xff0c;它支持 Tree-shaking&#xff08;摇树优化&#xff09;&#xff0c;可以剔除那些实际上没有被…...

10.15学习

1.程序开发的步骤 定义程序的目标→设计程序→编写代码&#xff08;需要选择语言&#xff0c;一种语言对应一种编译器&#xff09;→编译→运行程序→测试和调试程序→维护和修改程序 2.ANSI/ISO C标准 1989年ANSI批准通过&#xff0c;1990年ISO批准通过&#xff0c;因此被称…...

mongodb-7.0.14分片副本集超详细部署

mongodb介绍&#xff1a; 是最常用的nosql数据库&#xff0c;在数据库排名中已经上升到了前六。这篇文章介绍如何搭建高可用的mongodb&#xff08;分片副本&#xff09;集群。 环境准备 系统系统 BC 21.10 三台服务器&#xff1a;192.168.123.247/248/249 安装包&#xff1a…...

C++运算出现整型溢出

考虑如下代码&#xff1a; int aINT_MAX; int b 1; long c ab; 这段代码没有编过&#xff01; 原因是a和b都是int型&#xff0c;相加之后会溢出。 请记住&#xff0c;c语言没有赋值&#xff0c;只有表达式&#xff0c;右侧会存在一个暂存的int保存ab的值&#xff0c;而明…...

LeetCode岛屿数量

题目描述 给你一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中岛屿的数量。 岛屿总是被水包围&#xff0c;并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外&#xff0c;你可以假设该网…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一&#xff09; 1. CSI-2层定义&#xff08;CSI-2 Layer Definitions&#xff09; 分层结构 &#xff1a;CSI-2协议分为6层&#xff1a; 物理层&#xff08;PHY Layer&#xff09; &#xff1a; 定义电气特性、时钟机制和传输介质&#xff08;导线&#…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解&#xff0c;适合用作学习或写简历项目背景说明。 &#x1f9e0; 一、概念简介&#xff1a;Solidity 合约开发 Solidity 是一种专门为 以太坊&#xff08;Ethereum&#xff09;平台编写智能合约的高级编…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

是否存在路径(FIFOBB算法)

题目描述 一个具有 n 个顶点e条边的无向图&#xff0c;该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序&#xff0c;确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数&#xff0c;分别表示n 和 e 的值&#xff08;1…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!

简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求&#xff0c;并检查收到的响应。它以以下模式之一…...

基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解

JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用&#xff0c;结合SQLite数据库实现联系人管理功能&#xff0c;并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能&#xff0c;同时可以最小化到系统…...