2023-08-26T22:39:57.137458    |      实用技巧    |     AilsonJack    |     暂无评论    |     30 views
Ubuntu释放VMware虚拟磁盘未使用空间在Windows 11中通过VMware安装Ubuntu 22.04做一些Linux相关的学习,刚安装的时候VMware虚拟磁盘空间也就6~7GB,但是没用几天,VMware虚拟磁盘空间就飙升到了20GB左右,着实吓人,下面讲讲如何释放VMware虚拟磁盘未使用空间,达到减小VMware虚拟磁盘占用空间的目的。下述内容有参考一些网友的文章,经过下述步骤VMware虚拟磁盘空间从20GB左右减少到10GB左右,释放了10GB空间,效果还是很明显的。清除apt缓存打开终端,并运行以下命令,可以查看到apt缓存有多少:sudo du -sh /var/cache/apt/archives如果你的Ubuntu系统已经使用很久的话,你将看到这个数字非常大。此时可以通过运行以下命令来清理apt缓存:xxxxxxxxxxsudo apt clean清空回收站将回收站中的文件清空,为后续释放VMware虚拟磁盘空间做准备。删除VMware drag_and_drop文件夹~/.cache/vmware/drag_and_drop文件夹是平时从Windows11拷贝文件到Ubuntu中的缓存,执行下述命令删除这些缓存内容。xxxxxxxxxxrm -rf ~/.cache/vmware/drag_and_drop查看磁盘占用情况在命令行执行命令baobab(baobab是Ubuntu自带的磁盘分析工具),可以知道磁盘的占用情况,我这里将/和/home是挂载到单独的分区的,因此分区工具也列出了/和/home各自的磁盘占用情况。/目录磁盘占用情况:/home目录磁盘占用情况:根据磁盘占用情况,可以删除一些无用的文件。释放未使用到的磁盘空间用0填充挂载点未使用的空间,然后删除填充文件,这样VMware就明确的知道这些空间是未被使用的,为后续的shrink操作能够有效的减小VMware虚拟磁盘空间提供基础。我的Ubuntu系统将/和/home是挂载到单独的分区的,如下图所示/dev/sda4挂载到/,/dev/sda5挂载到/home:从上图可以看出/和/home分配的空间都比较大,/分区大小为113GB,/home分区大小为133GB,因此释放空间也主要从/和/home入手,如果你有其他挂载点占用空间比较大,也可以按照下述步骤释放空间。释放/挂载点未使用到的空间用0填充/挂载点未使用到的空间,命令如下:xxxxxxxxxxsudo dd if=/dev/zero of=/wipefile bs=1M将缓存文件同步到磁盘,命令如下:xxxxxxxxxxsudo sync删除填充文件,命令如下:xxxxxxxxxxsudo rm -rf /wipefile执行下述命令,释放/挂载点未使用到的空间:xxxxxxxxxxsudo /usr/bin/vmware-toolbox-cmd disk shrink /释放/home挂载点未使用到的空间该步骤根据自己实际的分区情况进行选择使用。用0填充/home挂载点未使用到的空间,命令如下:xxxxxxxxxxsudo dd if=/dev/zero of=/home/wipefile bs=1M将缓存文件同步到磁盘,命令如下:xxxxxxxxxxsudo sync删除填充文件,命令如下:xxxxxxxxxxsudo rm -rf /home/wipefile执行下述命令,释放/home挂载点未使用到的空间:xxxxxxxxxxsudo /usr/bin/vmware-toolbox-cmd disk shrink /home使用VMware软件对磁盘进行一些操作执行完上述操作之后,关闭Ubuntu,然后在VMware界面中点击编辑虚拟机设置,在虚拟机设置界面中先点击压缩按钮对虚拟机磁盘进行压缩,之后点击碎片整理,最后关闭虚拟机设置界面。到这一步,看看Windows 11中Ubuntu的VMware虚拟磁盘空间是不是变的比以前小多了。
LinuxUbuntuVMWare 阅读全文»
 2022-11-26T12:04:17.180029    |      实用技巧    |     AilsonJack    |     暂无评论    |     237 views
