为嵌入式linux搭建开发环境(ubuntu16.04 nfs + samba)

2019-07-12 17:49发布

最近工作上需要在嵌入式linux上进行部署web服务,需要在嵌入式环境上直接修改一些代码或者文件,以前用vi慢慢修改,发现效率太低,还是习惯windows上可视化开发。 所以想到的思路是这样的: 首选准备一台linux服务器,这里选用ubuntu16.04ubuntu上安装nfs,指定一个文件夹,然后嵌入式linux挂载这个文件夹。其次,在ubuntu上把这个文件夹用samba共享,此时在windows上添加修改删除共享文件,相应的ubuntu和嵌入式linux都会跟着变化。   说下步骤: 1.ubuntu上安装nfs sudo apt-get install nfs-kernel-server  nfs-common 按照提示操作。 2.开启portmap服务 sudo service portmap start 3.设置需要共享的文件文件夹\10.1.56.100 sudo gedit /etc/exports 在这个文件夹中添加一行,这一行的意思就是把/home/nfs这个文件夹共享,能让局域网中的其它设备挂载上。 /home/nfs  *(rw,sync,no_root_squash) /home/nfs 意思是需要共享的文件夹,自己根据情况随便指定。 * 代表所有的IP地址,就是局域网里面所有IP都可以挂载这个文件夹 括号中的以逗号分割的参数,每个都有其含义,下面列一下: rw:可读写的权限;
ro:只读的权限;
no_root_squash:登入到NFS主机的用户如果是root,该用户即拥有root权限;
root_squash:登入NFS主机的用户如果是root,该用户权限将被限定为匿名使用者nobody
all_squash:不管登陆NFS主机的用户是何权限都会被重新设定为匿名使用者nobody
anonuid:将登入NFS主机的用户都设定成指定的user id,此ID必须存在于/etc/passwd中。
anongid:同anonuid,但是变成group ID就是了!
sync:资料同步写入存储器中。
async:资料会先暂时存放在内存中,不会直接写入硬盘。
insecure:允许从这台机器过来的非授权访问。 4.exports文件生效 sudo exportfs -arv 到这里,ubuntu nfs建立完毕,这是需要到嵌入式linux上挂在这个文件夹试试 5.客户端挂载nfs文件夹  mount -t nfs  10.1.56.100:/home/nfs   /root/nfs/ 解释一下, -t nfs 指定挂在协议是nfs 10.1.56.100 是我那台ubuntuip地址    /home/nfs 就是我要挂载的文件夹   /root/nfs   就是我要挂载的目的地 到目前为止,ubuntu与嵌入式linux就连通成功了,当你在ubuntu上往/home/nfs中添加一个文件,相应的,嵌入式linux中的/root/nfs中也会看到。 6.做一个事前准备,给nfs文件夹改权限 sudo chmod 777 /home/nfs -R           这条命令生效后,nfs文件夹就是任何人都能修改了 7.ubuntu上安装samba 目的是跟windows产生关系,这里我们采用一种纯靠鼠标点的方式实现samba共享。 打开ubuntu,通过文件夹浏览器找到/home/nfs这个文件夹,然后鼠标移到nfs文件夹上,右击鼠标,选择本地网络共享,这时蹦出来一个对话框,勾选共享此目录”“允许其他人来创建和删除这个文件夹里的文件”“允许匿名登陆”  然后点击修改共享”  然后会蹦出来输入密码框,授权。这时候,该文件夹samba就被建立好了。就是这么简单。 8.windows上登陆这个共享文件夹 windows 运行中或者 文件管理器中,输入\10.1.56.100这里还是我ubuntuIP ,这时候,被samba共享的nfs文件夹就出现在眼前,自己可以随便像操作本地文件一样的操作共享文件夹了,最终结果就是嵌入式linux上也会跟着修改,我们的目的达成。