Tại sao / tmp là một liên kết tượng trưng đến / private / tmp?


37

Tại sao là /tmpmột liên kết tượng trưng đến /private/tmptrên Mac OS X? Nói cách khác, tại sao không /tmpchỉ là một thư mục thông thường, như trên Linux hay BSD? Tôi hiểu cách thức hoạt động của nó và tôi không bận tâm về nó, tôi chỉ quan tâm đến lý do (lịch sử?) Đằng sau nó.

Câu trả lời:


33

AIUI là một sự tiếp quản từ NextStep (mà OS X dựa trên) và NextStep đã làm điều đó để hỗ trợ NetB Boot. Ý tưởng là bạn có thể khởi động từ ổ đĩa được lưu trữ trên mạng (có thể chỉ đọc và chắc chắn được chia sẻ với các máy tính khác), và ngay từ đầu trong quá trình khởi động, hãy bật / tắt âm lượng cục bộ (có thể ghi); như g đã đề cập, điều này cho phép sửa đổi thời gian chạy của / var và / tmp, cũng như cài đặt trên mỗi máy tính trong / etc.

Điều này không còn cần thiết nữa, vì hệ thống NetBoot hiện tại của Apple sử dụng hình ảnh đĩa bóng để lưu trữ các thay đổi ở bất cứ đâu trên ổ đĩa khởi động. Nhưng một số chương trình / tài liệu / vv hiện cho rằng các tệp nằm dưới / riêng tư, do đó, sẽ có quá nhiều rắc rối để chuyển chúng trở lại ...


"Nhưng một số chương trình / tài liệu / vv" loloons (vv được liên kết với / private / etc)
Kevin Wheeler

5

Tôi đã luôn tự hỏi điều tương tự. Tôi không thể tìm thấy bất kỳ tài liệu nào để hỗ trợ nó, nhưng thông thường mẫu này được sử dụng để giúp lưu trữ tệp trên một ổ đĩa khác dễ dàng hơn (ví dụ: ổ cứng). Điều này cho phép ổ đĩa được gắn (ví dụ đính kèm) vào hệ thống tệp ở một nơi. Ví dụ khi ổ đĩa được gắn ở /privatevà sau đó các thư mục /etc, /tmp/varsau đó tất cả đều nằm trên ổ đĩa khác.

Những gì tôi không thể nói là tại sao điều này sẽ có lợi. Nó là đáng chú ý, tuy nhiên, ba thư mục chứa dữ liệu "" các tập tin như cấu hình, tạm thời, nhật ký, thoáng qua và các tập tin cơ sở dữ liệu chứ không phải là mã thực thi chứa trong /bin, /sbin/usrthư mục.


1

Không chắc chắn về lý do lịch sử, nhưng OS X luôn luôn tổ chức lại cấu trúc Unix điển hình. /tmpkhông phải là điều duy nhất đi đến /private, nó cũng có /etc/var.

Có lẽ ai đó có nền tảng OS X nhiều hơn có thể đưa ra một cái gì đó hợp lý hơn.


-1

/tmplà một lynk tượng trưng /private/etcđể duy trì 2 hệ thống tập tin được phân tách rõ ràng:

  • / có thể được gắn ở dạng chỉ đọc, để bảo vệ nó trước mọi sửa đổi vô tình hoặc không mong muốn và để bảo vệ nó khỏi bị lấp đầy với các tệp luôn tăng (nhật ký và tệp tạm thời),

  • /private có thể được gắn dưới dạng đọc-ghi và chứa bất kỳ thư mục nào chứa các tệp có thể sửa đổi.

Nếu bạn nhìn vào /bạn sẽ thấy 3 thư mục là các liên kết tượng trưng tương tự cho cùng lý do này:

cd /
ls -al | grep '> private'

Sự tách biệt quyền truy cập giữa các hệ thống tệp chỉ đọc và đọc chỉ thực sự không được sử dụng (trong MacOS X), nhưng mọi thứ đều sẵn sàng để đạt được sự phân tách bảo mật này.

Một số quản trị viên đang thực thi phân tách bảo mật này bằng cách xác định một /private hệ thống tệp cụ thể với kích thước phù hợp và các tùy chọn gắn phù hợp (đáng chú ý nhất nosuid).

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.