系统:Fedora-14-x86_64我这里的环境是在虚拟机中安装Fedora-14。由于Fedora-14比较老了,因此配置源以及其他一些操作就有些不一样,这里简单记录下我的配置,方便以后查找。使用在线源由于Fedora-14比较古老了,官方不再维护并且将其源路径更改了,因此源的配置也要进行变化。首先将 /etc/yum.repos.d/fedora.repo 进行备份(可以重命名为 fedora.repo.bak )。下面是可用的在线源配置,fedora.repo 文件内容如下:将 /etc/yum.repos.d/fedora.repo 中的文件内容更换为上述内容。验证在线源是否可用有可能之后的路径又会更改,在进行更新源操作之前,可以先确认下源的链接是否可用,分别用浏览器打开下面的3个链接,如果都能正常访问,那么说明在线源没有问题。如果在线源不能使用了,那么也可以考虑将Fedora-14的安装包 Fedora-14-x86_64-DVD.iso 作为本地源,这个配置在下面章节讲述。使用本地源在线源可用的情况下,可以跳过该小节。如果在线源不能使用了,那么我们可以将Fedora-14的安装包 Fedora-14-x86_64-DVD.iso 作为本地源,fedora.repo 文件内容如下:将 /etc/yum.repos.d/fedora.repo 中的文件内容更换为上述内容。备注:baseurl中的 %20 这里表示空格。在线源和本地源选择一种即可,建议当在线源不可用时,就使用本地源。更新源在更新了 fedora.repo 文件内容之后,依次执行下述命令完成更新源操作。上述命令执行的过程中没有报错,就表示源更新完成,之后可以使用下述命令查看源列表:yum repolist如果更新源过程中遇到了问题,可以看看下面的章节是否有提到。更新源遇到的问题Cannot retrieve repository metadata如果更新源的过程中,出现 Error: Cannot retrieve repository metadata (repomd.xml) for repository: updates. Please verify its path and try again 这样的信息,那么将 /etc/yum.repos.d/ 下面 updates 相关的文件进行重命名,我这里将 /etc/yum.repos.d/fedora-updates.repo 重命名为 /etc/yum.repos.d/fedora-updates.repo.bak 。如果更新源的过程中,出现 Error: Cannot retrieve repository metadata (repomd.xml) for repository: salt-latest. Please verify its path and try again 这样的信息,那么将 /etc/yum.repos.d/ 下面 salt-latest 相关的文件进行重命名 。经过上述的步骤之后,Fedora-14的源就配置好了,可以试试yum下载文件,应该OK了吧。
Linux实用技巧 阅读全文»
 2022-07-30T17:14:36.008308    |      实用技巧    |     AilsonJack    |     暂无评论    |     187 views
