ความแตกต่างระหว่าง / tmp และ / var / tmp คืออะไร?


136

ในระบบFHSส่วนใหญ่จะมี/tmpทั้ง/var/tmpโฟลเดอร์และโฟลเดอร์ ความแตกต่างในการทำงานระหว่างสองคืออะไร?


2
นี่คือคำถามที่คล้ายกันบนเซิร์ฟเวอร์ผิดพลาด: ความแตกต่างและการใช้งานที่ถูกต้องสำหรับ / tmp และ / var / tmp
pabouk

คำตอบ:


115

/tmpมีความหมายว่าการเก็บข้อมูลที่รวดเร็ว ระบบจำนวนมากทำความสะอาด/tmpอย่างรวดเร็ว - ในบางระบบจะติดตั้งเป็น RAM-disk /var/tmpโดยปกติแล้วจะอยู่ในดิสก์ทางกายภาพมีขนาดใหญ่กว่าและสามารถเก็บไฟล์ชั่วคราวได้นานขึ้น ระบบบางระบบก็สะอาด/var/tmpแต่ก็ไม่บ่อยนัก

นอกจากนี้โปรดทราบว่า/var/tmpอาจไม่สามารถใช้ได้ในขั้นตอนการบู๊ตตอนต้นเนื่องจาก/varและ / หรือ/var/tmpอาจเป็นจุดต่อ ดังนั้นมันจึงเป็นนิด ๆ หน่อย ๆ เปรียบได้กับความแตกต่างระหว่างและ/bin /usr/binตัวแรกจะมีให้ในระหว่างการบู๊ตตอนต้น - ตัวที่สองหลังจากระบบได้ติดตั้งทุกอย่าง ดังนั้นบูตสคริปต์ส่วนใหญ่จะใช้/tmpและไม่ใช้/var/tmpสำหรับไฟล์ชั่วคราว

อื่น ๆ (ที่จะเกิดขึ้น) /dev/shmที่ตั้งอยู่บนลินุกซ์สำหรับแฟ้มชั่วคราวคือ


4
ฉันคิดว่ามันน่าขันเล็กน้อย/binและ/usr/binจริง ๆ แล้วทุกวันนี้ (symlink) ;-)
Felix Schwarz

2
@Felix ไม่ได้อยู่ในการกระจายทั้งหมด แต่ลีนุกซ์กำลังเคลื่อนไปทางนั้น เป็นไปได้เพราะดิสก์มีขนาดใหญ่ขึ้นเรื่อย ๆ
นิลส์


15

พวกเขามีวัตถุประสงค์และการทำงานเหมือนกัน UNIX / Linux ทุกเวอร์ชันจะจัดการไดเรกทอรีเหล่านี้แตกต่างกัน ในอดีตก่อนการถือกำเนิดของระบบไฟล์ที่ใช้ RAM / swap คุณมีระบบที่ไม่ใช้ดิสก์ซึ่งระบบไฟล์/และ/usrจะเป็นแบบอ่านอย่างเดียวและ/var(ตัวแปร) จะอ่านเขียน /tmpชื่อจะเป็น symbolic link /var/tmpไป ต่อมาระบบที่ไม่ใช้ดิสก์ลดลงอย่างมีสไตล์พื้นที่ดิสก์มีราคาถูกลง (เพื่อให้มีรูทไฟล์ขนาดใหญ่) และเทคโนโลยีที่อนุญาตสำหรับระบบไฟล์ที่ติดตั้งจากหน่วยความจำแทนดิสก์ /var/tmpไดเรกทอรีหลุดออกมาจากรูปแบบ แต่ยังคงใช้บางโปรแกรม

วันนี้การรักษาความปลอดภัยมากขึ้นมีการจัดตั้งขึ้นโดยเริ่มต้นใน/tmpเช่นg+s,+tสิทธิ์ /var/tmpแต่ไม่ได้อยู่ใน นอกจาก/var/tmpนี้จะติดตั้งไม่ค่อยจาก RAM หรือ swap


บนของเดเบียนและฟางระบบ / tmp และ / var / tmp มีโหมดเดียวกัน - a+rwx+t- g+sและไม่มีการ
sourcejedi

12

ข้อมูลจำเพาะฐาน POSIX, ปัญหา 7 ใน/ tmp :

ไดเรกทอรีต่อไปนี้จะมีอยู่ในระบบที่เข้ากันได้และจะใช้ตามที่อธิบายไว้:

tmp /

ไดเรกทอรีพร้อมใช้งานสำหรับแอปพลิเคชันที่ต้องการสถานที่ในการสร้างไฟล์ชั่วคราว แอปพลิเคชันจะได้รับอนุญาตให้สร้างไฟล์ในไดเรกทอรีนี้ แต่จะไม่ถือว่าไฟล์ดังกล่าวถูกสงวนไว้ระหว่างการเรียกใช้แอปพลิเคชัน

ลำดับชั้นของไฟล์มาตรฐาน 2.3 บน/ tmp :

/ tmpไดเรกทอรีจะต้องทำพร้อมใช้งานสำหรับโปรแกรมที่ต้องการไฟล์ชั่วคราว

โปรแกรมต้องไม่ถือว่าไฟล์หรือไดเรกทอรีใด ๆ ใน/ tmpถูกสงวนไว้ระหว่างการเรียกใช้ของโปรแกรม

หลักการและเหตุผล

มาตรฐาน IEEE P1003.2 (POSIX, ส่วนที่ 2) ทำให้ข้อกำหนดที่คล้ายกับส่วนด้านบน

แม้ว่าข้อมูลที่เก็บไว้ใน/ tmpอาจถูกลบในลักษณะเฉพาะของไซต์ขอแนะนำให้ลบไฟล์และไดเรกทอรีที่อยู่ใน/ tmpทุกครั้งที่มีการบูทระบบ

FHS เพิ่มคำแนะนำนี้บนพื้นฐานของแบบอย่างก่อนประวัติศาสตร์และการปฏิบัติทั่วไป แต่ไม่ได้ทำให้เป็นข้อกำหนดเพราะการบริหารระบบไม่ได้อยู่ในขอบเขตของมาตรฐานนี้

POSIX ไม่ได้ระบุvar / แม้ว่า FHS จะ :

var / tmp /ไดเรกทอรีมีให้สำหรับโปรแกรมที่ต้องการไฟล์ชั่วคราวหรือไดเรกทอรีที่จะถูกเก็บไว้ระหว่างการรีบูตระบบ ดังนั้นข้อมูลที่เก็บไว้ในvar / tmp /ถาวรมากกว่าข้อมูลในtmp /

ไฟล์และไดเร็กทอรีที่อยู่ใน/ var / tmpต้องไม่ถูกลบทิ้งเมื่อระบบบูต แม้ว่าข้อมูลที่เก็บไว้ใน / var / tmpจะถูกลบออกมักจะอยู่ในลักษณะที่เว็บไซต์ที่เฉพาะเจาะจงก็จะแนะนำว่าการลบเกิดขึ้นในช่วงเวลาที่น้อยกว่าที่พบบ่อย / tmp


Ahhh ฉันรักเอกสาร ตอนนี้ฉันรู้แล้วว่าฉันรู้และทำไมฉันถึงเชื่อว่าฉันรู้ ความต้องการทางญาณวิทยาของฉันตอนนี้ก็พอใจแล้ว
สตีเฟ่นซี
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.