pastebin - collaborative debugging tool
nrubsig.kpaste.net RSS


msnfs41client_cygwin_binaries_git148e927_20231214_12h31m.readme
Posted by Anonymous on Thu 14th Dec 2023 13:49
raw | new post

  1. msnfs41client_cygwin_binaries_git148e927_20231214_12h31m.readme
  2.  
  3. ##
  4. ## Installation/Deinstallation
  5. ##
  6.  
  7. # 1. Requirements:
  8. - Windows 10
  9. - Cygwin 3.5.0
  10.     - Packages:
  11.         cygwin
  12.         cygwin-devel
  13.         cygrunsrv
  14.         cygutils
  15.         cygutils-extra
  16.         bash
  17.         bzip2
  18.         coreutils
  19.         getent
  20.         gdb
  21.         grep
  22.         hostname
  23.         less
  24.         pax
  25.         pbzip2
  26.         procps-ng
  27.         sed
  28.         tar
  29.         time
  30.         util-linux
  31.         wget
  32.  
  33.  
  34. # 2. Installation (as "Administrator"):
  35. $ mkdir -p ~/download
  36. $ cd ~/download
  37. $ wget 'http://www.nrubsig.org/people/gisburn/work/msnfs41client/releases/alpha/msnfs41client_cygwin_binaries_git148e927_20231214_12h31m.tar.bz2'
  38. $ (cd / && tar -xf ~/download/msnfs41client_cygwin_binaries_git148e927_20231214_12h31m.tar.bz2 )
  39. $ /sbin/msnfs41client install
  40.  
  41.  
  42. # 3. Deinstallation:
  43. $ (set -x ; cd / && tar -tf ~/download/msnfs41client_cygwin_binaries_git148e927_20231214_12h31m.tar.bz2 | while read i ; do [[ -f "$i" ]] && rm "$i" ; done)
  44.  
  45.  
  46. ##
  47. ## Usage
  48. ##
  49.  
  50. # Run the NFSv4 client daemon:
  51. # - run this preferably as "Adminstrator", but this is not a requirement
  52. # - requires seperate terminal
  53. $ /sbin/msnfs41client run_daemon
  54.  
  55. # Mount a filesystem and use it
  56. $ /sbin/nfs_mount -o rw N 10.49.20.110:/net_tmpfs2
  57. Successfully mounted '10.49.20.110@2049' to drive 'N:'
  58. $ cd /cygdrive/n/
  59. $ ls -la
  60. total 4
  61. drwxrwxrwt 5 Unix_User+0      Unix_Group+0      100 Dec  7 14:17 .
  62. dr-xr-xr-x 1 roland_mainz     Kein                0 Dec 14 13:48 ..
  63. drwxr-xr-x 3 Unix_User+197608 Unix_Group+197121  80 Dec 12 16:24 10492030
  64. drwxr-xr-x 3 Unix_User+197608 Unix_Group+197121  60 Dec 13 17:58 directory_t
  65. drwxr-xr-x 3 Unix_User+197608 Unix_Group+197121  60 Dec  7 11:01 test2
  66.  
  67. # Unmount filesystem:
  68. $ cd ~
  69. $ net use N: /delete
  70.  
  71. #
  72. # Notes:
  73. #
  74. - Idmapping (including uid/gid mapping) between NFSv4 client and NFSv4
  75.   server works via /lib/msnfs41client/cygwin_idmapper.ksh, which
  76.   either uses builtin static data, or /usr/bin/getent passwd and
  77.   /usr/bin/getent group.
  78.   As getent uses the configured name services it should work with LDAP
  79.   too.
  80.   This is still work-in-progress, with the goal that both NFSv4 client
  81.   and server can use different uid/gid numeric values for client and
  82.   server side.
  83.  
  84. - UNC paths are supported, after successful mounting /sbin/nfs_mount
  85.   will list the paths in Cygwin UNC format.
  86.  
  87. - SIDs work, users with valid Windows accounts (see Cygwin idmapping
  88.   above get their SIDs, unknown users with valid uid/gid values get
  89.   Unix_User+id/Unix_Group+id SIDs, and all others are mapped
  90.   to nobody/nogroup SIDs.
  91.  
  92. - Cygwin symlinks are supported, but might require
  93.   $ fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1 #.
  94.   This includes symlinks to UNC paths, e.g. as Admin
  95.   $ cmd /c 'mklink /d c:\home\rmainz \\derfwpc5131_ipv6@2049\nfs4\export\home2\rmainz' #
  96.   and then $ cd /cygdrive/c/home/rmainz/ # should work
  97.  
  98. - performace: All binaries are build without any optimisation, so
  99.   the filesystem is much slower than it could be.
  100.  
  101. - bad performance due to Windows Defender AntiVirus:
  102.   Option 1:
  103.   # disable Windows defender realtime monitoring
  104.   # (requires Admin shell)
  105.   powershell -Command 'Set-MpPreference -DisableRealtimeMonitoring 1'
  106.   Option 2:
  107.   Add "nfsd.exe", "nfsd_debug.exe", ksh93.exe, bash.exe, git.exe and
  108.   other offending commands to process name whitelist.
  109.  
  110. - performance: Use vmxnet3 in VMware to improve performance
  111.  
  112. - ACLs are supported via the normal Windows ACL tools, but on
  113.   Linux require the nfs4_getfacl/nfs4_setfacl utilties to see the
  114.   data.
  115.   Example (assuming that Windows, Linux NFSv4 client and NFSv4
  116.   server have a user "siegfried_wulsch"):
  117.   - On Windows on a NFSv4 filesystem, :
  118.   $ icacls myhorribledata.txt /grant "siegfried_wulsch:WD" #
  119.   - On Linux NFSv4 clients you will then see this:
  120.   ---- snip ----
  121.   $ nfs4_getfacl myhorribledata.txt
  122.   A::OWNER@:rwatTcCy
  123.   A::siegfried_wulsch@global.loc:rwatcy
  124.   A::GROUP@:rtcy
  125.   A::EVERYONE@:rtcy
  126.   ---- snip ----
  127.  
  128.  
  129. #
  130. # Known issues:
  131. #
  132. - The kernel driver ("nfs41_driver.sys") does not have a cryptographic
  133.   signature for SecureBoot - which means it will only work if SecureBoot
  134.   is turned off (otherwise $ /sbin/msnfs41client install # will FAIL!)
  135. - If nfsd_debug.exe crashes or gets killed, the only safe way
  136.   to run it again requires a reboot
  137. - LDAP support does not work yet
  138. - Attribute caching is to agressiv, making $ tail -f ... # not seeing
  139.   new data.
  140.   Workaround: Use GNU tail'S $ tail --follow=name ... #
  141. - krb5p security with AES keys do not work against the linux server,
  142.   as it does not support gss krb5 v2 tokens with rotated data.
  143. - When recovering opens and locks outside of the server's grace period,
  144.   client does not check whether the file has been modified by another
  145.   client.
  146. - If nfsd.exe is restarted while a drive is mapped, that drive needs
  147.   to be remounted before further use.
  148. - Does not allow renaming a file on top of an existing open file.
  149.   Connectathon's special test op_ren has been commented out.
  150. - Extended attributes are supported with some limitations:
  151.   a) the server must support NFS Named Attributes,
  152.   b) the order of listings cannot be guaranteed by NFS, and
  153.   c) the EaSize field cannot be reported for directory queries of
  154.   FileBothDirInformation, FileFullDirInfo, or FileIdFullDirInfo.
  155.  
  156. # EOF.

Submit a correction or amendment below (click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.

Syntax highlighting:

To highlight particular lines, prefix each line with {%HIGHLIGHT}




All content is user-submitted.
The administrators of this site (kpaste.net) are not responsible for their content.
Abuse reports should be emailed to us at