FTP是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。FTP的文件传输涉及到客户端和服务器。一般情况下,我们的电脑作为FTP客户端去和FTP服务器连接来获取FTP服务器上的文件或者上传文件到FTP服务器。下面我简单的讲讲Windows系统中的FTP客户端如何与FTP服务器下载或者上传文件。我自己配置了一个FTP服务器,用于测试使用,FTP服务器的IP地址为:192.168.1.5,FTP服务器的用户名为:ailsonjack,密码为:1。在命令行中进行FTP操作1.连接FTP服务器打开命令行 ,执行下面的命令连接FTP,FTP服务器的用户名为:ailsonjack,密码为:1,登录成功之后会打印 Logged in successfully 提示信息:ftp 192.168.1.52.常用命令FTP客户端和服务器连接成功之后,可以在命令行下执行一些命令来完成想要的操作,下面简单介绍下常用的命令。2.1.bin或者binary设置文件传输类型为二进制传输类型。一般默认为ascii传输类型,但是使用ascii模式传输类似于可执行文件时,会造成传输的文件内容不对。因此建议在上传或者下载文件之前,执行 bin 命令将文件传输类型设置为二进制传输类型。我之前使用FTP传输一个 xxx.bin 的文件,发现收到的文件不能正确执行,对比了源文件和接收的文件,有些内容都不对,后来发现是由于在ascii模式下传输bin文件导致内容出错的,将传输模式设置为二进制模式,文件就没有问题,因此当你不知道选择什么传输模式的时候,一定设置为二进制传输模式,切记,切记。2.2.get如果想要下载FTP服务器中的文件,那么执行 get 命令就可以了:2.3.put如果想要将本地的文件上传到FTP服务器,那么执行 put 命令就可以了:2.4.bye当完成了文件的传输之后,可以执行 bye 命令来结束FTP客户端与服务器的连接:使用 FileZilla Client 软件对于大多数的朋友来说,命令行下面操作可能并不是很熟悉,因此这里也讲讲如何使用 FileZilla Client 软件来连接FTP服务器进行文件上传和文件下载。1.下载 FileZilla ClientFileZilla Client的官方网址为:https://filezilla-project.org/download.php,可以自行去下载。2.设置文件传输类型打开FileZilla Client软件,选择"编辑"菜单栏下面的"设置"选项,打开设置菜单,点击"传输"下的"FTP:文件类型",修改默认传输类型为"二进制",取消"把没有扩展名的文件作为ASCII格式文件对待"和"把点文件作为ASCII文件对待"的勾选,之后点击"确定":3.连接FTP服务器打开FileZilla Client软件,填写好FTP服务器的IP地址,用户名和密码之后,点击"快速连接":在弹出的记住密码对话框中,选择"保存密码",之后点击确定按钮:由于我这里只是简单的搭建了一个FTP服务器,接下来会弹出"不安全的FTP连接"窗口,我这里不存在密码的保护问题,直接点击确定按钮即可。如果你是连接的互联网中的FTP服务器,并且也提示下面的内容,那么就要考虑是否应该连接,毕竟你的密码这些可能就会以明文传输而泄露:连接成功之后的界面如下:4.下载文件从服务器下载文件比较简单,直接选中服务器端想要下载的文件,鼠标右键点击下载即可下载到左侧客户端电脑的目录下:5.上传文件从客户端上传文件比较简单,直接选中客户端想要上传的文件,鼠标右键点击上传即可上传到右侧服务端的目录下:
实用技巧FTPFileZilla 阅读全文»
 2022-06-17T22:04:43.587226    |      实用技巧    |     AilsonJack    |     暂无评论    |     492 views
