Sự khác biệt giữa / tmp và / var / tmp là gì?


Câu trả lời:


115

/tmpcó nghĩa là lưu trữ nhanh (có thể nhỏ) với vòng đời ngắn. Nhiều hệ thống dọn dẹp /tmprất nhanh - trên một số hệ thống, nó thậm chí còn được gắn dưới dạng đĩa RAM. /var/tmpthường nằm trên một đĩa vật lý, lớn hơn và có thể giữ các tệp tạm thời trong một thời gian dài hơn. Một số hệ thống cũng sạch sẽ /var/tmp, nhưng ít thường xuyên hơn.

Cũng lưu ý rằng /var/tmpcó thể không có sẵn trong quá trình khởi động sớm, vì /varvà / hoặc /var/tmpcó thể là các điểm gắn kết. Do đó, nó là một chút so sánh với sự khác biệt giữa /bin/usr/bin. Cái đầu tiên có sẵn trong khi khởi động sớm - cái sau sau khi hệ thống đã gắn kết mọi thứ. Vì vậy, hầu hết các kịch bản khởi động sẽ sử dụng /tmpvà không /var/tmpcho các tệp tạm thời.

Một vị trí (sắp tới) trên Linux cho các tệp tạm thời là /dev/shm.


4
Tôi thấy nó hơi mỉa mai điều đó /bin/usr/binthực sự giống nhau ngày nay (symlinks). ;-)
Felix Schwarz

2
@Felix Chưa có trên tất cả các bản phân phối. Nhưng Linux đang di chuyển theo cách đó. Có thể vì đĩa càng ngày càng lớn.
Nils

27

/tmpcó thể, và đôi khi là, được làm sạch khi khởi động lại. /var/tmpđược bảo tồn giữa các lần khởi động lại.

Xem bài viết Wikipedia trên FHS .


1
/ tmp thậm chí có thể xóa các tệp được tạo bởi một quy trình ngay sau khi thoát!
osvein

15

Họ có cùng mục đích và chức năng. Mỗi phiên bản UNIX / Linux sẽ xử lý các thư mục này khác nhau. Trước đây, trước sự ra đời của các hệ thống tệp dựa trên RAM / trao đổi, bạn có các hệ thống không có đĩa trong đó các hệ thống //usrtệp sẽ ở chế độ chỉ đọc và /var(biến) sẽ là đọc-ghi. Các /tmptên sẽ là một liên kết tượng trưng đến /var/tmp. Sau đó, các hệ thống không có đĩa không còn hoạt động, không gian đĩa trở nên rẻ hơn (để có các tệp gốc lớn hơn) và công nghệ cho phép các hệ thống tệp được gắn từ bộ nhớ thay vì đĩa. Thư mục /var/tmpbị lỗi mốt, nhưng vẫn được một số chương trình sử dụng.

Ngày nay, nhiều bảo mật được thiết lập theo mặc định /tmp, như g+s,+tquyền, nhưng không bật /var/tmp. Ngoài ra, /var/tmphiếm khi được gắn từ RAM hoặc trao đổi.


trên hệ thống debian và fedora của tôi, / tmp và / var / tmp có cùng chế độ - a+rwx+t- và không g+s.
nguồn

12

Thông số kỹ thuật cơ sở POSIX, Số 7 trên / tmp :

Thư mục sau sẽ tồn tại trên các hệ thống phù hợp và sẽ được sử dụng như mô tả:

/ tmp

Một thư mục có sẵn cho các ứng dụng cần một nơi để tạo các tệp tạm thời. Các ứng dụng sẽ được phép tạo các tệp trong thư mục này, nhưng không cho rằng các tệp đó được bảo tồn giữa các yêu cầu của ứng dụng.

Tiêu chuẩn phân cấp tệp 2.3 trên / tmp :

Thư mục / tmp phải được cung cấp cho các chương trình yêu cầu tệp tạm thời.

Các chương trình không được cho rằng bất kỳ tệp hoặc thư mục nào trong / tmp đều được giữ nguyên giữa các yêu cầu của chương trình.

Cơ sở lý luận

Tiêu chuẩn IEEE P1003.2 (POSIX, phần 2) đưa ra các yêu cầu tương tự như phần trên.

Mặc dù dữ liệu được lưu trữ trong / tmp có thể bị xóa theo cách dành riêng cho trang web, nhưng các tệp và thư mục nằm trong / tmp nên được xóa bất cứ khi nào hệ thống được khởi động.

FHS đã thêm khuyến nghị này trên cơ sở tiền lệ và thông lệ lịch sử, nhưng không biến nó thành một yêu cầu vì quản trị hệ thống không nằm trong phạm vi của tiêu chuẩn này.

POSIX không chỉ định / var / tmp . FHS mặc dù :

Thư mục / var / tmp được cung cấp cho các chương trình yêu cầu các tệp hoặc thư mục tạm thời được bảo tồn giữa các lần khởi động lại hệ thống. Do đó, dữ liệu được lưu trữ trong / var / tmp liên tục hơn dữ liệu trong / tmp .

Không được xóa các tệp và thư mục trong / var / tmp khi hệ thống được khởi động. Mặc dù dữ liệu được lưu trữ trong / var / tmp thường bị xóa theo cách cụ thể của trang web, nhưng chúng tôi khuyên bạn nên xóa xảy ra ở một khoảng thời gian ít thường xuyên hơn so với / tmp .


Ahhh, tôi yêu tài liệu. Bây giờ tôi biết rằng tôi biết, và tại sao tôi tin rằng tôi biết điều đó. Nhu cầu nhận thức luận của tôi rất hài lòng ngay bây giờ.
Stephen C
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.