macOSクライアントからUbuntu LinuxサーバーにNFSボリュームをマウントする


14

Ubuntu 14.04 LTSサーバー(私の場合はローカルVM)があります。NFSを使用してMac OS X YosemiteクライアントからLinuxサーバーにディレクトリをマウントするにはどうすればよいですか?

回答:


35

Linuxサーバーのセットアップ

  1. Ubuntu NFSガイドに従ってNFSサーバーをインストールします。

    sudo apt-get install nfs-kernel-server
    
  2. 編集/etc/exports

    sudo nano /etc/exports
    

    次に、次のような行を追加します。

    /home/ubuntu 172.16.238.0/24(insecure,rw,all_squash,anonuid=1000,anongid=1000,no_subtree_check)
    
    • /home/ubuntu エクスポートするディレクトリです
    • 172.16.238.0/24接続を受け入れるIPアドレスです。MacクライアントのIPアドレスはこの範囲内にある必要があります。*任意のIPアドレスから許可するために使用します。(ただし、インターネット全体でNFSサーバーを使用できないように注意してください!)
    • insecure 特権のない(より高い)ポート番号からの接続を受け入れることを意味します
    • rw 読み書きを意味します
    • all_squash,anonuid=1000,anongid=1000UID / GID 1000のユーザー/グループがすべての読み取りと書き込みを強制的に実行します(1000はubuntuサーバー上のデフォルトのユーザー/グループです)。idサーバーで実行して、UID / GIDを確認します。UbuntuサーバーとMacクライアントがメインユーザーに同じUID / GIDを使用しない限り、これらのオプションが必要です。
    • no_subtree_check パフォーマンスのことです
  3. ファイルを保存して実行

    sudo exportfs -vra
    

    NFSエクスポートをリロードします。(-aオプションが必要かどうかはわかりません。)

Macクライアントのセットアップ

  1. auto_masterファイルを編集します。

    sudo nano /etc/auto_master
    

    で始まる行を/net次のように変更します。

    /net            -hosts      -nobrowse,nosuid,locallocks,nfc,actimeo=1
    
    • locallocksサーバーではなくクライアントにロックを作成します。これがないと、Finderは非常に遅くなり、ディレクトリを表示するのに永遠に時間がかかります。
    • nfc UTF-8ファイル名を機能させる
    • actimeo=1属性キャッシュのタイムアウトをできるだけ短く設定します。に設定0(または追加noac)すると、サーバーでファイルが削除されたときにFinderが気付かないため、使用できません。
    • ここでは使用していないことに注意してくださいnfsvers=4。これにより、Macでカーネルパニックが発生したため、デフォルト(NFSv3)に戻りました。
  2. 実行して自動マウントを更新します

    sudo automount -vc
    

    (以前にNFSボリュームをマウントしようとした場合は、次のように最初にアンマウントします。sudo umount -f /net/fileserver.local/home/ubuntu

  3. >フォルダに移動し、タイプ- Finderのメニューで、移動を選択し/net/SERVER_HOST_NAME、例えば/net/fileserver.local

    そこにエクスポートしたディレクトリがあります(例:)/net/fileserver.local/home/ubuntu。このディレクトリをFinderサイドバーにドラッグして、将来アクセスしやすくします。


また、権限を修正する方法はありますか。私は、Macから私のファイルにアクセスする必要がある唯一の方法は、共有に私がしたいフォルダに777回のアクセス権を与えている:(それ以外の場合は、システムのショー、私、私はフォルダを閲覧する権限がありません、私を伝えるメッセージ。
カルロス・ベガ

@carlosvega all_squash,anonuid=1000,anongid=1000Ubuntuのサーバー上のUID 1000年が所有するすべてがMacクライアントから何ら問題はアクセスできませんので、777にchmoddingのための必要はありません-オプションは私の権限の世話をする
ジョー・リス

5
だけで簡単にコメント、あなたは私だけのために、MAC側の「オンザフライ」で、この作品をマウントしたい場合:sudo mount -t nfs -o resvport 172.16.238.x:/home/ubuntu /Users/xyz/ubuntu
スコットカールソン

マックOSXシエラとUbuntu 16.04と私のための作品
アントニオHadjigeorgalis

2
人々は、この素晴らしい答えの背後にどれだけの試行錯誤があるのか​​を理解していません。特に、rsyncMacOS以外のサーバーをマウント(またはing)する場合、「nfc」部分は重要です。最初は気付かないでしょうが、UTF-8はOS Xでは他のどこでも同じではありません。これがないと、ファイル名が文字化けしてしまい、後で修正するのに何時間もかかる可能性があります。コメントを使用して「ありがとう」と言うことはできないことを知っているので、ここでそれを終了します;)
DanielSmedegaardBuus
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.