我的环境说明:本地环境:Windows 11远端环境:Ubuntu 22.04 LTS(运行在虚拟机中)Remote-SSH简介Remote-SSH是一个VSCode的插件,Remote-SSH可以让你使用任何带有SSH服务的远端机器作为你的开发环境。这可以大大简化各种情况下的开发和故障排除。使用了Remote-SSH插件之后,你可以:在您部署的同一操作系统上进行开发,或者使用比本地计算机更大、更快或更专业的硬件。在不同的远程开发环境之间快速切换,并安全地进行更新,而无需担心影响本地计算机。从多台计算机或多个位置访问现有开发环境。调试在其他地方(如客户站点或云中)运行的应用程序。Remote-SSH安装和环境准备首先安装VSCode,然后在扩展中搜索"Remote",安装搜索到的"Remote-SSH"和"Remote-Containers","Remote-SSH: Editing Configuration"插件会在安装"Remote-SSH"插件时自动安装:确保远端环境(Ubuntu 22.04 LTS)中SSH服务可用。确保本地环境中支持SSH,这个可以通过安装Git来获取SSH功能。SSH密钥配置本节将在Windows上生成SSH密钥,然后部署到Ubuntu 22.04 LTS系统中,这样每次重启VSCode之后,使用Remote-SSH访问Ubuntu 22.04 LTS系统中的文件时,不需要手动输入密码了。1.生成SSH密钥文件在Windows系统上执行下述命令生成SSH密钥:ssh-keygen输入上述命令之后,遇到等待时,直接按ENTER键保持默认,需要敲击3次ENTER键,然后就会在 C:\Users\AilsonJack\.ssh 目录中产生SSH密钥文件:id_rsa 和 id_rsa.pub。2.部署密钥文件到Ubuntu首先,确保当前用户的用户目录下是否存在 .ssh 目录(我这里的完整路径为:/home/ailsonjack/.ssh ),执行下述命令,查看输出信息中是否有 .ssh 目录:ls -al ~如果不存在 .ssh 目录,那么执行下述命令进行创建:mkdir ~/.ssh通过FTP,SFTP,samba等方式将生成的 id_rsa.pub 文件传输到Ubuntu 22.04 LTS系统中的 /home/ailsonjack/.ssh 目录中。3.生成 authorized_keys 文件进入 /home/ailsonjack/.ssh 目录,然后使用下述命令,生成 authorized_keys 文件:cat id_rsa.pub > authorized_keysRemote-SSH配置下面将讲述一下Remote-SSH的一些配置,完成Remote-SSH的配置之后,就可以通过Remote-SSH访问Ubuntu 22.04 LTS系统中的文件或者文件夹,就像在本地电脑开发一样。打开VSCode,然后点击左侧的 “远程资源管理器” 图标,接着点击右上角的小齿轮(设置):在弹出来的窗口中,选择第一项,打开 config 文件,然后填写配置信息:配置信息的文字内容如下:上述配置信息的注释如下:在完成上述配置之后,进入 “远程资源管理器” 选项,右键点击主机名,然后选择“Connect to Host in Current Window”或者“Connect to Host in New Window”:如果连接成功,左下角则会显示当前已连接的主机名:点击“打开文件夹”可以打开Ubuntu系统中的文件夹,我这里打开了Ubuntu系统中的Linux内核文件夹,此时我们就可以在Windows系统中,利用VSCode的Remote-SSH插件阅读Ubuntu系统中的Linux内核源码,是不是很酷:安装插件到远端系统当我们完成对Remote-SSH的配置之后,VSCode 支持在 远程服务器 安装插件。此时我们可以根据自己的需求安装插件到远端系统,也可以将本地的插件一键全部安装到远端系统:点击上图中红色方框的图标,就可以将本地的插件一键全部安装到远端系统。
实用技巧VsCode 阅读全文»
 2022-05-29T20:03:54.837594    |      实用技巧    |     AilsonJack    |     暂无评论    |     365 views
对于搞嵌入式底层开发的工程师来说,经常会涉及到查看芯片手册,比如某个芯片的串口控制器的寄存器值,需要知道这个值对应寄存器的哪些位,微软计算器的程序员模式虽然可以查看,但是对每一位并没有直观的展示。因此就需要一个软件直观的查看寄存器值与位的关系。我在网上找了一个软件进行使用,感觉还是可以,但是有些功能还是不太满意,因此自己寻思着手写一个寄存器查看器,按照自己想要的功能和布局进行编写,这个想法已经有很久了,由于各种事情,一直推迟到最近才开展,并且顺利的完成了,自己感觉写的这个寄存器查看器-RegisterMaster还是不错的。RegisterMaster的整体布局和配色有参考其他软件的界面,整个软件使用Qt实现,没有采用拖控件的方式来布局界面,纯手打C++代码来布局每一个按钮,Label,edit框等。RegisterMaster支持如下功能:1.RegisterMaster支持8位,16位,32位和64位寄存器值的查看;2.支持10进制数的有符号与无符号切换;3.支持16进制字母大小写显示切换功能;4.支持软件界面置顶功能;5.支持同时展示16进制,10进制,8进制,2进制内容;6.数值输入框使用正则表达式,避免用户输入非法值;7.支持快速查看ASCII码;RegisterMaster的整体效果如下:32位模式:64位模式:可以点击图中的每一位对应的按钮,比如图中位7对应的按钮此时为1,当点击一下位7按钮后,位7按钮将由1变为0,颜色也变化,下面的数值输入框的各个进制的值也跟随变化。当然了,我们也可以修改进制数值输入框的值,上面的位按钮的值也会跟随变化。RegisterMaster的大概介绍就这些吧,个人觉得还是比较方便了,如果软件有什么bug,或者有需要增加的功能,欢迎留言或者关注我的个人公众号留言反馈。如果你觉得RegisterMaster还可以,符合自己的使用需求,关注我的个人公众号,回复关键字'寄存器查看器'进行获取。
实用技巧嵌入式软件推荐 阅读全文»
 2022-04-09T11:37:31.001281    |      实用技巧    |     AilsonJack    |     暂无评论    |     349 views
