解决虚拟机中 Ubuntu 网卡丢失连接图标消失
我相信,用过 VMware 开 Ubuntu 虚拟机都遇到网卡无缘无故的丢失的问题,而且还解决不了的那种;
在网上找十个方法都是不起作用的,比如Nmcli 重新启动网络、ifdown 和 ifup 命令重新启动网络、设置静态IP等都没有效果,都是恢复快照或者重装解决。
这次就给我遇到了,按照以往的习惯我肯定会重装或者恢复快照了,但是这次发现竟然没有保存快照,里面又太多环境重装又麻烦;死马当活马医,这次终于找到一个很好用的方法了,能彻底解决这个丢网卡的问题。
问题原因:Ubuntu 虚拟机内无征兆的丢失网卡,导致无法联网,在状态栏以及终端都看不到网卡,ifconfig 查看网卡信息只有本地回环地址的信息,重启N次无用的。
使用 ifconfig 命令查看只有本地回环地址的信息,网卡都不见了:
使用 ip addr 是可以看见网卡(ens33、ens38)信息的,就是没有显示有连接的信息:
好像只有 Ubuntu 出现这种问题,之前使用 Centos、Debian 都没有遇到过,可能是他们的网络配置之前存在差异导致的。
解决方法:需要修改 NetworkManager.state 和 ...
Windows 搭建 C++ 环境
之前一直是使用 Linux 系统来做开发环境的,但是有时候有需求在 Windows 上使用 C++ 的一些环境
在 windows 平台上, 使用 vscode 作为 IDE, 搭建好可以正常编译执行的 c/c++ 环境
一、环境下载可以直接下载:https://github.com/niXman/mingw-builds-binaries/releases/download/12.2.0-rt_v10-rev1/x86_64-12.2.0-release-posix-seh-rt_v10-rev1.7z
1、下载过程** 进入网站: **https://www.mingw-w64.org/downloads/, 向下滚动, 选择 mingw-w64-builds; 如下图:
之后点击 GitHub 字符, 如下图:
之后进去版本选择(根据自己的系统来选择合适的版本), 如下图:
二、解压与安装下载完成之后,直接将压缩包解压到自己软件安装的位置就可以了,我这里直接解压到 C 盘
三、添加环境变量需要按照下面的步骤一步一步来,才能添加环境变量。
1234 ...
ROS 中常用的几种 SLAM 算法
简介在 ROS 中提供的五种基于 2D 激光的 SLAM 算法:
HectorSLAM
Gmapping
KartoSLAM
CoreSLAM
LagoSLAM
最后还有比较经典的 google 开源的 cartographer,虽然不是基于 ROS 的但是大牛们已经将它修改为基于 ROS 的版本的 cartographer_ros
(1)HectorSLAMHectorSLAM 是一种结合了鲁棒性较好的扫描匹方法 2D SLAM 方法和使用惯性传感系统的导航技术。
传感器的要求:高更新频率小测量噪声的激光扫描仪,不需要里程计,使空中无人机与地面小车在不平坦区域运行存在运用的可能性,作者利用现代激光雷达的高更新率和低距离测量噪声,通过扫描匹配实时地对机器人运动进行估计。
所以当只有低更新率的激光传感器时,即便测距估计很精确,对该系统都会出现一定的问题,如下图是该系统生成的二维地图。
利用已经获得的地图对激光束点阵进行优化,,估计激光点在地图的表示,和占据网格的概率,其中扫描匹配利用的是高斯牛顿的方法进行求解. 找到激光点集映射到已有地图的刚体转换(x,y,theta).具体的公式如 ...
C++ 中的指针
前言:
因为 C++ 所以指针就有了这篇文章。
一、指针的基本概念指针在高级语言的编程中发挥着非常重要的作用,它能使得不同区域的代码可以轻易的共享内存数据。
指针使得一些复杂的链接性的数据结构的构建成为可能,有些操作必须使用指针,比如申请堆内存,还有在函数的调用的参数都是按值传递的,如果在函数中修改被传递的对象,就必须通过这个对象指针来完成。
指针就是内存地址,指针变量就是用来存放内存地址的变量,不同类型的指针变量所占用的存储单元长度是相同的,而存放数据的变量因为数据类型不同,因此所占的存储空间长度也不同。使用指针不仅可以对数据本身,也可以对存储数据变量的地址进行操作。
简单理解:指针就是内存地址;可以利用指针来保存地址。
二、指针的引入(函数返回中return语句的局限性)函数的缺陷:
一个函数只能返回一个值,就算我们在函数里面写多了return语句,但是只要执行任何一条return语句,整个函数调用就结束了。
数组:
数组可以帮助我们返回多个值,但是数组是相同数据类型的结合,对于不同数据类型则不能使用数组。
指针:
使用指针可以有效解决这个问题,使用指针我们想反回几个值就能返回 ...
Vscode 初始化配置(Linux)
PS:此文章仅适合在 Linux 平台下配置和初始化
系统:Ubuntu 20.04
Vscode 版本:1.66.2 以上即可
编程语言:以 C++ 和 Python 为例,其他语言大致相同
1、VSCode 简介VSCode 是一款微软出的轻量级编辑器,它本身只是一款文本编辑器而已,并不是 IDE (集成开发环境),不包含编译器(compiler)和许多其他功能,所以编译器要自己装;所有的功能都是以插件扩展的形式所存在,想用什么功能就安装对应的扩展即可,非常方便,同时也支持非常多的主题和图标,外观比较好看,重要的是VSCode支持各大主流操作系统,包括Windows、Linux 和 Mac OS,属于跨平台应用。
2、VSCode 扩展
在 VSCode 里面集成了非常多的扩展可以使用,当需要用到的是时候,直接搜索进行安装即可。
在写 C++ 程序之前需要安装 C++ 的扩展。
C/C++:又名 cpptools,提供Debug和Format功能
Code Runner:右键即可编译运行单文件,很方便;但无法Debug
3、配置代码模板
在 Vscode 中写 ...
记一次服务器磁盘报警及解决(Mysql binlog日志太多)
记一次服务器磁盘报警;原因:Mysql binlog日志太多了;及解决方法。
中午的时候突然收到服务器发的警告,看见我的磁盘使用率已经百分之九十多了,还以为给攻击了或者给docker占满了。
进入后台才发现不是,一看全是 Mysql 的日志给占满了。
解决过程:一、查找占用大的文件使用 du 命令可以查找占用内存大的文件,如果不确定哪个目录占用内存大的可以先从根目录一层一层的查找
1du -sh *
这里我找到的就是 Mysql 的日志文件,可以看见,日志文件已经占用我6G多的空间了,难怪会报警。
猜想:其他程序问题,一直读写数据库,导致数据库产生了大量的binlog日志,把磁盘空间占满了
二、删除文件找到了这些大文件,发现是数据的日志文件,那就直接进入数据库删除吧
12# 进入数据库mysql -u root -p
mysql 日志的种类,一般来说,日志有五种,分别为:
错误日志:-log-err (记录启动,运行,停止mysql时出现的信息)
二进制日志:-log-bin (记录所有更改数据的语句,还用于复制,恢复数据库用)
查询日志:-log (记录建立的客户端 ...
Windows10下安装Anaconda
一、Anaconda 简介Anaconda 简单理解来说,就是一个大的环境池子,池子里面有不同的环境。每个环境用不同的名称进行标识。当我们需要哪个环境时,就在anaconda中激活哪个环境去使用即可。Anaconda就是一个环境管理器!
我的环境原本是有 Python 3.8.8 环境的,后面要安装 Anaconda 然后两个环境就打架了,干脆直接全部卸载了,然后只安装 Anaconda
软件的下载,我们直接从 Anaconda 官网上下载即可。
Anaconda 官网:https://www.anaconda.com/
二、安装过程1、软件安装1.下载好之后,双击运行
然后点击Next
2.点击 I Agree
3.点击Next
这里是选择用户安装,一般直接下一步就好了。
4.选择安装位置,然后点击Next
我这里安装到了其他位置,可以直接点击下一步。
5.这里一定要把第一个勾打勾上,不然后面还要配置环境变量就很麻烦,所以我们把第一个勾勾上,然后第二个是安装Python3.9的版本,我们也勾选上。然后点击install
PS:把两个勾都勾选上
6.然后就是等 ...
Debian 初始化成主力系统
效果图同样适用于 Ubuntu
一、优化 Debian1、系统配置(1)安装常用的命令12su rootapt -y install net-tools gcc curl wget vim htop git unzip expect
(2)恢复 sudo 权限执行sudo时提示“XXX 不在sudoers文件中,此事将被报告”
因为能执行sudo权限的用户都在/etc/sudoers文件中做了设置的。
修改方法:
1、使用root账号,输入su,再输入root密码后就可以操作了,不需要sudo命令
2、修改sudoers增加权限
修改/etc/sudoers文件权限,并打开文件
123456root@debian-11:/home/debian# ls -l /etc/sudoers-r--r----- 1 root root 669 2月 27 2021 /etc/sudoersroot@debian-11:/home/debian# chmod u+w /etc/sudoersroot@debian-11:/home/debian# ...
基于全新架构的 Linux 版 QQ 回归
基于全新架构的 Linux 版 QQ 回归
为什么 Linux 不能当主系统?
因为它没有微信,QQ。
不是有QQ吗?
过于古老。
……..
想必接触过 Linux 的都有以上的疑问,这次终于等来了腾讯对 linux QQ 版的重大更新,前段时间也是刚结束内测,现在已经正式发布出来了,这次我们就来体验一下。
QQ Linux 版官网:https://im.qq.com/linuxqq/index.shtml
新版本提供了 deb、rpm、Applmage 三种格式的软件包,同时也支持 Arm64 平台。
官网中也提供了安装帮助:
如何选择安装包?
QQ Linux版 目前支持x64(x86_64、amd64)、arm64(aarch64)两种架构,每种架构支持Debian系、Red Hat系、其它发行版中的一种或几种(未来可能继续扩充)。每一次发布均会提供架构和发行版的若干种组合支持的安装包,可按下面所述的规则进行选择。
每一个安装包会按照形如如下的格式命名:linuxqq_3.0.0-100_x86_64.rpm[产品名] [版本号] [架构] .[格式]
1、选择架构:根据 ...
Github使用
github的使用一、github新手够用指南:git 和 github 分别是什么?
git 是一个运行在你电脑上的版本控制软件,而 github 是基于 git 这个版本控制软件打造的网站
git 的三个概念:提交 commit、仓库:repository、分支:branch
安装需要安装 git 和 vcode
git官网:https://git-scm.com/
git下载地址:https://git-scm.com/downloads
vcode官网:https://code.visualstudio.com/
vcode下载地址:https://code.visualstudio.com/Download
这是一个 github 的一个仓库地址
如果只是单纯的只是想把代码下载下来,只要很简单两步即可
1、点击 code 然后把 HTTPS 地址复制下来
2、打开 git ,使用命令 git clone <刚刚复制的地址> 然后就会把代码拉取下来
再其中你要想把代码下载到的文件夹中右键—–选择 git bash here
然后就可以看见源码已经下载下来了 ...
数据库加载中