嵌入式Linux开发 之 共享文件夹、NFS、SSH

一、Windows系统与VMware中Ubuntu文件共享

1. VMware中点击菜单栏的“虚拟机”,然后点击“设置”,进入设置页面。

在这里插入图片描述
2. 选择“选项”,然后选择“共享文件夹”。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3. 接下来进入ubuntu的/mnt/hgfs可查看到windows的共享文件夹“programCode”.
在这里插入图片描述

二、NFS(Network File System)即网络文件系统,实现开发板与Ubuntu间的文件传输功能。

在 PC 的 Ubuntu 系统搭建好 NFS 服务器,并设置共享目录,开发板挂载该共享目录,从而可以很方便的将 PC 上编译好的程序或者一些其他文件复制到开发板上调试,省去了频繁插拔 U 盘的繁琐。
1. Ubuntu 安装 NFS 服务。
#apt-get install nfs-kernel-server
2. 修改 NFS 配置文件
#vi /etc/exports
在最后一行添加:
/srv/nfs *(insecure,rw,sync,no_subtree_check,no_root_squash)
上述参数说明:
-> /srv/nfs : nfs服务器共享的目录,需要在Ubuntu系统中新建这个目录。
-> *:代表允许所有的网段访问(也可以使用具体的IP)
-> ():括号中的参数为一些权限选项,详见后续的备注;
在这里插入图片描述
3. 让exports文件生效
sudo exportfs -arv
4. 重启 NFS 服务器
#/etc/init.d/nfs-kernel-server restart
在这里插入图片描述
5. 在开发板中 挂载 NFS 网络文件系统到开发板子目录
#mount -t nfs -o nolock 192.168.1.104:/srv/nfs /mnt
其中192.168.1.104是NFS服务器的IP地址,即搭建NFS服务器的Ubuntu的IP地址。

客户端可用到的命令: showmount [选项] [NFS服务器名称或地址]
-a //显示指定NFS服务器的所有客户端主机及其所连接的目录
-d //显示指定的NFS服务器中已被客户端连接的所有输出目录
-e //显示指定的NFS服务器上所有输出的共享目录(最常用)
示例:sudo showmount -e 192.168.1.104 #ip addr根据自行修改

6. 开发板进入mnt目录,可查看NFS服务共享的内容。
#cd /mnt/

备注1:NFS配置的一些权限选项:

ro                    只读访问 
 rw                   读写访问 
 sync                所有数据在请求时写入共享 
 async              NFS在写入数据前可以相应请求 
 secure             NFS通过1024以下的安全TCP/IP端口发送 
 insecure          NFS通过1024以上的端口发送 
 wdelay            如果多个用户要写入NFS目录,则归组写入(默认) 
 no_wdelay      如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。 
 Hide                在NFS共享目录中不共享其子目录 
 no_hide           共享NFS目录的子目录 
 subtree_check   如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认) 
 no_subtree_check   和上面相对,不检查父目录权限 
 all_squash               共享文件的UID和GID映射匿名用户anonymous,适合公用目录。 
 no_all_squash         保留共享文件的UID和GID(默认) 
 root_squash             root用户的所有请求映射成如anonymous用户一样的权限(默认) 
 no_root_squash         root用户具有根目录的完全管理访问权限 
 anonuid=xxx            指定NFS服务器/etc/passwd文件中匿名用户的UID 
例如可以编辑/etc/exports为: 
/tmp     *(rw,no_root_squash) 
/home/public 192.168.0.*(rw)   *(ro) 
/home/test  192.168.0.100(rw) 
/home/linux  *.the9.com(rw,all_squash,anonuid=40,anongid=40)

备注2:NFS的一些操作命令:

#检测是否安装NFS
dpkg -l | grep -i nfs   
#安装NFS服务器
sudo apt-get install nfs-kernel-server
#sudo apt-get install nfs-common  #客户端
#启动与停止NFS服务
sudo /etc/init.d/nfs-kernel-server start
#其他命令
service nfs-kernel-server restart
service nfs-kernel-server stop
service nfs-kernel-server start
#查看NFS服务
ps -aux | grep -i nfs 
#配置NFS服务:共享目录 主机名1或IP1(参数1,参数2)  主机名2或IP2(参数1,参数2)
mkdir /home/xxx/testnfs
sudo vim /etc/exports
/home/xxx/testnfs  *(rw,sync,no_subtree_check)
sudo service nfs-kernel-server restart

showmount -e  #显示当前所有的nfs共享目录

#如果nfs服务已经启动,但是后续修改了/etc/exports配置,需要新配置生效,使用此命令
exportfs -arv //不用重启nfs服务,配置文件就会生效

参考:https://blog.csdn.net/zhayushui/article/details/100549511

三、SSH(Secure Shell)服务:实现PC端远程登录开发板终端。

SSH 全称为 Secure Shell(安全外壳协议,简称 SSH),是一种加密的网络传输协议,用于在不安全的网络中为网络服务提供安全的传输环境。SSH 功能很强大,但是最常用的还是用于远程登录。OpenSSH 是 SSH 协议的具体实现,OpenSSH 是一款开源、免费的 SSH 软件,提供了服务器端后台程序和客户端工具,OpenSSH 提供了很多程序,常用有以下几个:

  • ssh:ssh 软件用于替换 rlogin 与 Telnet。
  • scp 和 和 sftp:将文件复制到其他主机上,用于替换 rcp。
  • sshd:sshd 软件用于启动 ssh 服务。

操作流程:

  1. 首先在开发板中开启SSH服务;
    /sbin/sshd //启动 sshd 服务,
    也可以在/etc/init.d/rcS 文件中加入/sbin/sshd &,实现 ssh 服务开机自启动;
    在这里插入图片描述
  2. 在PC端通过PuTTY远程登录开发板终端(前提:开发板在局域网内已DHCP到IP地址),设置PuTTY - > 输入账户及密码;
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    按上述步骤,Open "NUC980_192.168.0.163_SSH"后,即自动以root用户登录,输入对应密码,即可远程操作开发板的终端;
    在这里插入图片描述
  3. 使用SecureCRT工具远程登录开发板类同PuTTY;
    在这里插入图片描述
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值