1

10.9 以降、Apple は SMBX のために Lion の samba を置き換えましたが、これは常に壊れています。非常に壊れています。

Samba 共有 (2012 R2 Essentials) に接続しているときに、次のように表示されている間、接続がドロップまたはハングすることがよくありますsystem.log

smb2_rq_credit_decrement: Timed out waiting for credits 35 
smb_iod_reconnect: Reconnected share <share_name> with server <server_name>
smb_fid_get_kernel_fid: No smb2 fid found for fid 550ff6b0613adf68
smb_iod_reconnect: Reconnected share <share_name> with server <server_name>

いくつかの情報源は、次のような回避策として SMBv1 の使用を強制することを提案しています:

echo "[default]" >> ~/Library/Preferences/nsmb.conf
echo "smb_neg=smb1_only" >> ~/Library/Preferences/nsmb.conf

これは実際に機能します(ハングしたり切断したりしません)。ディレクトリのリストに15〜30秒かかるだけで問題ありません..つまり、ほとんど完全に役に立たないということです。

この問題は長い間私を悩ませてきたので、回避策を考えています。私が考えることができるのはSamba(www.samba.org)をコンパイルすることですが、Appleがしばらく前にMac OS Xからそれらを削除したため、SambaをOS Xと互換性を持たせるために実際にはあまり努力していません..これは理解できます:)

Samba 4.1.11 ソースにいくつかの修正を加えた後、samba は何らかの形でコンパイルされますが、mount_smbfs や類似のものはないようです - smbclient だけです。

マウントを OS X で動作させることができるかどうか、誰にもわかりません (カーネルが関係していて、正確にはわかりません)。

これを修正する方法に関する他の提案はありますか?

PS: 私は現在、OS X 10.9.4 での Samba 4.1.11 バージョンの samba のコンパイルで行き詰まっています (誰かがそれを修正する方法についてアイデアを持っていれば):

Undefined symbols for architecture x86_64:
  "___unsafe_string_function_usage_here_size_t__", referenced from:
      _send_announcement in nmbd_sendannounce_122.o
      _send_lm_announcement in nmbd_sendannounce_122.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Waf: Leaving directory `<replaced_path_to_samba>/samba/bin'
Build failed:  -> task failed (err #1): 
    {task: cc_link profile_76.o,asyncdns_122.o,nmbd_122.o,nmbd_become_dmb_122.o,nmbd_become_lmb_122.o,nmbd_browserdb_122.o,nmbd_browsesync_122.o,nmbd_elections_122.o,nmbd_incomingdgrams_122.o,nmbd_incomingrequests_122.o,nmbd_lmhosts_122.o,nmbd_logonnames_122.o,nmbd_mynames_122.o,nmbd_namelistdb_122.o,nmbd_namequery_122.o,nmbd_nameregister_122.o,nmbd_namerelease_122.o,nmbd_nodestatus_122.o,nmbd_packets_122.o,nmbd_processlogon_122.o,nmbd_responserecordsdb_122.o,nmbd_sendannounce_122.o,nmbd_serverlistdb_122.o,nmbd_subnetdb_122.o,nmbd_winsproxy_122.o,nmbd_winsserver_122.o,nmbd_workgroupdb_122.o,nmbd_synclists_122.o -> nmbd}
4

1 に答える 1

-1

ありがたいことに、OS X 10.10 Yosemite ではこれが修正されており、10.9 はあまりサポートされていないようです。そのため、アップグレードするのがよいと思います。

于 2014-11-19T10:05:30.340 に答える