在Windows 10下执行命令:arp -s 192.168.1.100 00-0a-35-00-01-23会提示:ARP 项添加失败: 拒绝访问,如下图所示:这里我们可以通过下面的操作来添加ARP项。使用netsh命令查看Idx执行如下命令:netsh i i show in得到网卡的Idx值为17,如下图所示:添加静态ARP表项执行如下命令:netsh -c "i i" add neighbors 17 "192.168.1.100" "00-0a-35-00-01-23"注解:命令中的17是上一步操作得到的Idx值。上述命令执行完成之后,通过 arp -a 命令就可以看到静态添加的ARP表项了。删除添加的静态ARP表项如果按照 添加静态ARP表项 章节的内容添加了ARP静态表项,那么就必须使用 netsh 命令来删除添加的静态ARP表项。 arp -d 命令删除了静态表项之后,在系统重启后如果存在之前添加的静态ARP表项的同样的IP地址,即使mac地址不一样,那么被删除的静态ARP表项就会再次存在。执行如下命令:netsh -c "i i" del neighbors 17注解:命令中的17是上一步操作得到的Idx值。上述命令执行完成之后,通过 arp -a 命令就可以看到静态的ARP表项被删除了。
WindowsARP实用技巧 阅读全文»
 2022-01-24T20:54:25.356201    |      实用技巧    |     AilsonJack    |     3 条评论    |     1301 views
JLink使用的芯片:STM32F205RC为了防止公开链接被和谐,文章所需资源,请关注博主公众号,发送关键字 "jlink固件" 进行获取。1.问题描述在使用JLink v9的时候,不知道怎么回事,突然JLink v9的灯不亮了,将坏了的JLink插上电脑之后,设备管理器中也没有任何反应,连未知设备都没有。最开始以为是JLink被烧了,但细想这个仿真器也没有这么较弱啊,可能是JLink固件出了问题。于是上网查找资料,大致确认是固件出问题了,抱着试试的态度折腾一下吧,折腾不好就算了,万一折腾好了呢。2.准备过程将坏的JLink v9板子上的程序下载接口焊接上,焊接上之后,要清楚这些接口的引脚定义,我这里坏的JLink v9板子的程序下载接口的引脚定义如下:一个小插曲:我买的这个仿真器上面并没有丝印标出各个引脚的定义,问当时购买的商家,也不给我说引脚信息,没办法只好对照着STM32F205RC的引脚手册,使用万用表一个一个的找出各个引脚的定义,最终还真搞出来了。使用一个好的JLink来对坏的JLink烧写丢失的固件。需要将坏的JLink上面刚才焊接的5个接口全部连接到好的JLink对应的引脚上:注意:我这里使用好的JLink的1脚给坏的JLink的STM32F205RC芯片供电,请确保好的JLink的1脚输出3.3V,坏的JLink不需要通过USB接口供电了。3.烧写bootloader将好的JLink连接上电脑,打开J-Flash,然后点击"Other...",用J-Flash打开我提供的"jlink.jflash"文件,打开过程如下:然后点击Target -> Connect,连接上坏的JLink板子上的STM32F205RC芯片,连接上的信息如下:然后将我提供的"bootloader.bin"文件拖入到J-Flash的"Drag & Drop data file here"区域,拖进去的时候会提示起始地址,这里就保持默认值:0x8000000就可以了,点击"OK"按钮:最后烧写bootloader,点击Target -> Production Progamming,完成bootloader的烧写:4.固件修复烧写完成bootloader之后,需要给刚刚修好的JLink更新固件。最好的方法就是用刚修好的JLink连接上一个芯片(我这里连接STM32F429开发板),然后打开J-Link GDB Server连接STM32F429芯片,点击"OK"按钮:之后会弹出固件修复提示窗口,这里接着点击"OK"按钮:接着会弹出固件更新的进度窗口,由于固件更新的比较快,我这里没有截取到图片,固件更新完成之后,就连接上了STM32F429芯片:至此,JLink V9固件修复完成。
嵌入式JLinkJATG实用技巧 阅读全文»
 2021-12-26T13:50:39.242872    |      实用技巧    |     AilsonJack    |     暂无评论    |     410 views
