数据库内核研发学习之路(一)
已经上了几天班了,开始做一些总结性的工作。
数据库内核研发首当其中的便是环境配置,今天先介绍一下虚拟机之类的环境搭建,在之前已经写过一篇关于VMware搭建虚拟机的博客了,有兴趣可以去看看,这里我再总结一下使用VirtualBox搭建CentOS7.9,并且配置网络的过程,简单易上手,搞起!
一、虚拟机安装和网络配置
1、Virtual Box软件
这个安装包自己找找哈,我就懒得给了,如果实在想要,留言我!
然后就是开始安装嘛,这里提一嘴,有点小坑,直接安装Virtual Box可能会报错,第一个大家安装软件肯定都不想往c盘安装,但是这里如果你选择的是7.14-7.16版本的,那就会面临你选择安装地址不在c盘的时候不允许你安装,具体什么原因就是官方的限制哈,如果还是想装在其他盘的就降低版本安装7.14以下的版本,如果你非要就这个版本欸,那也有解决的办法,官方文档也有说明,或者你直接看这个博客:
解决安装VirtualBox高版本不能自定义安装D盘问题 Invalid installation directory_让世界更美好的技术博客_51CTO博客
第二个就是,在安装的时候可能会报错这样的问题:
这个你要么就按提示去安装一下vs2019,不想安装也有办法,那就是去下载一个redistributable包,这个包在官方也有下载的,速度还可以,这里给链接,记得点赞!
https://download.visualstudio.microsoft.com/download/pr/8b92f460-7e03-4c75-a139-e264a770758d/26C2C72FBA6438F5E29AF8EBC4826A1E424581B3C446F8C735361F1DB7BEFF72/VC_redist.x64.exe
然后基本上就没有大问题了,至少我就遇到这两个问题,然后就是安装,一直下一步就行。
2、安装虚拟机CentOS7
这个也是先去把iso包下载下来,太大了就不放链接了,想要的话发在评论,然后安装的流程基本上没什么问题,都比较顺畅,详情看这个博主大大的博客就行了,我就不重复造轮子了。
VirtualBox安装CentOS 7教程(超详细)_virtualbox安装centos7-CSDN博客
需要注意的一点就是,在最后安装gnome桌面的时候,这边建议是不选择安装的,因为现场一般来说是不会在桌面上进行开发的,所以多半就只是消耗资源而已,当然,你要是想安装也是可以的,然后资源的话大概内存给个4-8GB就差不多,磁盘尽量给多一点,省的到时候扩容挂载磁盘麻烦。
3、配置网络
然后就是比较重要的配置网络的步骤了,网上一大堆博客我当时配置的时候基本上是没整对,我自己的配置方法仅作为大家参考。
首先就是先设置virtual Box的网络配置。
然后就是设置hsot-only网络,图中的192.168.56.100就是网关,然后网卡的ip地址是可以取192.168.56.101到192.168.56.254之间,因为这里是dbcp动态取的,所以我们就不需要设置了,一般来说就是直接取最低的101这个了。
除了这张网卡之外,我这里建议再新建一张网卡,两张网卡,一张链接外网,一张和本地物理机链接,这样比较好设置。
点击这个创建就可以直接新建一张nat网卡,设置只需要改一下端口转发即可 。
然后设置完virtual Box之后配置虚拟机的网络,首先将网卡一设置为host-only网络,然后就是将网卡二打开,并设置为NAT网络,注意不是网络地址转换NAT网络。
然后其他的基本上和前面写的博客那里一样,然后第一次进来大致的界面就是这样子,我们使用ip a命令查看,发现我们两张网卡都没有生效。(每个人的情况可能不一样哈,这里看enp0s3和enp0s8都没有ip挂载在上面)
然后使用nmcli命令将两张网卡激活,再查看ip如下:
这时再ping外网就发现已经成功了:
接下来就是检测window端能否连接上服务器端了:
可以发现结果是ok的,可以ping通。
到此网络配置就结束了,如果有什么疑问欢迎评论区或者私聊。
4、使用ssh工具连接虚拟机
弄完了我们会发现虚拟机的那个黑框框既不好看并且每次还得切换鼠标出来,太麻烦了,所以我们接下来要介绍的就是使用win端的ssh工具连接虚拟机并登录。
ssh工具的话使用常见的就ok,例如xshell,mobaxterm等,这些都是个人免费,但是商业收费的产品,所以一般来说在公司很少用到这种,这里推荐大家直接使用win的自带的工具,即Windows terminal工具,具体如何安装下载是真的很简单,我这里就不做赘述。
Windows终端(windows terminal)从下载到运行-CSDN博客
然后你也可以配置一下环境变量,之后就可以直接使用win+r输入wt即可打开该工具。
前面的准备好了,接下来再连接之前我们先对虚拟机设置一下,首先便是关闭防火墙以及禁用防火墙开机自启,命令如下:
systemctl stop firewalld //关闭防火墙
systemctl disable firewalld //关闭防火墙开机自启
其次便是设置一下虚拟机允许root远程登陆,修改的文件位置如下:
vi /etc/ssh/sshd_config//找到PermitRootLogin这一项,将其前面的#注释去掉。然后重启sshd服务systemctl restart sshd
然后我们再启动Windows Terminal,使用ssh命令连接虚拟机如下:
5、虚拟机换源
有经验的同学肯定知道我们安装好虚拟机之后下载东西会比较慢,甚至有的时候还经常下载失败,这其实是因为虚拟机默认的下载源是国外的镜像,所以我们为了加快下载速度就需要我们换源,这一步骤也很简单。同样的这一类型的文章也有很多了,我就不重复造轮子了,大家可以参考这个博主的文章:
CentOS7将yum源更换为国内源保姆级教程【建议收藏】_centos7 国内源-CSDN博客
相关文章:

