2011-01-24 39 views
5

Trên máy Mac, tôi có một thư mục chia sẻ, ~ \ Documents. Có hai thư mục con, Dữ liệu và Dữ liệu_2011, thư mục chứa các tệp trong vài năm qua và sau đó chứa các liên kết tượng trưng đến các thư mục trong thư mục Dữ liệu đã được cập nhật kể từ ngày 1 tháng 1 năm 2011. Các liên kết được tạo với tiêu chuẩn ln -s lệnh.liên kết tượng trưng hoạt động khi được chia sẻ với Windows hoặc Linux (smb), nhưng bị hỏng khi được chia sẻ với Mac (afp hoặc smb)

Khi tôi gắn kết thư mục Tài liệu được chia sẻ trên máy tính Windows, các liên kết hoạt động. Khi tôi gắn kết trên Linux bằng cách sử dụng smb, các liên kết hoạt động. Khi tôi sử dụng các liên kết này trực tiếp trên máy Mac lưu trữ, chúng hoạt động. Tuy nhiên, khi tôi gắn thư mục Documents từ một máy Mac từ xa, các liên kết mềm bị hỏng. Để rõ ràng, tôi gắn kết thư mục Tài liệu bằng cách đi tới Trình tìm kiếm> Kết nối với máy chủ> afp: //xxx.xxx.xx.xx/ hoặc smb: //xxx.xxx.xx.xx/Documents

Mọi ý tưởng để biết cách làm cho các liên kết mềm này hoạt động khi được chia sẻ với một máy Mac từ xa?

-Sibo

Trả lời

4

Chia sẻ tệp Mac OS hiển thị liên kết tượng trưng làm liên kết tượng trưng thực tế.

Nếu tôi kết nối một máy Mac với máy Mac khác, sử dụng AFP hoặc SMB, tôi có thể xác nhận điều này. Lưu ý rằng các liên kết tượng trưng được giải quyết bởi ứng dụng khách - ngay cả trong trường hợp không chia sẻ tệp, điều này có nghĩa là đường dẫn tương đối trong liên kết tượng trưng có thể phức tạp và trong trường hợp này liên quan đến chia sẻ tệp mạng. để có thể xem tệp đích (tệp đích cũng phải nằm trong thư mục được chia sẻ và được gắn kết) và đường dẫn cần phải giống nhau. Ví dụ, nếu tôi tạo một tệp văn bản có tên là "foo" trong thư mục chính của tôi, sau đó thực hiện "ln -s foo symlink" để tạo liên kết đến nó có tên là symlink, sau đó gắn kết thư mục chính đó từ một máy tính thứ hai và sau đó, hãy liên kết. làm "ls -l" nó được hiển thị là "symlink @ -> foo", và nếu tôi cat tập tin tôi có thể đọc nó. Nhưng nếu tôi tạo liên kết tượng trưng là "ln -s/Users/matt/foo symlink", thì trên máy tính thứ hai ls -l hiển thị nó là "symlink @ ->/Users/matt/foo", và mèo nói "cat: symlink: Không có tập tin hoặc thư mục như vậy ". Đó là bởi vì trên máy tính thứ hai,/Users/matt là một thư mục chủ cục bộ không chứa một tệp có tên foo (và nếu có, bất cứ điều gì giải quyết symlink sẽ thấy foo cục bộ, không phải foo được chia sẻ từ máy tính đầu tiên) . Vì vậy, về cơ bản: bạn có thể sử dụng "ls -l" để xem nơi các điểm liên kết tượng trưng, ​​và lưu ý rằng máy khách sẽ giải quyết liên kết tượng trưng và cố mở bất kỳ tệp nào có tên đó, có thể hoặc không thể là thứ bạn kỳ vọng.

(Có lẽ lý do mà thử nghiệm của bạn hoạt động từ máy Linux chứ không phải máy Mac của bạn là máy Linux có nhiều chia sẻ mạng hơn hoặc có tên khác nhau, sao cho tên mục tiêu liên kết tượng trưng là tên tệp hợp lệ trên máy Linux nhưng không phải máy Mac.)

+0

Tôi hiểu và đồng ý với lý do tại sao các liên kết tượng trưng của tôi hiện không thành công. Vì vậy, một giải pháp có thể có thể là cơ cấu lại cấu trúc thư mục của tôi, chẳng hạn Data_2011 là một thư mục chứa cả hai liên kết tượng trưng và một thư mục con Dữ liệu. Điều này thực sự không phải là lý tưởng, tuy nhiên. Có cách nào để các liên kết này hoạt động mà không cần hợp nhất các thư mục không? Tôi đã thử sử dụng một liên kết tương đối như "ln -s ../Data/datafolder symlink", nhưng tôi không nhận được kết quả khác. –

+0

Cập nhật: nevermind - tạo liên kết tượng trưng với vị trí tương đối KHÔNG hoạt động, vì vậy tôi sẽ đánh dấu câu hỏi này Đã trả lời. Tôi thực sự chuỗi lệnh ln của tôi trong một lệnh tìm ("find -exec ln -s}, do đó, nó sẽ mất nhiều hơn một chút finangling để có được tất cả làm việc trong tình hình của tôi. Cảm ơn sự giúp đỡ! –

+0

Cảm ơn rất nhiều. giúp tôi với thiết lập thư viện phương tiện truyền thông Sonos trên macOS High Sierra – ursa

Các vấn đề liên quan