Thư mục /tmp và /var/tmp trong Linux khác nhau như thế nào?

Thư mục /var/tmp và /tmp thường dễ bị nhầm lẫn trong Linux. Chính vì vậy, bạn cần phải nhận thấy sự khác nhau giữa 2 thư mục này. Hãy cùng tìm hiểu sự khác nhau giữ /var/tmp và /tmp nhé!

Thư mục /tmp và /var/tmp là gì? 

/ tmp: Tệp tạm thời

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 /tmp nào được bảo tồn giữa các yêu cầu của chương trình.

Thư mục /tmp và /var/tmp trong Linux khác nhau như thế nào? (1)

Cơ sở lý luận:

Chuẩn POSIX.1-2008 của IEEE liệt kê các yêu cầu tương tự như phần trên. Mặc dù dữ liệu được lưu trữ /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 sẽ bị 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.

/var/ tmp: Các tệp tạm thời được bảo tồn giữa các lần khởi động lại hệ thống

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.

Các tập tin và thư mục nằm trong /var/tmp không được xóa khi hệ thống được khởi động. Mặc dù dữ liệu được lưu trữ /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 việc xảy ra ở một khoảng thời gian ít thường xuyên hơn /tmp.

Nhân xét:

Cả 2 thư mục /var/tmp và /tmp đều được sử dụng để lưu trữ dữ liệu mang tính tạm thời trong hệ thống Linux của bạn.

Bạn có thể chứa dữ liệu trên /var/tmp và cả /tmp tạm thời và tiếp tục công việc của mình. Cả 2 hệ thống tập tin này đều được các chương trình/dịch vụ sử dụng để lưu trữ tạm thời các thông tin như pid, session,...

Nếu là một quản trị viên hệ thống, bạn có thể sử dụng không gian trong 2 file này để chứa các gói RPM cho bảng vá, cho mục đích kiểm thử hoặc bất kỳ thứ gì khác bạn muốn lưu trữ tạm thời.

Sự khác nhau giữa thư mục /var/tmp và /tmp

Thời gian lưu trữ dữ liệu tạm chính là sự khác nhau chính giữa 2 hệ thống tập tin này.

Dữ liệu lưu trữ trong thư mục /var/tmp lâu hơn so với /tmp. Mặc định dữ liệu giữ trong /tmp chỉ 10 ngày trong khi /var/tmp là tận 30 ngày. Hơn nữa, một sự khác biệt nữa chính là dữ liệu trong /tmp sẽ được xóa đi khi máy chủ reboot.

Thư mục /tmp và /var/tmp trong Linux khác nhau như thế nào? (2)

Trong RHEL 7, bạn có thể sử dụng /tmp để mount point đến filesystem RAM Disk.

Những file cấu hình sau sẽ liên quan đến /var/tmp và /tmp, cả 2 file cấu hình này đều là mặc định của hệ thống đã setup sẵn và quy định rõ thời gian lưu trữ dữ liệu trên 2 thư mục.

RHEL 6/CentOS 6/ect/cron.daily/tmpwatch

# cat/etc/cron.daily/tmpwatch




#! /bin/sh

flags=-umc

/usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM-unix \

-x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix \

-X '/tmp/hsperfdata_*' -X '/tmp/.hdb*lock' -X '/tmp/.sapstartsrv*.log' \

-X '/tmp/pymp-*' 10d /tmp

/usr/sbin/tmpwatch "$flags" 30d /var/tmp

for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do

    if [ -d "$d" ]; then

/usr/sbin/tmpwatch "$flags" -f 30d "$d"

    fi

done

RHEL 7/CentOS 7/usr/lib/tmpfiles.d/tmp.conf

# cat /usr/lib/tmpfiles.d/tmp.conf




#  This file is part of systemd.

#

#  systemd is free software; you can redistribute it and/or modify it

#  under the terms of the GNU Lesser General Public License as published by

#  the Free Software Foundation; either version 2.1 of the License, or

#  (at your option) any later version.




# See tmpfiles.d(5) for details




# Clear tmp directories separately, to make them easier to override

v /tmp 1777 root root 10d

v /var/tmp 1777 root root 30d




# Exclude namespace mountpoints created with PrivateTmp=yes

x /tmp/systemd-private-%b-*

X /tmp/systemd-private-%b-*/tmp

x /var/tmp/systemd-private-%b-*

X /var/tmp/systemd-private-%b-*/tmp

You have new mail in /var/spool/mail/root

Chúc bạn thành công!