20230427配置cv1826的buildroot在串口免登录的方法二

news2025/1/21 20:24:18

20230427配置cv1826的buildroot在串口免登录的方法二
2023/4/27 16:46


进度:可以拿掉密码,但是无法拿掉用户名!


1、
Z:\buildroot1\buildroot\configs\cvitek_cv182x_defconfig
BR2_TOOLCHAIN_EXTERNAL_GCC_6=y                     
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6=y               
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y              
# BR2_TOOLCHAIN_EXTERNAL_HAS_SSP_STRONG is not set 
BR2_TOOLCHAIN_EXTERNAL_CXX=y                       
BR2_TARGET_GENERIC_HOSTNAME="yd-dictpen"           
BR2_TARGET_GENERIC_ISSUE="Welcome to YD Buildroot" 
# BR2_INIT_NONE is not set                         
BR2_TARGET_GENERIC_ROOT_PASSWD="root"  
           
BR2_ROOTFS_OVERLAY="board/cvitek/cv1826/overlay-32"
BR2_INIT_BUSYBOX=y                                 
BR2_PACKAGE_BUSYBOX=y                              
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y         
BR2_PACKAGE_INITSCRIPTS=y                          
修改为:
BR2_TOOLCHAIN_EXTERNAL_GCC_6=y                     
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6=y               
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y              
# BR2_TOOLCHAIN_EXTERNAL_HAS_SSP_STRONG is not set 
BR2_TOOLCHAIN_EXTERNAL_CXX=y                       
BR2_TARGET_GENERIC_HOSTNAME="yd-dictpen"           
BR2_TARGET_GENERIC_ISSUE="Welcome to YD Buildroot" 
# BR2_INIT_NONE is not set                         
BR2_TARGET_GENERIC_ROOT_PASSWD=""                  
BR2_ROOTFS_OVERLAY="board/cvitek/cv1826/overlay-32"
BR2_INIT_BUSYBOX=y                                 
BR2_PACKAGE_BUSYBOX=y                              
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y         
BR2_PACKAGE_INITSCRIPTS=y                          

                                                                               
LOG信息:
Number  Start   End     Size    File system  Name    Flags                     
 1      4194kB  12.6MB  8389kB               BOOT    msftdata                  
 2      12.6MB  13.1MB  524kB                MISC    msftdata                  
 3      13.1MB  13.6MB  524kB                PIC     msftdata                  
 4      13.6MB  13.8MB  131kB                ENV     msftdata                  
 5      13.8MB  559MB   545MB   ext4         ROOTFS  msftdata                  
 6      559MB   601MB   41.9MB               SYSTEM  msftdata                  
 7      601MB   3673MB  3072MB  ext4         DATA    msftdata                  
                                                                               
e2fsck 1.46.2 (28-Feb-2021)                                                    
CFG: clean, 15/960 files, 2549/2551 blocks                                     
resize2fs 1.46.2 (28-Feb-2021)                                                 
Filesystem at /dev/mmcblk0p7 is mounted on /mnt; on-line resizing required     
old_desc_blocks = 1, new_desc_blocks = 2                                       
The filesystem on /dev/mmcblk0p7 is now 7488219 (4k) blocks long.              
                                                                               
Populating /dev using udev: done                                               
Saving random seed: OK                                                         
Starting system message bus: done                                              
Starting bluetoothd: OK                                                        
Starting network: OK                                                           
Starting wlan0: ifconfig: SIOCGIFFLAGS: No such device                         
Successfully initialized wpa_supplicant                                        
Could not read interface wlan0 flags: No such device                           
nl80211: Driver does not support authentication/association or connect commands
nl80211: deinit ifname=wlan0 disabled_11b_rates=0                              
Could not read interface wlan0 flags: No such device                           
wlan0: Failed to initialize driver interface                                   
Starting adbd: udhcpc: SIOCGIFINDEX: No such device                            
0 file(s)                                                                      
2 in ep                                                                        
1 out ep                                                                       
1 file(s)                                                                      
3 in ep                                                                        
2 out ep                                                                       
2 file(s)                                                                      
OK                                                                             
install_listener('tcp:5037','*smartsocket*')                                   
Starting MCU: load mcu fw: /lib/firmware/mercury_mcu_fw.bin                    
size = 7066                                                                    
WARNING: Logging before InitGoogleLogging() is written to STDERR               
I0101 00:00:05.430665   339 server.cpp:442] MTP server starting...             
done                                                                           
                                                                               
