艺术/
随着Linux系统的蓬勃发展,越来越多的人接触到了Linux操作系统。 例如,嵌入式程序员在开发嵌入式Linux项目的软件时,需要一台Linux计算机来搭建交叉编译环境。 不过,公司里的电脑大部分都是操作系统,因为操作系统下有很多优秀的商业PC管理软件提供给IT,所以大多数人都会在虚拟机中安装Linux操作系统来满足Linux的需求。 操作系统的场景。
目前虚拟机有很多种。 我个人比较喜欢使用该公司的开源虚拟机软件Box。 关于如何在虚拟机下安装Linux操作系统,我们之前在《》文章中已经详细介绍过,这里不再赘述。 。
例如,我在Linux操作系统下编译软件,并为嵌入式平台编译一个可执行文件“a.out”。 我需要使用该软件将其下载到目标板。 这时候就有问题了。 现在,我应该如何让Linux计算机到计算机进行文件传输呢?
1 使用共享文件夹传送
共享文件夹是一种在主机和虚拟机自带的虚拟机之间传输文件的机制。 以我推荐的Box为例,设置共享文件夹总共有以下步骤:
安装 Box 增强插件
当我们安装完Box后,我们可以在Box安装目录中找到增强插件。 这个增强插件的名称是“.iso”。 比如我安装的Box的路径是“C:\Files\\”,那么我们可以在该路径下找到“.iso”,如图1所示。
图1 “.iso”路径
记下路径后,需要将“.iso”文件加载到虚拟机的磁盘中。 我们打开虚拟机的设置页面,进入“存储”->“控制器:IDE”->“属性”->点击“分配CD-ROM”中的“选择虚拟CD文件”,然后找到“ .iso”我们引入的文件。 这样,Box增强功能安装包就被加载到Linux虚拟机中了,如图3所示。 2.
图2 加载“.iso”增强控件
“.iso”加载成功后,我们可以在Linux桌面上看到一个名为“.0.12”的图标,或者在“/media/{user}/”目录下,我们还可以看到“.0.12”文件片段,如图3所示。
图3 “.0.12”文件夹
终端打开目录后输入“sh .sh”进行安装。 这里需要注意的是,类似上面的纯原生Linux系统可能需要安装GCC等依赖包才可以正常安装。 只需要根据终端输出提示完成即可。
设置共享文件夹目录
安装“.iso”后,需要在虚拟机的设置中设置共享文件夹的路径,打开虚拟机的设置,找到“共享文件夹”->“添加共享文件夹”添加,这个当时添加的共享文件夹是在操作系统下创建的,文件夹名称一定要记住,后面会用到。 共享文件夹是可以自动挂载的,大家可以自己尝试一下,不过我这里还是采用手动挂载的方式。 共享文件夹的设置方法如图4所示。
图4 创建共享文件夹
挂载文件系统
共享文件夹设置完成后,需要在Linux操作系统下挂载该文件夹。 一般Linux文件都挂载在“/mnt”目录下。 这次我们需要挂载的文件夹是“”,所以我们在“/mnt”文件夹下也创建一个“”文件夹,如图5所示。
图5 创建挂载点
创建挂载点后,我们使用命令“sudo mount -t /mnt/”进行挂载。 至此,如果屏幕没有任何提示,则说明挂载成功。 我们可以在操作系统下创建一个文件,然后检查在Linux的“/mnt/”文件夹中是否可以看到该文件。 如图6所示。
图6 文件共享
2 Samba文件共享服务
上面的共享方案对于虚拟机和主机之间共享文件是完全可行的,但是如果你的Linux不是虚拟机,而是局域网中的一台物理PC,那么这时候如果你想和它共享文件,最好的方法是使用Samba服务。
Samba是一款在Linux和UNIX系统上实现SMB协议的免费软件,由服务器程序和客户端程序组成。 SMB(Block,信息服务块)是一种用于在 LAN 上共享文件和打印机的通信协议。 它提供局域网内不同计算机之间文件、打印机等资源的共享服务。
安装Samba服务
要启动Samba服务,需要先安装Samba,在终端中输入“sudo apt-get samba”进行安装。 安装完成后,我们只需要输入“smbd --”即可查看Samba的版本,如果Samba没有安装正确。 然后终端会弹出错误。 如图7所示。
图7 Samba服务安装成功
设置 Box 网卡
当我们安装Box软件时,默认的虚拟机网络访问方式是“网络地址转换(NAT)”,所以此时的虚拟机与网络中的主机共享相同的IP地址,所以我们关闭虚拟机,然后打开虚拟机的设置,在“网络”->“网卡2”中启用“桥接网卡”,如图8。
图8 “桥接网卡”设置
此时,我们打开虚拟机,使用“”查看虚拟机的IP地址。 同样,在命令提示符下,我们也可以使用“”命令来查看IP地址。 比较这两个IP地址,我们可以发现同一网段中有一组IP地址。 这两个是Linux虚拟机和主机之间桥接的IP地址,如图9所示。
图9 桥接IP地址
此时主机可以ping通虚拟机的IP地址,但由于防火墙的原因,虚拟机可能无法ping通主机。
配置smb.conf
在Linux虚拟机下,首先创建一个用于文件共享的文件夹,使用“mkdir /home//share”在我们的用户主目录下创建一个共享文件夹“share”。
然后使用vim或其他文本编辑器打开“/etc/samba/smb.conf”文件来配置Samba。 打开该文件后,我们将文件拉到底部并添加内容,如图10所示。
图10 配置开放Samba服务
最后输入“/etc/init.d/smbd start”启动Samba服务。
接下来,在该文件夹中,我们打开“此计算机”->“映射网络驱动器”,输入虚拟机的IP地址,将Linux下的共享文件夹映射到该文件夹中,如图11所示。
图11 添加网络驱动器
至此,Linux虚拟机就可以和你共享文件了。
Samba还有很多强大的功能,比如添加用户组、添加用户权限等,这些我们稍后会写文章详细介绍。
/etc/samba/smb.conf
[share]
comment = share
path = /home/edward/share
read only = no
browseable = yes
guest ok = yes