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

时间:2022-10-23 22:29:30

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

最近工作上需要在嵌入式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上也会跟着修改,我们的目的达成。