Welcome to YD Buildroot                                                        
yd-dictpen login: root                                                         
#                                                                              
#                                                                              
#                                                                              


如果输入密码不是root就会被要求输入密码:
Welcome to YD Buildroot
yd-dictpen login:      
Welcome to YD Buildroot
yd-dictpen login: 1    
Password:              
Login incorrect        
yd-dictpen login: root 

#                      
#                      
#      

               


2、在menuconfig中确认root的密码被拿掉了!
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/buildroot1$ cd buildroot/
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/buildroot1/buildroot$ 
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/buildroot1/buildroot$ make menuconfig


  x x        Root FS skeleton (default target skeleton)  --->                       x x  
  x x    (yd-dictpen) System hostname                                               x x  
  x x    (Welcome to YD Buildroot) System banner                                    x x  
  x x        Passwords encoding (sha-256)  --->                                     x x  
  x x        Init system (BusyBox)  --->                                            x x  
  x x        /dev management (Dynamic using devtmpfs + eudev)  --->                 x x  
  x x    (system/device_table.txt) Path to the permission tables                    x x  
  x x    [ ] support extended attributes in device tables                           x x  
  x x    [ ] Use symlinks to /usr for /bin, /sbin and /lib                          x x  
  x x    [*] Enable root login with password                                        x x  
  x x    (root) Root password                                                       x x  
  x x        /bin/sh (busybox' default shell)  --->                                 x x  

  x x    [*] Run a getty (login prompt) after boot  --->                            x x  
  x x    [*] remount root filesystem read-write during boot                         x x  
  x x    ()  Network interface to configure through DHCP                            x x  
  x x    (/bin:/sbin:/usr/bin:/usr/sbin) Set the system's default PATH              x x  
  x x    [*] Purge unwanted locales                                                 x x  
  x x    (C en_US) Locales to keep                                                  x x  
  x x    ()  Generate locale data                                                   x x  
  x x    [ ] Enable Native Language Support (NLS)                                   x x  
  x x    -*- Install timezone info                                                  x x  
  x x    (default) timezone list                                                    x x  
  x x    (Etc/UTC) default local time                                               x x  
  x x    ()  Path to the users tables                                               x x  
  x x    (board/cvitek/cv1826/overlay-32) Root filesystem overlay directories       x x  
  x x    ()  Custom scripts to run before creating filesystem images                x x  
  x x    ()  Custom scripts to run inside the fakeroot environment                  x x  
  x x    ()  Custom scripts to run after creating filesystem images                 x x  


修改为:
  x x        Root FS skeleton (default target skeleton)  --->                       x x  
  x x    (yd-dictpen) System hostname                                               x x  
  x x    (Welcome to YD Buildroot) System banner                                    x x  
  x x        Passwords encoding (sha-256)  --->                                     x x  
  x x        Init system (BusyBox)  --->                                            x x  
  x x        /dev management (Dynamic using devtmpfs + eudev)  --->                 x x  
  x x    (system/device_table.txt) Path to the permission tables                    x x  
  x x    [ ] support extended attributes in device tables                           x x  
  x x    [ ] Use symlinks to /usr for /bin, /sbin and /lib                          x x  
  x x    [*] Enable root login with password                                        x x  
  x x    ()    Root password                                                        x x  
  x x        /bin/sh (busybox' default shell)  --->                                 x x  

  x x    [*] Run a getty (login prompt) after boot  --->                            x x  
  x x    [*] remount root filesystem read-write during boot                         x x  
  x x    ()  Network interface to configure through DHCP                            x x  
  x x    (/bin:/sbin:/usr/bin:/usr/sbin) Set the system's default PATH              x x  
  x x    [*] Purge unwanted locales                                                 x x  
  x x    (C en_US) Locales to keep                                                  x x  
  x x    ()  Generate locale data                                                   x x  
  x x    [ ] Enable Native Language Support (NLS)                                   x x  
  x x    -*- Install timezone info                                                  x x  
  x x    (default) timezone list                                                    x x  
  x x    (Etc/UTC) default local time                                               x x  
  x x    ()  Path to the users tables                                               x x  
  x x    (board/cvitek/cv1826/overlay-32) Root filesystem overlay directories       x x  
  x x    ()  Custom scripts to run before creating filesystem images                x x  
  x x    ()  Custom scripts to run inside the fakeroot environment                  x x  
  x x    ()  Custom scripts to run after creating filesystem images                 x x  
  x x                                                                               x x  
  x x                                                                               x x  


http://e.betheme.net/article/show-999739.aspx?action=onClick
参考博客:                                                                              
Buildroot根文件系统权限表、用户表、设备管理                                             
参考手册:buildroot手册                                                                 
在 buildroot 中,默认的 root 用户,可以使用 make menuconfig 来配置;密码在下面菜单设置;
System configuration  --->()    Root password                                           


3、继续修改:
BR2_TOOLCHAIN_EXTERNAL_GCC_6=y                     
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6=y               
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y              
# BR2_TOOLCHAIN_EXTERNAL_HAS_SSP_STRONG is not set 
BR2_TOOLCHAIN_EXTERNAL_CXX=y                       
#BR2_TARGET_GENERIC_HOSTNAME="yd-dictpen"          
#BR2_TARGET_GENERIC_ISSUE="Welcome to YD Buildroot"
# BR2_INIT_NONE is not set                         
BR2_TARGET_GENERIC_ROOT_PASSWD=""        
         
BR2_ROOTFS_OVERLAY="board/cvitek/cv1826/overlay-32"
BR2_INIT_BUSYBOX=y                                 
BR2_PACKAGE_BUSYBOX=y                              
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y         
BR2_PACKAGE_INITSCRIPTS=y                          


LOG发现还是有用户名,密码已经被拿掉了!
Welcome to Buildroot 
buildroot login: root

#                    
#                    


可能会用到的文件:
Z:\buildroot1\buildroot\package\sysvinit\inittab
# /etc/inittab
#
# This inittab is a basic inittab sample for sysvinit, which mimics
# Buildroot's default inittab for BusyBox.
id:3:initdefault:

si0::sysinit:/bin/mount -t proc proc /proc
si1::sysinit:/bin/mount -o remount,rw /
si2::sysinit:/bin/mkdir -p /dev/pts /dev/shm
si3::sysinit:/bin/mount -a
si4::sysinit:/sbin/swapon -a
si5::sysinit:/bin/ln -sf /proc/self/fd /dev/fd 2>/dev/null
si6::sysinit:/bin/ln -sf /proc/self/fd/0 /dev/stdin 2>/dev/null
si7::sysinit:/bin/ln -sf /proc/self/fd/1 /dev/stdout 2>/dev/null
si8::sysinit:/bin/ln -sf /proc/self/fd/2 /dev/stderr 2>/dev/null
si9::sysinit:/bin/hostname -F /etc/hostname
rcS:12345:wait:/etc/init.d/rcS

# S0:1:respawn:-/bin/sh # GENERIC_SERIAL

# Stuff to do for the 3-finger salute
#ca::ctrlaltdel:/sbin/reboot

# Stuff to do before rebooting
shd0:06:wait:/etc/init.d/rcK
shd1:06:wait:/sbin/swapoff -a
shd2:06:wait:/bin/umount -a -r

# The usual halt or reboot actions
hlt0:0:wait:/sbin/halt -dhp
reb0:6:wait:/sbin/reboot


Z:\buildroot1\buildroot\package\busybox\inittab 
# /etc/inittab
#
# Copyright (C) 2001 Erik Andersen <andersen@codepoet.org>
#
# Note: BusyBox init doesn't support runlevels.  The runlevels field is
# completely ignored by BusyBox init. If you want runlevels, use
# sysvinit.
#
# Format for each entry: <id>:<runlevels>:<action>:<process>
#
# id        == tty to run on, or empty for /dev/console
# runlevels == ignored
# action    == one of sysinit, respawn, askfirst, wait, and once
# process   == program to run

# Startup the system
::sysinit:/bin/mount -t proc proc /proc
::sysinit:/bin/mount -o remount,rw /
::sysinit:/bin/mkdir -p /dev/pts /dev/shm
::sysinit:/bin/mount -a
::sysinit:/sbin/swapon -a
null::sysinit:/bin/ln -sf /proc/self/fd /dev/fd
null::sysinit:/bin/ln -sf /proc/self/fd/0 /dev/stdin
null::sysinit:/bin/ln -sf /proc/self/fd/1 /dev/stdout
null::sysinit:/bin/ln -sf /proc/self/fd/2 /dev/stderr
::sysinit:/bin/hostname -F /etc/hostname
# now run any rc scripts
::sysinit:/etc/init.d/rcS

# Put a getty on the serial port
#ttyS0::respawn:-/bin/sh # GENERIC_SERIAL

# Stuff to do for the 3-finger salute
#::ctrlaltdel:/sbin/reboot

# Stuff to do before rebooting
::shutdown:/etc/init.d/rcK
::shutdown:/sbin/swapoff -a
::shutdown:/bin/umount -a -r


Z:\buildroot1\buildroot\package\sysvinit\sysvinit.mk
################################################################################
#
# sysvinit
#
################################################################################

SYSVINIT_VERSION = 2.99
SYSVINIT_SOURCE = sysvinit-$(SYSVINIT_VERSION).tar.xz
SYSVINIT_SITE = http://download.savannah.nongnu.org/releases/sysvinit
SYSVINIT_LICENSE = GPL-2.0+
SYSVINIT_LICENSE_FILES = COPYING
SYSVINIT_CPE_ID_VENDOR = sysvinit_project

SYSVINIT_MAKE_OPTS = SYSROOT=$(STAGING_DIR)

ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
SYSVINIT_DEPENDENCIES += libselinux
SYSVINIT_MAKE_OPTS += WITH_SELINUX="yes"
endif

define SYSVINIT_BUILD_CMDS
    $(TARGET_CONFIGURE_OPTS) $(MAKE) $(SYSVINIT_MAKE_OPTS) -C $(@D)/src
endef

define SYSVINIT_INSTALL_TARGET_CMDS
    for x in halt init shutdown killall5; do \
        $(INSTALL) -D -m 0755 $(@D)/src/$$x $(TARGET_DIR)/sbin/$$x || exit 1; \
    done
    $(INSTALL) -D -m 0644 package/sysvinit/inittab $(TARGET_DIR)/etc/inittab
    ln -sf /sbin/halt $(TARGET_DIR)/sbin/reboot
    ln -sf /sbin/halt $(TARGET_DIR)/sbin/poweroff
    ln -sf killall5 $(TARGET_DIR)/sbin/pidof
endef

ifeq ($(BR2_TARGET_GENERIC_GETTY),y)
define SYSVINIT_SET_GETTY
    $(SED) '/# GENERIC_SERIAL$$/s~^.*#~$(shell echo $(SYSTEM_GETTY_PORT) | tail -c+4)::respawn:-/bin/sh #~' \
        $(TARGET_DIR)/etc/inittab
endef
else
define SYSVINIT_SET_GETTY
    $(SED) '/# GENERIC_SERIAL$$/s~^.*#~# S0:1:respawn:-/bin/sh #~' \
        $(TARGET_DIR)/etc/inittab
endef
endif # BR2_TARGET_GENERIC_GETTY
SYSVINIT_TARGET_FINALIZE_HOOKS += SYSVINIT_SET_GETTY

SYSVINIT_TARGET_FINALIZE_HOOKS += SYSTEM_REMOUNT_ROOT_INITTAB

$(eval $(generic-package))

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

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

相关文章

编译一个魔兽世界开源服务端Windows需要安装什么环境

编译一个魔兽世界开源服务端Windows需要安装什么环境 大家好我是艾西&#xff0c;去年十月份左右wy和bx发布了在停服的公告。当时不少小伙伴都在担心如果停服了怎么办&#xff0c;魔兽这游戏伴随着我们渡过了太多的时光。但已经发生的事情我们只能顺其自然的等待GF的消息就好了…

Selenium基础篇之键盘操作(一)

文章目录 前言一、常用方法(上)二、小剧场2.1场景2.2代码2.2.1引入库2.2.2启动浏览器实例2.2.3访问C站首页2.2.4窗口最大化2.2.5获取输入框元素2.2.6向输入框输入文字2.2.7使用退格键删除最后一个字符2.2.8全选输入框文字2.2.9剪切输入框文字2.2.10粘贴文字到输入框2.2.11回车查…

经验分享 | 科研行业如何搭建RASP防护体系?

多年来&#xff0c;开源网安长期服务金融、政府、科技等大型企业&#xff0c;针对不同实际应用场景&#xff0c;打造出了成熟落地的解决方案&#xff0c;提高并完善了企业安全防护技术与管理体系。今天&#xff0c;我们就来了解开源网安是如何为科研行业搭建RASP防护体系的。 科…

“ ES6+ —— 让你的JavaScript代码从平凡到精彩 “

前期回顾 【提高代码可读性】—— 手握多个代码优化技巧、细数哪些惊艳一时的策略_0.活在风浪里的博客-CSDN博客代码优化对象策略https://blog.csdn.net/m0_57904695/article/details/128318224?csdn_share_tail%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%…

GQCNN

Berkeley AUTOLAB’s GQCNN Package — GQCNN 1.1.0 documentation (berkeleyautomation.github.io) (3条消息) 机器人抓取&#xff08;六&#xff09;—— 抓取点检测&#xff08;抓取位姿估计&#xff09; gqcnn代码测试与解读_zxxRobot的博客-CSDN博客 GQ-CNN模型对生成数据…

C#,OpenCv开发指南(02)——OpenCvSharp编程入门与矩阵Mat的基础知识

在 Visual Studio 中很方便搭建与使用 OpenCV 的 C# 的开发环境&#xff0c;几乎不用键盘输入。 使用 C# 开发 OpenCV 可以直接成为工业软件产品&#xff0c;而不是实验室程序。世界上几乎所有的视频厂家都提供 C# OpenCV 开发接口。 C#&#xff0c;人工智能&#xff0c;深度学…

常见jvm调优操作详细记录

最近很多小伙伴跟我说&#xff0c;自己学了不少JVM的调优知识&#xff0c;但是在实际工作中却不知道何时对JVM进行调优。今天&#xff0c;我就为大家介绍几种JVM调优的场景。 cpu占用过高 cpu占用过高要分情况讨论&#xff0c;是不是业务上在搞活动&#xff0c;突然有大批的流…

SpringBoot整合ELK做日志(超完整)

SpringBoot整合ELK日志系统 SpringBoot整合ELK做日志环境准备安装包准备ELK安装包Java11安装包 软件安装安装java11安装ElasticSearch安装Kibana安装Logstash 编写SpringBoot项目初始化SpringBoot项目修改代码编写Controller SpringBoot整合ELK做日志 环境准备 提前准备一台C…

SpringBoot+Linux操作系统与项目部署(这一篇就够了|超详细)

&#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;程序员老茶 &#x1f64a; ps:点赞&#x1f44d;是免费的&#xff0c;却可以让写博客的作者开兴好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#xff0c;…

华为联合openEuler发布全新NFS+协议,实现NAS存储性能与可靠性倍增

在openEuler开发者大会2023上&#xff0c;华为携手openEuler发布NFS协议&#xff0c;实现单客户端访问NAS存储可靠性提升3倍、性能提升6倍&#xff0c;助力NAS存储全面满足新型生产核心场景下苛刻要求。 在数字转型的新时代&#xff0c;非结构化数据价值持续提升。金融、大企业…

一种IPC通信机制Gdbus详解

一、DBus介绍 常规进程间通信有管道&#xff0c;消息队列&#xff0c;共享内存&#xff0c;以及socket等&#xff0c;每个都有优劣&#xff0c;这次我们介绍一种高阶的进程间通信方式DBus。 DBus通信是IPC通信机制的一种方式&#xff0c;本身是建立在socket机制之上&#xff0…

计算机网络——快速了解常见应用层协议体系

文章目录 〇、加密算法对称加密非对称加密 一、远程登录——TELNET、SSH1.Telnet2.SSH 二、文件传输——FTP、SFTP、FTPS1.FTP2.SFTP3.FTPSSSL工作原理 三、电子邮件——SMTP、POP、IMAP1.SMTP&#xff08;推送邮件&#xff09;2.POP&#xff08;接收邮件&#xff09;3.IMAP 四…

计算机中的数据存储

计算机的存储规则&#xff1a; 文本、图片、声音所有的数据存储 在计算机当中一般会有三类数据&#xff1a;文本数据、图片数据以及声音数据其中文本它又包含了数字、字母以及汉字视频的本质是图片和声音的组合体。在计算机当中&#xff0c;任意的数据都是以二进制的形式来存储…

【Matlab】基于偏格式动态线性化的无模型自适应控制

例题来源&#xff1a;侯忠生教授的《无模型自适应控制&#xff1a;理论与应用》&#xff08;2013年科学出版社&#xff09;。 &#x1f449;对应书本 4.3 单输入单输出系统(SISO)偏格式动态线性化(PFDL)的无模型自适应控制(MFAC) 上一篇博客介绍了基于紧格式动态线性化的无模型…

K8S---Service

服务原理 容器化的问题&#xff1a; 1.自动调度 无法预知pod所在节点&#xff0c;pod的IP地址 2.有故障时&#xff0c;换新节点新ip进行部署 service就是解决这些问题 自动跟踪 clusterip不变 都能找到对应pod 主要靠后端pod的标签 负载均衡 通过iptables/LVS规则将访问的请…

MySQL 数据库概述

数据&#xff08;Data&#xff09; 描述事物的符号记录包括数字&#xff0c;文字、图形、图像、声音、档案记录等以“记录”形式按统一的格式进行存储 表 将不同的记录组织在一起用来存储具体数据 记录&#xff1a;行 字段&#xff08;属性&#xff09;&#xff1a;列 数…

[Gitops--7]Kubesphere 配置镜像仓库

Kubesphere 配置镜像仓库 1. Harbor https证书配置 1.1 生成Harbor证书 mkdir /apps/harbor/cert -p cd /apps/harbor/cert openssl genrsa -out ca.key 2048 openssl req -x509 -new -nodes -key ca.key -subj "/CCN/STShanghai/LShanghai/Opana/OUDevops/CNharbor.i…

HBase(3):集群搭建

1 基础环境需求 jdk1.8以上Hadoopzookeeper 2 下载HBase安装包 Apache Downloads 3 安装 3.1 上传解压HBase安装包 tar -xvzf hbase-3.0.0-alpha-3-bin.tar.gz -C /opt/ 3.2 修改HBase配置文件 &#xff08;1&#xff09;修改hbase-env.sh cd /opt/hbase-3.0.0-alpha-3-bi…

【音视频第21天】RTP、RTCP结合wireshark抓包详解

感觉单纯看理论没啥意思&#xff0c;结合RTCP、RTP来看一看抓包详解 RTP 实时传输协议RTP&#xff08;Realtime Transport Protocol&#xff09;&#xff1a;是针对Internet上多媒体数据流的一个传输协议, 由IETF作为RFC1889发布&#xff0c;现在最新的为RFC3550。RTP被定义为…

基于PyQt5的图形化界面开发——自制Redis图形化客户端(文末附源码)

基于PyQt5的图形化界面开发——自制Redis图形化客户端 前言1. Python第三方库安装及Redis学习1.1 Python第三方库安装1.2 Redis数据库安装和基础命令 2. 登录界面2.1 login.py2.2 image_login.py 3. 主界面3.1 main_ui.py3.2 image_main.py 4.界面切换5. 写在最后(附下载链接) …