在平时使用JLink仿真器进行调试或者下载程序的时候,经常忘记JLink的引脚定义,索性我在这里记录一下,以便于以后忘记时进行参考。使用JLink的时候,有JTAG模式和SWD模式两种连接方式,自然的,这两种模式的引脚定义也有些许的差异。1.查看引脚图说明下面对JTAG模式和SWD模式引脚图的查看进行一些说明:拿着JLink仿真器,正对着20 PIN引脚的地方,槽口在上面,此时右边上面的引脚是第 1 脚,第 1 脚下面的是第 2 脚,以此类推, 具体的引脚图会在下面进行展示。2.JTAG和SWD模式引脚图JTAG模式的引脚图如下所示:SWD模式的引脚图如下所示:对于SWD模式,主要关注如下引脚:1:VCC4:GND7:SWDIO9:SWCLK15:RESET关于JTAG和SWD模式的VCC引脚,连接的是目标板的电源(3.3V),是目标板给JLink提供的参考电压。
嵌入式JLinkJATGSWD 阅读全文»
 2021-04-23T19:35:07.321968    |      实用技巧    |     AilsonJack    |     暂无评论    |     576 views
1.终端中如何输入EOF在C语言运行过程中,有时需要在终端手动输入EOF,其输入方法与操作系统有关。windows系统:实际上输入是在dos下面执行的,也就是运行时的那个黑底窗口。在windows下输入EOF需要输入CTRL+Z。Linux/Unix/Mac操作系统:在这类操作系统下,要输入EOF需要输入CTRL+D。2.EOF输入时机不同,结果可能不同终端输入EOF,EOF作为文件结束符时的情况:EOF虽然是文件结束符,但并不是在任何情况下输入Ctrl+D(Windows下Ctrl+Z)都能够实现文件结束的功能,只有在下列的条件下,才作为文件结束符。(1).遇到getchar()(或者getc())函数执行时,要输入第一个字符时就直接输入Ctrl+D,就可以跳出getchar()(或者getc()),去执行程序的其他部分;(2).在前面输入的字符为换行符时,接着输入Ctrl+D;(3).在前面有字符输入且不为换行符时,要连着输入两次Ctrl+D,这时第二次输入的Ctrl+D起到文件结束符的功能,至于第一次的Ctrl+D的作用并不是文件结束符,而只是相当于换行符的功能,即结束当前的输入,引发getchar()(或者getc())提示下一轮的输入。3.总结EOF的作用也可以总结为:当终端有字符输入时,Ctrl+D产生的EOF相当于结束本行的输入,将引起getchar()(或者getc())新一轮的输入;当终端没有字符输入或者可以说当getchar()(或者getc())读取新的一次输入时,输入Ctrl+D,此时产生的EOF相当于文件结束符,程序将结束getchar()的执行。
实用技巧CC++ 阅读全文»
  • 1

  本站信息

目前本站共被浏览 155737 次
目前本站已经运行 3337 天
目前本站共有 165 篇文章
目前本站共有 6 条评论信息
目前本站共有 104 个标签
目前本站共有 0 条留言信息
网站创建时间: 2015年03月01日
最近更新时间: 2023年11月26日
Copyright © 2015~2023  说好一起走   保留所有权利   |  百度统计  蜀ICP备15004292号