数据库内核研发学习之路(一)
已经上了几天班了,开始做一些总结性的工作。 数据库内核研发首当其中的便是环境配置,今天先介绍一下虚拟机之类的环境搭建,在之前已经写过一篇关于VMware搭建虚拟机的博客了,有兴趣可以去看看,这里我再总结一下使用Vi…...

LSTM:深度学习中的时间序列处理大师
LSTM:深度学习中的时间序列处理大师 引言 在深度学习领域,处理时间序列数据是一项极具挑战性的任务。时间序列数据广泛存在于金融、医疗、气象、自然语言处理等多个领域,这些数据不仅具有时间依赖性,还常常伴随着复杂的长期依赖…...

T113-i系统启动速度优化方案
背景: 硬件:T113-i + emmc 软件:uboot2018 + linux5.4 + QT应用 分支:longan 问题: 全志T113-i的官方系统软件编译出的固件,开机启动时间10多秒,启动时间太长,远远超过行业内linux系统的开机速度,需要进一步优化。 T113-i 优化后启动速度实测数据 启动阶段启动时间(…...

ArcGis将同一图层的多个面要素合并为一个面要素
这里写自定义目录标题 1.加载面要素的shp数据 2.点击菜单栏的地理处理–融合,如下所示: 3.将shp面要素输入,并设置输出,点击确定即可合并。合并后的属性表就只有一个数据了。...

微软Win11 24H2七月更新补丁KB5040435发布!附下载
系统之家于7月10日发出最新报道,微软为Win11用户发布了24H2版本七月的最新更新补丁KB5040435。用户升级系统后,会发现版本号升至 26100.1150。此次更新针对远程身份验证拨入用户服务(RADIUS)协议与 MD5冲突等问题进行修复。接下来跟随小编看看此次更新的…...

iOS 开发中不常见的专业术语
乐此不疲地把简单的问题复杂化,并把这种XX行为叫作专业 APM 在 iOS 开发中,APM 代表 Application Performance Management(应用性能管理)。APM 是一套监控和管理应用程序性能的工具和技术,旨在确保应用程序运行平稳、…...

【中项第三版】系统集成项目管理工程师 | 第 4 章 信息系统架构④ | 4.7
前言 第4章对应的内容选择题和案例分析都会进行考查,这一章节属于技术相关的内容,学习要以教材为准。本章分值预计在4-5分。 目录 4.7 安全架构 4.7.1 安全威胁 4.7.2 定义与范围 4.7.3 整体架构设计 4.7.4 网络安全架构设计 4.7.5 数据库系统安…...

Time to say GoodBye
北湖的繁华 北湖的繁华 北湖的繁华 终究 终究 终究 还是不属于我了 还是不属于我了 还是不属于我了 永远铭记 6 月 26 日 永远铭记6月26日 永远铭记6月26日 在这天下午 , 一个眼镜男夺走了我的资格 在这天下午,一个眼镜男夺走了我的资格 在这天下午,一个眼镜男夺走了我的资格 永…...

C语言之指针的奥秘(二)
一、数组名的理解 int arr[10]{1,2,3,4,5,6,7,8,9,10}; int *p&arr[0]; 这里使用 &arr[0] 的⽅式拿到了数组第⼀个元素的地址,但是其实数组名本来就是地址,而且是数组首元素的地址。如下: 我们发现数组名和数组⾸元素的地址打印出…...

嵌入式linux系统内核启动过程分享
内核的生成步骤可以概括如下: ① 先生成 vmlinux,这是一个elf可执行文件。② 然后 objcopy 成 arch/i386/boot/compressed/vmlinux.bin,去掉了原 elf 文件中一些无用的section等信息。③ gzip 后压缩为 arch/i386/boot/compressed/vmlinux.bin.gz。④ 把压缩文件作为数据段…...

RK3568笔记三十五:LED驱动开发测试
若该文为原创文章,转载请注明原文出处。 字符设备驱动程序的基本框架,主要是如何申请及释放设备号、添加以及注销设备,初始化、添加与删除 cdev 结构体,并通过 cdev_init 函数建立 cdev 和 file_operations 之间的关联,…...

pnpm 如何安装指定版本
要安装特定版本的pnpm,可以使用npm命令来全局安装特定版本的pnpm,例如: npm install -g pnpm2.0.0在上面的命令中,使用了2.0.0来指定安装2.0.0版本的pnpm。您可以将2.0.0替换为您需要安装的版本号。 如果您使用的是yarn…...

LeetCode 240 搜索二维矩阵||
1.题目要求: 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:每行的元素从左到右升序排列。 每列的元素从上到下升序排列。实列: 2.各位大佬们,大家好,此题我用的方法是一行一行的找&…...

万界星空科技MES系统:食品加工安全的实时监控与智能管理
万界星空科技MES系统通过集成多种技术和功能,能够实时监控食品加工过程中各环节的安全风险。以下是对该系统如何实现实时监控的详细分析: 一、集成传感器和数据分析技术 万界星空科技MES系统利用集成的传感器和数据分析技术,实时监控生产过程…...

【学习笔记】4、组合逻辑电路(下)
接前文《【学习笔记】4、组合逻辑电路(上)》 4.4.5 算术运算电路 1. 半加器和全加器 半加器和全加器是算术运算电路中的基本单元。半加器和全加器是1位相加的组合逻辑电路。 (1)半加器 半加器:只考虑两个加数本身,不考虑低位进…...

使机器人在执行任务倒快递
这段代码是用来控制机器人在不同模式下的行为,具体是处理 residenceright 和 residenceleft 两种模式下的过渡过程。代码中使用了一个 mythread 结构体,该结构体包含了机器人的当前模式 (mode) 和过渡过程的阶段 (residenceTransientProcess)。以下是对这…...

谈谈软件交互设计
谈谈软件交互设计 交互设计的由来 交互设计(Interaction Design)这一概念,最初是由IDEO创始人之一Bill.Moggridge(莫格里奇)1984年在一次会议上提出。他设计了世界上第一台笔记本电脑Compass,并写作出版了在交互设计领域影响深远的《Designing Interactions》一书,被称…...

npm install报错:淘宝镜像证书过期
npm install报错:淘宝镜像证书过期 近期使用npm淘宝镜像新建项目或依赖时出现报错: npm ERR! request to https://registry.npm.taobao.org/xxx failed, reason: certificate has expired 错误原因: 早在 2021 年,淘宝就发文称…...

各种Attention|即插即用|适用于YoloV5、V7、V8、V9、V10(一)
摘要 本文总结了各种注意力,即插即用,方便大家将注意力加到自己的论文中。 SE import torch from torch import nn class SEAttention(nn.Module): """ SENet(Squeeze-and-Excitation Networks)中的注意力…...

语言模型演进:从NLP到LLM的跨越之旅
在人工智能的浩瀚宇宙中,自然语言处理(NLP)一直是一个充满挑战和机遇的领域。随着技术的发展,我们见证了从传统规则到统计机器学习,再到深度学习和预训练模型的演进。如今,我们站在了大型语言模型ÿ…...

自动驾驶中的人机互相接管问题讨论
一、背景 人机接管(human takeover)是指在自动驾驶过程中,当系统遇到超出其处理能力或预设安全阈值的情况时,将控制权交还给驾驶员的过程。这一环节的设计直接关系到自动驾驶技术的实用性与安全性,是目前研究和实践中…...

语音识别HResults统计工具以及字根据关键词进行合并
#主要想说一下关键词合并 1.HResults统计工具可以参考其他博主的:https://blog.csdn.net/weixin_30348519/article/details/98426654?ops_request_misc%257B%2522request%255Fid%2522%253A%2522172088587416800215066191%2522%252C%2522scm%2522%253A%25222014071…...

lvs集群、NAT模式和DR模式、keepalive
目录 lvs集群概念 集群的类型:三种类型 系统可靠性指标 lvs集群中的术语 lvs的工作方式 NAT模式 lvs的工具 算法 实验 数据流向 步骤 一 、调度器配置(test1 192.168.233.10) 二、RS配置(nginx1和nginx2)…...

zookeeper在哪里能用到
zookeeper是什么 ZooKeeper 顾名思义 动物园管理员,他是拿来管大象(Hadoop) 、 蜜蜂(Hive) 、 小猪(Pig) 的管理员, Apache Hbase和 Apache Solr 以及LinkedIn sensei 等项目中都采用到了 Zookeeper。 ZooKeeper是一个分布式的,开放源码的分…...

coco_eval 使用
参考 coco eval 解析 COCO目标检测比赛中的模型评价指标介绍! coco 的评估函数对应的是 pycocotools 中的 cocoeval.py 文件。 从整体上来看,整个 COCOeval 类的框架如图: 基础的用法为 # The usage for CocoEval is as follows: cocoGt…...

国产精品ORM框架-SqlSugar详解 进阶功能 集成整合 脚手架应用 专题二
国产精品ORM框架-SqlSugar详解 SqlSugar初识 专题一-CSDN博客 sqlsugar 官网-CSDN博客 4、进阶功能 5、集成整合 6、脚手架应用 4、进阶功能 4.1、生命周期 Queryable 什么时候操作库 Queryable是一个引用类型 Queryable拷贝机制 4.2、执行Sql 方法列表 方法名 描述 返…...

el-table 动态添加删除 -- 鼠标移入移出显隐删除图标
<el-table class"list-box" :data"replaceDataList" border><el-table-column label"原始值" prop"original" align"center" ><template slot-scope"scope"><div mouseenter"showClick…...

Kafka接收消息
文章目录 Acknowledgment读消息指定分区批量消费消息拦截 // 采用监听得方式接收 Payload标记消息体内容. KafkaListener(topics {"test"},groupId "hello") public void onEvent(Payload String event,Header(value KafkaHeaders.RECEIVED_TOPIC) Stri…...

C语言 | Leetcode C语言题解之第233题数字1的个数
题目: 题解: int countDigitOne(int n) {// mulk 表示 10^k// 在下面的代码中,可以发现 k 并没有被直接使用到(都是使用 10^k)// 但为了让代码看起来更加直观,这里保留了 klong long mulk 1;int ans 0;f…...

简谈设计模式之原型模式
原型模式是一种创建型设计模式, 用于创建对象, 而不必指定它们所属的具体类. 它通过复制现有对象 (即原型) 来创建新对象. 原型模式适用于当创建新对象的过程代价较高或复杂时, 通过克隆现有对象来提高性能 原型模式结构 原型接口. 声明一个克隆自身的接口具体原型. 实现克隆…...