Gắn khối lượng NFS trên máy chủ Ubuntu Linux từ máy khách macOS


14

Tôi có máy chủ Ubuntu 14.04 LTS (máy ảo cục bộ trong trường hợp của tôi). Làm cách nào để gắn thư mục trên máy chủ Linux từ máy khách Mac OS X Yosemite, sử dụng NFS?

Câu trả lời:


35

Thiết lập máy chủ Linux

  1. Cài đặt máy chủ NFS theo hướng dẫn Ubuntu NFS :

    sudo apt-get install nfs-kernel-server
    
  2. Chỉnh sửa /etc/exports:

    sudo nano /etc/exports
    

    Bây giờ thêm một dòng tương tự như thế này:

    /home/ubuntu 172.16.238.0/24(insecure,rw,all_squash,anonuid=1000,anongid=1000,no_subtree_check)
    
    • /home/ubuntu là thư mục để xuất
    • 172.16.238.0/24là địa chỉ IP để chấp nhận kết nối từ. Địa chỉ IP của máy khách Mac phải nằm trong phạm vi này. Sử dụng *để cho phép từ bất kỳ địa chỉ IP. (Nhưng hãy cẩn thận đừng để máy chủ NFS của bạn có sẵn cho toàn bộ internet!)
    • insecure có nghĩa là chấp nhận kết nối từ số cổng không được ưu tiên (cao hơn)
    • rw có nghĩa là đọc-viết
    • all_squash,anonuid=1000,anongid=1000buộc tất cả các lần đọc và ghi phải được thực hiện bởi người dùng / nhóm với UID / GID 1000 (1000 là ubuntungười dùng / nhóm mặc định trên máy chủ của tôi). Chạy idtrên máy chủ để tìm ra UID / GID của bạn. Bạn cần các tùy chọn này trừ khi máy chủ Ubuntu và máy khách Mac của bạn sử dụng cùng UID / GID cho người dùng chính.
    • no_subtree_check là một điều hiệu suất
  3. Lưu tệp và chạy

    sudo exportfs -vra
    

    để tải lại xuất khẩu NFS. (Tôi không chắc nếu -atùy chọn này là cần thiết.)

Thiết lập máy khách Mac

  1. Chỉnh sửa tệp auto_master :

    sudo nano /etc/auto_master
    

    và thay đổi dòng bắt đầu bằng /netdòng sau:

    /net            -hosts      -nobrowse,nosuid,locallocks,nfc,actimeo=1
    
    • locallockstạo khóa trên máy khách hơn là trên máy chủ. Không có điều này, Finder trở nên rất chậm và mất mãi mãi để hiển thị các thư mục.
    • nfc làm cho tên tệp UTF-8 hoạt động
    • actimeo=1đặt thời gian chờ bộ đệm thuộc tính càng ngắn càng tốt. Lưu ý rằng việc đặt nó thành 0(hoặc thêm noac) khiến Finder không nhận thấy khi một tệp bị xóa trên máy chủ, vì vậy chúng tôi không thể sử dụng nó.
    • Lưu ý rằng chúng tôi không sử dụng nfsvers=4ở đây. Tôi đã nhận được sự hoảng loạn kernel trên Mac với điều này, vì vậy tôi đã quay lại mặc định (NFSv3).
  2. Làm mới số đếm tự động bằng cách chạy

    sudo automount -vc
    

    (Nếu trước đây bạn đã cố gắn một khối lượng NFS, hãy ngắt kết nối nó trước, như vậy sudo umount -f /net/fileserver.local/home/ubuntu:)

  3. Trong menu Finder, chọn Đi -> Chuyển đến Thư mục và nhập /net/SERVER_HOST_NAME, vd /net/fileserver.local.

    Bạn sẽ tìm thấy thư mục xuất khẩu của bạn trong đó, ví dụ tại /net/fileserver.local/home/ubuntu. Kéo thư mục này vào thanh bên Finder để dễ dàng truy cập trong tương lai.


Ngoài ra, có cách nào để sửa các quyền. Cách duy nhất tôi phải truy cập các tệp của mình từ Mac là cấp quyền 777 cho thư mục tôi muốn chia sẻ :( nếu không hệ thống sẽ hiển thị cho tôi một thông báo cho biết tôi không có quyền duyệt thư mục.
Carlos Vega

@carlosvega Các all_squash,anonuid=1000,anongid=1000tùy chọn chăm sóc quyền cho tôi - mọi thứ thuộc sở hữu của UID 1000 trên máy chủ Ubuntu đều có thể được truy cập từ máy khách Mac, vì vậy không cần phải chỉnh sửa thành 777.
Jo Liss

5
Chỉ cần một nhận xét nhanh, nếu bạn chỉ muốn gắn kết "trên đường bay" ở phía mac, điều này hiệu quả với tôi:sudo mount -t nfs -o resvport 172.16.238.x:/home/ubuntu /Users/xyz/ubuntu
Scott Carlson

công trình cho tôi với Mac OSX Sierra và Ubuntu 16,04
Antonios Hadjigeorgalis

2
Mọi người không nhận ra có bao nhiêu thử nghiệm và lỗi nằm sau câu trả lời tuyệt vời này. Đặc biệt là phần "nfc" là CRUCIAL khi gắn (hoặc rsyncing) các máy chủ không phải là MacOS. Ban đầu bạn sẽ không chú ý, nhưng UTF-8 không giống với OS X vì nó ở mọi nơi khác. Không có nó, tên tệp của bạn rất có thể bị cắt xén và cần nhiều giờ để khắc phục sau này. Tôi biết tôi không thể sử dụng một nhận xét để nói, "cảm ơn", vì vậy tôi sẽ kết thúc nó ở đây;)
DanielSmedegaardBuus
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.