文章目录
一、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 服务。
操作流程:
- 首先在开发板中开启SSH服务;
/sbin/sshd //启动 sshd 服务,
也可以在/etc/init.d/rcS 文件中加入/sbin/sshd &,实现 ssh 服务开机自启动;
- 在PC端通过PuTTY远程登录开发板终端(前提:开发板在局域网内已DHCP到IP地址),设置PuTTY - > 输入账户及密码;
按上述步骤,Open "NUC980_192.168.0.163_SSH"后,即自动以root用户登录,输入对应密码,即可远程操作开发板的终端;
- 使用SecureCRT工具远程登录开发板类同PuTTY;