zoukankan      html  css  js  c++  java
  • Embeded linux 之 cifs文件系统

    待整理

    转自:

    http://blog.csdn.net/yuanbinquan/article/details/51734705

    简介

    CIFS (Common Internet File System)
    通用Internet文件系统
    在windows主机之间进行网络文件共享是通过使用微软公司自己的CIFS服务实现的。

    功能
    CIFS 可以使您达到以下功能:
    1.访问服务器本地文件并读写这些文件
    2.与其它用户一起共享一些文件块
    3.在断线时自动恢复与网络的连接
    4.使用统一码(Unicode)文件名:文件名可以使用任何字符集,而不局限于为英语或西欧语言设计的字符集。
    优点
    一般来说,CIFS使用户得到比FTP更好的对文件的控制。它提供潜在的更直接地服务器程序接口,这比使用HTTP协议的浏览器更好。CIFS最典型的应用是windows用户能够从“网上邻居”中找到网络中的其他主机并访问其中的共享文件夹
    CIFS 是开放的标准而且已经被作为Internet应用程序标准被提交到IETF。
    用于Java与DCom通信的开源第三方库J-Interop就是利用CIFS协议实现的。

    CIFS和NFS的对比
    (1)CIFS面向网络连接的共享协议,对网络传输的可靠性要求高,常使用TCP/IP;NFS是独立于传输的,可使用TCP或UDP;
    (2)NFS缺点之一,是要求client必须安装专用软件;而CIFS集成在OS 内部,无需额外添加软件;
    (3)NFS属无状态协议,而CIFS属有状态协议;NFS受故障影响小,可以自恢复交互过程,CIFS不行;从传输效率上看,CIFS优于NFS,没用太多冗余信息传送;
    (4)两协议都需要文件格式转换,NFS保留了unix的文件格式特性,如所有人、组等等;CIFS则完全按照win的风格来作。

    使用

    在实际应用中,当linux需要挂载window上的目录上,大家首先想到的是samba和VM tools等工具,其实cifs是最简单用法,它不需要你安装任何工具,是windows和linux自带功能。

    window端:

    首先在你windows上建立共享文件夹,目录 E: fs, 用户: Everyone ,  权限:所有权限 ,详细信息如下:

    这样windows端设置完成。

    Linux端:

    x86:

    这里以ubuntu为例,默认时支持cifs文件系统的,不需要做任何配置。直接使用mount命令挂载即可

    在确保linux系统可以ping通windows系统的前提下,使用一下命令。

    #mount -t cifs -o username=Everyone,password='' //192.168.88.77/nfs /mnt

    用户名:username与windows设置一致Everyone,密码password为空, 192.168.88.77为你的windows系统的ip地址, mnt 为你linux系统下的挂载目录位置

    #ls /mnt

    即可查看到windows上的共享目录了。

    arm:

    这里以arm9+linux系统为例

    嵌入式设备上,默认的内核是不支持cifs文件系统的,所以在编译内核时需要是能cifs文件系统的支持,方法如下:

    这样内核就支持cifs文件系统了,接下来可以直接使用mount命令,当然有同样的前提,你的arm板必须能够ping通你的windows系统ip。

    #mount -t cifs -o username=Everyone,password='' //192.168.88.77/nfs /mnt

    用户名:username与windows设置一致Everyone,密码password为空, 192.168.88.77为你的windows系统的ip地址, mnt 为你linux系统下的挂载目录位置

    #ls /mnt

    即可查看到windows上的共享目录了。

    如果在ls时,报如下错误:
    ls: can't open '.': Value too large for defined data type

    发现在mount的时候加上“nounix,noserverino”选项后,就不再出现这个问题了,因此完整的mount命令可能如下:

    #mount -t cifs  -o username=Everyone,password='',nounix,noserverino //192.168.88.77/nfs /mnt

  • 相关阅读:
    vb.net structure 定义静态数组
    调色板原理 & 编程
    CView::OnPreparePrinting
    MFC单文档程序架构解析
    基于Eclipse远程调试解决的预上线首页打开特别慢的问题
    Shiro Filter引发的思考
    Shiro Filter中利用Callable和Runnable的委派模式
    Shiro DefaultFilter
    防止Form表单重复提交的客户端及服务器端的方式
    Shiro Filter的设计概念
  • 原文地址:https://www.cnblogs.com/pokerface/p/6914256.html
Copyright © 2011-2022 走看看