虚拟机工具
VirtualBox
VirtualBox 6.1.30: https://www.fujieace.com/virtualbox/oracle-vm-download-install-windows.html
虚拟机
安装完成后, 若apt包下载速度较慢, 可考虑更换源, https://blog.csdn.net/fx_yzjy101/article/details/124901416
Ubuntu 22.04
Ubuntu 22.04: https://blog.csdn.net/fx_yzjy101/article/details/123921383
Ubuntu 18.04
Ubuntu 18.04: https://blog.csdn.net/smartvxworks/article/details/107538407
连接工具
远程连接软件也相当多,像ssh、mobaxterm等
MobaXterm
MobaXterm: https://blog.csdn.net/xuanying_china/article/details/120080644
文件传输
SFTP
ftp文件传输工具众多,此处仅介绍了FileZilla工具的使用,像SSH、MobaXterm都是较好的工具。
FileZilla 客户端是一个快速可靠的、跨平台的FTP,FTPS和SFTP客户端。下载地址https://www.filezilla.cn/download/client
此处介绍针对于Ubuntu系统, 使用也非常简单,填写主机地址、用户、密码、端口(默认为22)即可使用,如下图所示:
能够正常连接需要服务端正常开启SSH服务
查看是否安装了ssh-server服务,默认只安装了ssh-client
dpkg -l | grep ssh
安装ssh-server服务
sudo apt install openssh-server
安装完成后查看是否安装完成
查看服务是否启动(默认已经开启)
sudo systemctl status sshd
可通过修改ssh配置文件,变更端口等设置,配置文件在/etc/ssh/sshd_config
可通过如下命令对ssh服务进行启停以及状态查询, sudo systemctl status sshd
文件夹共享
环境: VirtualBox6.1 Ubuntu18.04
适用于在Windows上编辑代码, 在Ubuntu中编译调试的场景。若代码修改非常频繁,通过ftp客户端传输效率低下,使用文件夹共享即可省略传输这一步,编辑完成后直接在Ubuntu中直接编译调试。注意:因为是Windows和Ubuntu共享,文件其实只有一份,所以在任何一端删除文件,另一端也会被删除。如果担心此情况发生,可以在共享时设置“只读”,但相应地在其中一端将失去编辑的权限,后续会涉及。
在VirtualBox主界面选择指定的虚拟机,再点击菜单栏中的“设置”按扭。
进入设置界面后,选择共享文件夹,在右侧会出现现有的共享文件夹列表,可新增、编辑和删除。
新增和编辑页面内容相同,如下:
- 共享文件夹路径:Windows系统中文件夹所在路径
- 共享文件夹名称:在VirtualBox这个配置界面的列表中显示的名称
- 只读分配:分配后在Ubuntu系统中只能读取,不能进行新增、编辑和删除
- 自动挂载:Ubuntu系统启动(配置修改后是否需要重启请参考挂载点部分说明)后会自动挂载Windows系统中的文件夹到Ubuntu系统中,若未勾选,Ubuntu系统启动或者重启后也不会挂载,需要使用命令手动挂载,命令是mount -t vboxsf sharing /home/aaron-clark-aic/mycode
- 挂载点:文件夹存放在Ubuntu系统中的路径,在配置界面配置(或者修改)后,若Ubuntu系统中改后的文件夹存在,会将该内容挂载到该文件夹下(无需重启),改前的文件夹以及其下的文件会被隐藏,以后再改成其它文件夹后会再次显示。若改后的文件夹不存在,则会映射一个文件夹并挂载该内容,修改后则会取消挂,若未自动挂载, 可尝试重启虚拟机
- 固定分配:勾选则表示固定分配(重启虚拟机后,此配置还存在),不勾选则表示临时分配(重启虚拟机后,此配置不存在,需要重新设置)
进入Ubuntu系统后,可能会遇到无权限访问该文件夹的情况,使用ll指令查看发现文件夹所有者是root,用户组是vboxsf,可以使用将当前用户加入vboxsf用户组的方法解决
cat /etc/group //查看所有组,每行意义->组名:密码:组ID:该用户组中的用户列表(以,分隔)
usermod -a -G vboxsf wh //将已有用户添加至指定用户组
groups //查看当前登录用户的组内成员
groups test //查看test用户所在的组,以及组内成员
whoami //查看当前登录用户名
chgrp -R modbustest // chgrp [-R] dirname //更改文件夹所属组
主机与虚拟机网络互通:
- 主机访问虚拟机
方案一:VirtualBox端口映射: https://zhuanlan.zhihu.com/p/358704138
方案二:Host-Only:http://t.zoukankan.com/james641-p-13409084.html - 虚拟机访问主机, 通过NAT可直接访问主机ip,例192.168.2.176
可能遇到的问题
Ubuntu22.04
- virtualbox 共享文件夹不能共享
https://blog.csdn.net/wodekelene/article/details/124045331
安装增强功能,完成后可以不使用如下指令即可自动完成挂载
sudo mount -t vboxsf share ~/share/ //挂载
sudo umount -t vboxsf share ~/share/ //取消挂载
1.1 virtualbox“安装增强功能”报错
https://www.fujieace.com/virtualbox/linux-ubuntu-install-enhancements.html
1.2“安装增强功能”不能自动弹出的问题
https://blog.csdn.net/m0_65188455/article/details/124599745
1.3安装包速度太慢的问题(变更apt源)
https://blog.csdn.net/fx_yzjy101/article/details/124901416
2 安装系统或者启动系统时遇到Kernel Panic
https://blog.csdn.net/ramondq/article/details/125081827
Ubuntu18.04
-
遇到gcc/g++安装时的版本不对的问题
系统安装完成后,记得一定先将apt包的源更新为阿里云 -
遇到/usr/bin/aarch64-linux-gnu-ld: /usr/lib/gcc-cross/aarch64-linux-gnu/7/liblto_plugin.so: error loading plugin: /usr/lib/gcc-cross/aarch64-linux-gnu/7/liblto_plugin.so: wrong ELF class: ELFCLASS64
https://www.thinbug.com/q/52121510
很可能是没有安装binutils-aarch64-linux-gnu这个包