rv1126-rv1109-openssh
这是一个工具,可以通过ssh远程登录来操作,非常逆天!
于是rv1109代码自身自带有openssh
所以只需要打开config即可
diff --git a/buildroot/configs/rockchip_rv1126_rv1109_spi_nand_defconfig b/buildroot/configs/rockchip_rv1126_rv1109_spi_nand_defconfig
index f843b07cc..feabc8465 100755
--- a/buildroot/configs/rockchip_rv1126_rv1109_spi_nand_defconfig
+++ b/buildroot/configs/rockchip_rv1126_rv1109_spi_nand_defconfig
@@ -68,3 +68,9 @@ BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y# BR2_TARGET_ROOTFS_UBIFS_LEBSIZE is reset to default# BR2_TARGET_ROOTFS_UBIFS_OPTS is reset to defaultBR2_TARGET_ROOTFS_UBI_SQUASHFS=y
+BR2_PACKAGE_OPENSSH=y
+BR2_PACKAGE_OPENSSH_CLIENT=y
+BR2_PACKAGE_OPENSSH_SERVER=y
+BR2_PACKAGE_OPENSSH_ENABLE_ROOT_LOGIN=y
+BR2_PACKAGE_OPENSSH_KEY_UTILS=y
+BR2_PACKAGE_OPENSSH_LONBON=y
然后就可以看到out目录下面生成了scp、ssh、ssh-add、ssh-keygen、ssh-keyscan等
然后要把密钥这些文件放进去
diff --git a/buildroot/fs/common.mk b/buildroot/fs/common.mk
index 25ce3cbed..4f00960a1 100755
--- a/buildroot/fs/common.mk
+++ b/buildroot/fs/common.mk
@@ -35,7 +35,7 @@ ROOTFS_USERS_TABLES = $(call qstrip,$(BR2_ROOTFS_USERS_TABLES))ROOTFS_FULL_DEVICES_TABLE = $(FS_DIR)/full_devices_table.txtROOTFS_FULL_USERS_TABLE = $(FS_DIR)/full_users_table.txt
-
+OPENSSH_DIR_FILES = $(TARGET_DIR)/../../../package/openssh2ROOTFS_COMMON_NAME = rootfs-commonROOTFS_COMMON_TYPE = rootfsROOTFS_COMMON_DEPENDENCIES = \
@@ -172,6 +172,11 @@ $$(BINARIES_DIR)/$$(ROOTFS_$(2)_FINAL_IMAGE_NAME): $$(ROOTFS_$(2)_DEPENDENCIES)mkdir -p $(TARGET_DIR)/mnt/romkdir -p $(TARGET_DIR)/mnt/rwmkdir -p $(TARGET_DIR)/mnt/rwfs
+ifeq ($(BR2_PACKAGE_OPENSSH_LONBON),y)
+ mkdir -p $(TARGET_DIR)/libexe
+ cp -a $(OPENSSH_DIR_FILES)/libexe/* $(TARGET_DIR)/libexe
+ cp -a $(OPENSSH_DIR_FILES)/etc/ssh/* $(TARGET_DIR)/etc/ssh
+endif
运行后会打包进跟文件系统
就可以看到我打包的路径
然后就完成了,openssh就这么简单,里面是密钥这些文件
==============================测试openssh==================================
//-i 指定密钥文件ssh -i ./etc/ssh/ssh_host_rsa_key sdk@192.168.1.149
//登录我的ubuntu(远程登录设备终端)
// ssh -i [密钥] [用户名]@[IP]
exit //注销scp -i ./etc/ssh/ssh_host_rsa_key bin/mv sdk@192.168.1.149:work/rk
//cp文件到远程(拷贝本地文件到远程设备)
// scp -i [密钥] [文件] [用户名]@[IP]scp -i ./etc/ssh/ssh_host_rsa_key sdk@192.168.1.149:work/rk/mv ./mnt/rw
//cp文件到本地(拷贝远程设备中的文件到本地)
// scp -i [密钥] [用户名]@[IP][文件] [本地目录]
远程登录设备终端:
拷贝本地文件到远程设备:
拷贝远程设备中的文件到本地:
===============================生成密钥=====================================
要在本地 Windows 系统上生成 OpenSSH 格式的私钥,可以使用 ssh-keygen 命令。请按照以下步骤进行操作:打开命令提示符或 PowerShell。你可以在 Windows 上使用内置的命令提示符或 Windows PowerShell。使用 ssh-keygen 命令生成密钥。以下是一些常用选项:-t 选项:指定密钥类型,通常选择 rsa 或 ed25519。
-b 选项:指定密钥的位数。一般来说,2048 位或更多是安全的。例如,-b 2048。
-f 选项:指定生成的密钥文件的名称和路径。如果未指定路径,则会在当前用户的主目录中创建默认路径。
例如,生成一个 2048 位的 RSA 密钥并将其保存到用户主目录下的 .ssh 文件夹中,可以运行以下命令:shellssh-keygen -t rsa -b 2048在生成密钥时,你将被要求指定文件保存位置和设置一个密码。你可以选择将密钥保存在默认位置(通常是 C:\Users\<YourUsername>\.ssh)或者选择其他位置。如果你选择将密码留空,则私钥将不会被加密。完成后,将在指定的文件夹中生成两个文件:id_rsa(私钥)和 id_rsa.pub(公钥)。私钥文件包含 .pem 扩展名。如果你想要在 Linux 服务器上使用此密钥对进行身份验证,你需要将生成的公钥(.pub 文件)复制到服务器的 ~/.ssh/authorized_keys 文件中。你可以使用 SSH 客户端连接到服务器,并将公钥上传到服务器,或者将公钥的内容手动复制到服务器上的 authorized_keys 文件中。现在,你可以在 Linux 服务器上使用生成的私钥文件进行 SSH 连接,例如:shellssh -i /path/to/private/keyfile username@hostname其中 /path/to/private/keyfile 是生成的私钥文件的路径,username 是你在服务器上的用户名,hostname 是服务器的主机名或 IP 地址。请注意,生成的私钥文件包含私钥信息,因此应谨慎保存,并不要将其与他人分享。公钥文件(.pub)可以安全地与其他人分享,并添加到远程服务器的 authorized_keys 文件中,以实现 SSH 密钥身份验证。
==================================最后全部补丁===============================
diff --git a/buildroot/configs/rockchip_rv1126_rv1109_spi_nand_defconfig b/buildroot/configs/rockchip_rv1126_rv1109_spi_nand_defconfig
index f843b07cc..feabc8465 100755
--- a/buildroot/configs/rockchip_rv1126_rv1109_spi_nand_defconfig
+++ b/buildroot/configs/rockchip_rv1126_rv1109_spi_nand_defconfig
@@ -68,3 +68,9 @@ BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y# BR2_TARGET_ROOTFS_UBIFS_LEBSIZE is reset to default# BR2_TARGET_ROOTFS_UBIFS_OPTS is reset to defaultBR2_TARGET_ROOTFS_UBI_SQUASHFS=y
+BR2_PACKAGE_OPENSSH=y
+BR2_PACKAGE_OPENSSH_CLIENT=y
+BR2_PACKAGE_OPENSSH_SERVER=y
+BR2_PACKAGE_OPENSSH_ENABLE_ROOT_LOGIN=y
+BR2_PACKAGE_OPENSSH_KEY_UTILS=y
+BR2_PACKAGE_OPENSSH_LONBON=y
\ No newline at end of file
diff --git a/buildroot/package/openssh/Config.in b/buildroot/package/openssh/Config.in
old mode 100644
new mode 100755
index 7c69c0acb..f6d08ba2c
--- a/buildroot/package/openssh/Config.in
+++ b/buildroot/package/openssh/Config.in
@@ -41,4 +41,12 @@ config BR2_PACKAGE_OPENSSH_KEY_UTILShelpKey utilities: ssh-keygen, ssh-keyscan.+config BR2_PACKAGE_OPENSSH_LONBON
+ bool "openssh2"
+ default y
+ help
+ A free version of the SSH protocol suite of network
+ connectivity tools. The standard 'ssh', 'sshd', 'scp', and
+ friends.version4.6p1.
+endif
diff --git a/buildroot/package/openssh/openssh.mk b/buildroot/package/openssh/openssh.mk
old mode 100644
new mode 100755
index e2599e853..5aef23a58
--- a/buildroot/package/openssh/openssh.mk
+++ b/buildroot/package/openssh/openssh.mk
@@ -13,6 +13,9 @@ OPENSSH_SITE = http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portableOPENSSH_LICENSE = BSD-3-Clause, BSD-2-Clause, Public DomainOPENSSH_LICENSE_FILES = LICENCE+OPENSSH_DIR = $(TARGET_DIR)/../../../package/openssh
+OPENSSH_DKDIR = mkdir
+OPENSSH_CP = mkdir# patch touching m4/openssh.m4OPENSSH_AUTORECONF = YES@@ -142,4 +145,10 @@ endefOPENSSH_POST_INSTALL_TARGET_HOOKS += OPENSSH_ENABLE_ROOT_LOGINendif+_all:
+ifeq ($(BR2_PACKAGE_OPENSSH_LONBON),y)
+ $(OPENSSH_DKDIR) -p $(TARGET_DIR)/libexe
+ $(OPENSSH_CP) -a $(OPENSSH_DIR)/libexe/* $(TARGET_DIR)/libexe
+ $(OPENSSH_cp) -a $(OPENSSH_DIR)/etc/ssh/* $(TARGET_DIR)/etc/ssh
+endif$(eval $(autotools-package))
================================frpc 穿透===================================
1.重启android设备进入先创建出几个key
mkdir -p /data/ssh
chmod 700 /data/ssh
cd /data/ssh/
ssh-keygen -t rsa -f id_rsa -N “自定义秘钥”
//这里生成id_rsa和id_rsa.pub文件2.将我们电脑上的公钥push进去
//注意,authorized_keys是pc客户端的公钥文件
adb push id_rsa.pub /data/ssh/authorized_keys3.更改sshd服务配置文件/system/etc/ssh/sshd_config
#Port 22改为Port 22
#PermitRootLogin yes改为PermitRootLogin without-password
#RSAAuthentication yes改为RSAAuthentication yes
#PubkeyAuthentication yes改为PubkeyAuthentication yes
PasswordAuthentication no改为#PasswordAuthentication no
#PermitEmptyPasswords no改为PermitEmptyPasswords yes
#ChallengeResponseAuthentication yes改为ChallengeResponseAuthentication yes
#UsePrivilegeSeparation yes改为UsePrivilegeSeparation no4.启动ssh服务
#android系统内启动服务
start-ssh
//不中断的在后台运行:nohup start-ssh &5.selinux的安全策略配置#5.1、修改device/rockchip/common/sepolicy/file_contexts 添加
/system/bin/start-ssh u:object_r:start-ssh_exec:s0#5.2、修改device/rockchip/common/sepolicy/start-ssh.te添加
type start-ssh, domain;
type start-ssh_exec, exec_type, file_type;init_daemon_domain(start-ssh)
allow start-ssh start-ssh:tcp_socket { read write getopt getattr setopt accept create bind listen name_bind node_bind };
allow start-ssh fwmarkd_socket:sock_file { write };
allow start-ssh netd:unix_stream_socket { connectto };
allow start-ssh start-ssh:fd { use };
allow start-ssh port:tcp_socket { name_bind };
allow start-ssh node:tcp_socket { node_bind };
allow start-ssh system_file:file { execute_no_trans };
allow start-ssh start-ssh:capability { setgid net_raw setuid dac_override net_bind_service };
allow start-ssh start-ssh:udp_socket { create };
allow start-ssh system_data_file:file { read open getattr create write };
allow start-ssh system_data_file:dir { read write open getattr add_name };
allow start-ssh rootfs:lnk_file { getattr };
allow start-ssh shell_exec:file { getattr execute read open execute_no_trans };
allow start-ssh devpts:chr_file { open ioctl getattr read write setattr getattr };#5.3、修改system/sepolicy/domain.te
neverallow {-system_server-system_app-init
+ -start-ssh-installd # for relabelfrom and unlink, check for this in explicit neverallow} system_data_file:file no_w_file_perms;# do not grant anything greater than r_file_perms and relabelfrom unlink6.编译运行烧录设备
7.SSH连接(可以使用xshell进行连接默认端口22)
运行起来后,用电脑连接,连接进去后直接就是root用户
ssh root@192.168.0.1
运行ok时的/data/ssh目录
rk3399_box:/data/ssh # ls -l
total 56
-rw------- 1 root root 412 2021-04-13 06:51 authorized_keys
-rw------- 1 root root 668 2021-04-13 06:51 ssh_host_dsa_key
-rw------- 1 root root 604 2021-04-13 06:51 ssh_host_dsa_key.pub
-rw------- 1 root root 1675 2021-04-13 06:51 ssh_host_rsa_key
-rw------- 1 root root 396 2021-04-13 06:51 ssh_host_rsa_key.pub
-rw------- 1 root root 3342 2021-04-13 06:51 sshd_config8.收尾工作a、把启动服务做进固件里面去
b、然后将/data/ssh/里面的文件全部拷贝出来,编译的时候拷贝到system/etc/ssh/目录,开机再拷贝到data/ssh目录,并设置好相关的权限
修改:rk3399_android7.1/device/rockchip/rk3399/init.rk3399.rc# For ssh 开机拷贝配置文件mkdir /data/sshchmod 777 /data/sshcopy /system/etc/ssh/authorized_keys /data/ssh/authorized_keyscopy /system/etc/ssh/ssh_host_dsa_key /data/ssh/ssh_host_dsa_keycopy /system/etc/ssh/ssh_host_dsa_key.pub /data/ssh/ssh_host_dsa_key.pubcopy /system/etc/ssh/ssh_host_ecdsa_key /data/ssh/ssh_host_ecdsa_keycopy /system/etc/ssh/ssh_host_ecdsa_key.pub /data/ssh/ssh_host_ecdsa_key.pubcopy /system/etc/ssh/ssh_host_rsa_key /data/ssh/ssh_host_rsa_keycopy /system/etc/ssh/ssh_host_rsa_key.pub /data/ssh/ssh_host_rsa_key.pubcopy /system/etc/ssh/sshd_config /data/ssh/sshd_configmkdir /data/ssh/emptychmod 600 /data/ssh/emptychmod 600 /data/ssh/authorized_keyschmod 600 /data/ssh/ssh_host_dsa_keychmod 600 /data/ssh/ssh_host_dsa_key.pubchmod 600 /data/ssh/ssh_host_ecdsa_keychmod 600 /data/ssh/ssh_host_ecdsa_key.pubchmod 600 /data/ssh/ssh_host_rsa_keychmod 600 /data/ssh/ssh_host_rsa_key.pubchmod 600 /data/ssh/sshd_config#open ssh 开机启动ssh服务
service daemonssh /system/bin/start-sshclass mainuser rootgroup root修改:device/rockchip/rk3399/rk3399_box.mk 添加
PRODUCT_COPY_FILES += \$(call find-copy-subdir-files,*,$(LOCAL_PATH)/ssh,system/etc/ssh)第一阶段完工,现在已经完全能在局域网内远程ssh安卓设备
二、内网穿透
这里需要到自己购买服务器,或者使用花生壳之类的,不建议使用免费,存在安全问题,最好自己搭建;
代码:FRP开源项目
服务器:阿里云
文档:https://gofrp.org/docs/setup/
1、下载源码
https://github.com/fatedier/frp/releases
根据云服务器、安卓的cpu架构选择对应的包下载;
(客户端)RK3399 Cpu架构选:frp_0.36.2_linux_arm64.tar.gz
(服务端)阿里云服务器CPU架构选:frp_0.36.2_linux_amd64.tar.gz
2、安装
服务端:
#home目录下创建frp目录并拷贝源码到此目录,一定要修改执行权限
[root@ frp]# ll
total 22628
-rwxrwxrwx 1 root root 9953280 Mar 18 11:24 frpc
-rwxrwxrwx 1 root root 9433 Mar 18 11:26 frpc_full.ini
-rwxrwxrwx 1 root root 126 Mar 18 11:26 frpc.ini
-rwxrwxrwx 1 root root 13172736 Mar 18 11:24 frps
-rwxrwxrwx 1 root root 5051 Mar 18 11:26 frps_full.ini
-rwxrwxrwx 1 root root 26 Mar 18 11:26 frps.ini
-rw-rw-r-- 1 root root 11358 Mar 18 11:26 LICENSE
drwxrwxr-x 2 root root 4096 Apr 13 14:19 systemd修改配置,在具有公网 IP 的机器上部署 frps,修改 frps.ini 文件,这里使用了最简化的配置,设置了 frp 服务器用户接收客户端连接的端口:
[common]
bind_port = 7000启动服务
./frps -c ./frps.ini客户端(RK3399):
在system目录下创建frpc并复制代码到该目录下,一定要修改执行权限
rk3399_box:/system/frpc # ls -l
total 42200
__bionic_open_tzdata_path: ANDROID_DATA not set!
__bionic_open_tzdata_path: ANDROID_ROOT not set!
-rw-r--r-- 1 root root 11358 2021-03-19 06:05 LICENSE
-rwxrwxrwx 1 root root 9240576 2021-03-19 06:04 frpc
-rwxrwxrwx 1 root root 130 2021-04-13 06:34 frpc.ini
-rwxrwxrwx 1 root root 9433 2021-03-19 06:05 frpc_full.ini
-rw-r--r-- 1 root root 12320768 2021-03-19 06:04 frps
-rw-r--r-- 1 root root 26 2021-03-19 06:05 frps.ini
-rw-r--r-- 1 root root 5051 2021-03-19 06:05 frps_full.ini
drwxrwxrwx 2 root root 4096 2021-04-13 06:41 systemd修改配置:在需要被访问的内网机器上(SSH 服务通常监听在 22 端口)部署 frpc,修改 frpc.ini 文件,假设 frps 所在服务器的公网 IP 为 x.x.x.x:
[common]
server_addr = x.x.x.x 你的阿里云ip地址
server_port = 7000
tls_enable = true //解决内网防火墙问题导致无法连接服务器[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000[adb]
type = tcp
local_ip = 127.0.0.1
local_port = 5555
remote_port = 8555local_ip 和 local_port 配置为本地需要暴露到公网的服务地址和端口。remote_port 表示在 frp 服务端监听的端口,访问此端口的流量将会被转发到本地服务对应的端口。
启动客户端:
./frpc -c ./frpc.ini
最后:通过xshell连接服务器ip,协议为SSH,端口号为6000,5555为安卓adb调试网络端口完美连上Rk3399(你的手机)
相关文章:

rv1126-rv1109-openssh
这是一个工具,可以通过ssh远程登录来操作,非常逆天! 于是rv1109代码自身自带有openssh 所以只需要打开config即可 diff --git a/buildroot/configs/rockchip_rv1126_rv1109_spi_nand_defconfig b/buildroot/configs/rockchip_rv1126_rv1109…...
MySQL中json类型,你使用过吗
在最近的项目开发过程中,遇到了消息发送内容以Map形式存储的情况。最初的解决方案是将对象转换为字符串,并存储在MySQL的varchar(3000)字段中。然而,由于对存储空间的限制,不得不寻找其他解决方案。在调研中发现,从MyS…...

MATLAB 状态空间设计 —— LQG/LQR 和极点配置算法
系列文章目录 文章目录 系列文章目录前言一、相关函数 —— LQG/LQR 和极点配置算法1.1 LQR —— lqr 函数1.1.1 函数用法1.1.2 举例1.1.2.1 倒摆模型的 LQR 控制 1.2 LQG —— lqg() 函数1.2.1 函数用法1.2.2 举例 1.3 极点配置 —— place() 函数1.3.1 函数用法1.3.2 示例1.3…...

杭州-区块链前瞻性论坛邀请函
2023密码与安全前瞻性论坛邀请函 生成合法节点或非法节点,测试共识协议...

ElasticSearch学习篇6_ES实践与Lucene对比及原理分析技术分享小记
前言 QBM、MFS的试题检索、试题查重、公式转换映射等业务场景以及XOP题库广泛使用搜索中间件,业务场景有着数据量大、对内容搜索性能要求高等特点,其中XOP题库数据量更是接近1亿,对检索性能以及召回率要求高。目前QBM、MFS使用的搜索中间件是…...

mysql练习1
-- 1.查询出部门编号为BM01的所有员工 SELECT* FROMemp e WHEREe.deptno BM01; -- 2.所有销售人员的姓名、编号和部门编号。 SELECTe.empname,e.empno,e.deptno FROMemp e WHEREe.empstation "销售人员";-- 3.找出奖金高于工资的员工。 SELECT* FROMemp2 WHE…...

【2017年数据结构真题】
请设计一个算法,将给定的表达式树(二叉树)转换成等价的中缀表达式(通过括号反映次序),并输出。例如,当下列两棵表达式树作为算法的输入时: 输出的等价中缀表达式分别为(ab)(a(-d)) 和…...

神辅助 Cursor 编辑器,加入 GPT-4 让编码更轻松!
分类 互联网 在 ChatGPT 问世之前,我们的编码方式很多时候都是面向搜索引擎编码,需要不断地进行搜索,然后复制粘贴,俗称复制粘贴工程师。 但是,随着ChatGPT的出现,这一切将彻底改变。 ChatGPT 是一种基于…...

解决Qt5.13.0无MySQL驱动问题
一、前言 由于Qt5.12.3是最后提供mysql数据库插件的版本,往后的版本需要自行编译对应的mysql数据库插件,官方安装包不再提供。使用高版本的Qt就需要自行编译mysql驱动。 若没有编译在QT中调用Qsqldatabase库连接mysql时,提示出现如下问题&a…...

YOLOv8改进 | 如何在网络结构中添加注意力机制、C2f、卷积、Neck、检测头
一、本文介绍 本篇文章的内容是在大家得到一个改进版本的C2f一个新的注意力机制、或者一个新的卷积模块、或者是检测头的时候如何替换我们YOLOv8模型中的原有的模块,从而用你的模块去进行训练模型或者检测。因为最近开了一个专栏里面涉及到挺多改进的地方ÿ…...
记录一个困难
Mysql加插件 create table tb_xuesheng1 as select * from tb_xuesheng; 会报如下错误 SQL 错误 [3185] [HY000]: Cant find master key from keyring, please check in the server log if a keyring is loaded and initialized successfully.当我去搜寻答案网上都说缺少插件…...

Linux 进程管理 实时调度类及SMP和NUMA
文章目录 一、 实时调度类分析1.1 实时调度实体sched_rt_entity数据结构1.2 实时调度类rt_sched_class数据结构1.3 实时调度类功能函数 二、SMP和NUMA2.1 SMP(多对称处理器结构,UMA)2.2 NUMA(非一致内存访问结构)2.3 C…...

线性表--链表-1
文章目录 主要内容一.链表练习题1.设计一个递归算法,删除不带头结点的单链表 L 中所有值为 X 的结点代码如下(示例): 2.设 L为带头结点的单链表,编写算法实现从尾到头反向输出每个结点的值代码如下(示例): …...

WPF小知识
在编写WPF程序遇到一些小问题,所以记录起来,查其他方便。 Label自动换行 网上搜的都不能自动换行,发现使用Run 就可以。在脚本中直接调用labTip.Text进行赋值就可以了。 <Label Foreground"#FF9E9E9E" FontSize"16"…...

坐标系下的运动旋量转换
坐标系下的运动旋量转换 文章目录 坐标系下的运动旋量转换前言一、运动旋量物体运动旋量空间运动旋量 二、伴随变换矩阵三、坐标系下运动旋量的转换四、力旋量五、总结参考资料 前言 对于刚体而言,其角速度可以写为 ω ^ θ ˙ \hat {\omega} \dot \theta ω^θ˙&…...

Android Termux安装MySQL,通过内网穿透实现公网远程访问
🔥博客主页: 小羊失眠啦. 🔖系列专栏: C语言、Linux、Cpolar ❤️感谢大家点赞👍收藏⭐评论✍️ 文章目录 前言1.安装MariaDB2.安装cpolar内网穿透工具3. 创建安全隧道映射mysql4. 公网远程连接5. 固定远程连接地址 前…...

Python in Visual Studio Code 2023年11月发布
排版:Alan Wang 我们很高兴地宣布 Visual Studio Code 的 Python 和 Jupyter 扩展将于 2023 年 11 月发布! 此版本包括以下公告: 改进了使用 Shift Enter 在终端中运行当前行弃用内置 linting 和格式设置功能对 Python linting 扩展的改进重…...

算法通关村——数字中的统计、溢出、进制转换处理模板
数字与数学基础问题 1、数字统计 1.1、符号统计 LeetCode1822. 给定一个数组,求所有元素的乘积的符号,如果最终答案是负的返回-1,如果最终答案是正的返回1,如果答案是0返回0. 这题其实只用看数组中0和负数的个数就好了&#x…...
ESP01S通过心知天气获取天气和时间信息
ESP01S通过心知天气获取天气和时间信息 设置STA模式 ATCWMODE1 连接wifi ATCWJAP"wifi名称","wifi密码"3.设置时间地域 ATCIPSNTPCFG1,8获取时间 ATCIPSNTPTIME?返回: CIPSNTPTIME:Fri Nov 17 17:09:22 2023 OK连接心知服务器 ATCIPSTAR…...
docker容器内core dumped却找不到core文件
1. 检查ulimit, 使用命令: ulimit -a rootb7c19f6da1e3:/usr# ulimit -a core file size (blocks, -c) unlimited data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...
C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...
探索Selenium:自动化测试的神奇钥匙
目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...