มันปลอดภัยที่จะ rm -rf / tmp / *


29

นี่คือสิ่งที่ฉันเคยทำบน Windows เป็นจำนวนมาก แต่หลังจากความล้มเหลวเมื่อเร็ว ๆ นี้ฉันต้องการตรวจสอบให้แน่ใจ ปลอดภัยไหมที่จะทำ

sudo rm -rf /tmp/*

?


นี่เป็นเซิร์ฟเวอร์ที่ใช้งานอยู่หรือเครื่องเดสก์ท็อปที่มีการปิดเครื่องทุกวันหรือไม่
ผู้ใช้ที่ไม่รู้จัก

ฉันต้องการถามว่าทำไมคุณต้องการลบไฟล์ใน / tmp เป็นเพราะมันเต็มไปด้วยเหตุผลส่วนตัวหรือ? หากเป็นปัญหาด้านพื้นที่อาจเป็นเพราะแอปพลิเคชั่นมีพฤติกรรมที่ไม่ดีหรืออาจเป็นเพราะจำเป็นต้องอยู่ในพาร์ติชันที่มีขนาดใหญ่กว่า หากความเป็นส่วนตัวมีทางเลือกอื่นเช่นการใช้ระบบไฟล์ที่เข้ารหัสซึ่งคุณอาจต้องการพิจารณา
Rob

อาจทำให้เกิดปัญหาต่าง ๆ ในระบบของคุณ แต่ส่วนใหญ่จะทำงาน
peterh กล่าวว่าคืนสถานะโมนิก้า

คำตอบ:


19

โดยทั่วไปไม่มี

ถ้ามันเต็มไปด้วยขยะคุณอาจต้องการดูว่าซอฟต์แวร์ไม่ทำความสะอาดตัวเอง

นอกจากนี้คุณยังสามารถใช้ค้นหาเพื่อระบุไฟล์ที่ยังไม่ได้แก้ไขหรือเข้าถึงได้ในระยะเวลานานซึ่งอาจปลอดภัยที่จะลบ


9
เห็นด้วยกับการขับร้องของ 'ไม่' ที่นี่และภาคผนวกที่ distros linux ส่วนใหญ่ทำความสะอาดโดยอัตโนมัติ/tmp/เมื่อเริ่มต้น แม้ว่าจะไม่ได้ช่วยอะไรเลยหากเรากำลังพูดถึงเซิร์ฟเวอร์ที่ไม่มีการรีบูต - EVER ที่นี่ความเป็นไปได้อย่างหนึ่งที่อาจเกิดขึ้น find ./ -type f -atime 14 -exec rm {} \; ทุกสัปดาห์หรือมากกว่านั้นคือการลบไฟล์ธรรมดาที่ไม่ได้เข้าถึงเลยในช่วงสองสัปดาห์ที่ผ่านมา ..
Shadur

find ./ -type f -atime 14 -deleteด้วย gnu-find
ผู้ใช้ที่ไม่รู้จัก

@user ของหลักสูตรนี้คิดว่า/tmpไม่ได้ใช้ค่าเริ่มต้นของเคอร์เนลในปัจจุบันซึ่งเป็นเพียงการอัปเดตเมื่อแฟ้มถูกแก้ไขหรือrelatime noatimeในกรณีนี้atimeจะไม่เป็นประโยชน์จากระยะไกล
xenoterracide

8

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

คุณควรดูว่ามีอะไรอยู่ในนั้นก่อนที่คุณจะตัดสินใจลบออก การทำ rf -rf * กับสิ่งใดก็ตามเป็นอันตรายโดยเนื้อแท้


3
ในระบบของฉัน logfiles ไปที่ / var / log, lockfiles ไปที่ / var / lock
ผู้ใช้ที่ไม่รู้จัก

3
@user แน่นอนสำหรับระบบ daemons ... นี่ไม่ได้หมายความว่าไม่มีการล็อกหรือบันทึกสำหรับแอปพลิเคชันผู้ใช้/tmpเนื่องจากผู้ใช้ปกติไม่สามารถเขียนถึง/var/log|lockฉันมีเชลล์สคริปต์ที่เขียนล็อคไป/tmp
xenoterracide

7

ไม่ตัวอย่างเช่นหากคุณมีฐานข้อมูล MySQL ที่ทำงานบนคอมพิวเตอร์ของคุณที่จะฆ่าซ็อกเก็ตหรือถ้าคุณใช้ emacs เป็นเซิร์ฟเวอร์ที่จะฆ่ากระบวนการเซิร์ฟเวอร์ มีอีกหลายกรณีที่ไม่ปลอดภัยที่จะลบไฟล์เหล่านี้ สิ่งที่ดีที่สุดที่จะทำคือการเขียนสคริปต์ที่ตรวจสอบวันที่ของไฟล์และจะลบมันถ้ามันเก่า


คำถามด่วนเมื่อคุณพูดว่า "ที่จะฆ่าซ็อกเก็ต" สิ่งที่คุณทำโดย 'ซ็อกเก็ต'?
Qasim


2

เลขที่

แต่คุณสามารถ ramdisk สำหรับ / tmp dir แล้วมันจะว่างเปล่าหลังจากรีบูตระบบทุกครั้ง และเป็นผลข้างเคียงที่ระบบของคุณอาจจะกลายเป็นเรื่องใหญ่เร็วขึ้นเล็กน้อย

Google มีข้อมูลมากมายเกี่ยวกับ tmpfs และ / หรือ ramfs


การล้าง / tmp โดยอัตโนมัติเมื่อรีสตาร์ทเป็นเรื่องปกติหรือไม่ Gentoo ทำและฉันคิดว่า Ubuntu ทำมานานแล้วตั้งแต่ฉันใช้มัน
Michael Mrozek

ไม่ฉันไม่คิดว่า Debian ที่ได้รับมาจาก Debian อย่าง Ubuntu จะทำมัน (ตอนนี้) แต่มันค่อนข้างง่ายที่จะเพิ่มถ้าคุณชอบมัน
Johan

Ubuntu Matty (หรืออะไรก็ตามที่เรียกว่ารุ่นปัจจุบัน) แต่ถ้าคุณไม่รีบูทเครื่องเป็นประจำมันจะไม่เกิดขึ้น
Rob

โอเคไม่ได้ตรวจสอบกระแส ฉันกำลังใช้แทร็ก LTS ในตอนนี้
Johan

Ubuntu ทำและ Linux ทุกตัวที่ฉันทดสอบมาก่อนทำ: Knoppix, Peanut, Halloween, Red Hat, SuSe ทำไมมันถึงทำให้ระบบเร็วขึ้น? อะไรจะเร็วขึ้น การคำนวณการเข้าถึงดิสก์ระบบเครือข่ายบูตเครื่องหรือไม่
ผู้ใช้ที่ไม่รู้จัก

-4

คำแนะนำของฉันคือการเปลี่ยนชื่อโฟลเดอร์ tmp ของคุณก่อนเพื่อดูว่าสิ่งใดได้รับผลกระทบจากไดเรกทอรีนี้ เปลี่ยนชื่อจาก "tmp" เป็น "old_tmp" นอกจากนี้สร้างโฟลเดอร์ว่างใหม่ที่มีชื่อ "tmp" เนื่องจากอาจมีการตั้งค่าหรือกระบวนการของระบบที่จำเป็นต้องใช้โฟลเดอร์นี้เพื่อสร้างไฟล์บางไฟล์ภายในไดเรกทอรีนี้เช่นไฟล์บันทึก ทำตามขั้นตอนเหล่านี้สำหรับการลบวันที่ tmp อย่างปลอดภัย

1- เปลี่ยนชื่อไดเรกทอรี "tmp" ที่มีอยู่เป็น "old_tmp" 2- สร้างไดเรกทอรี "tmp" ใหม่ที่ว่างเปล่า 3- กำหนดสิทธิ์ทั้งหมดเป็น "0777" ไปยังไดเรกทอรีที่สร้างขึ้นใหม่นี้เพื่อให้ระบบ / การตั้งค่าสามารถมีสิทธิ์ในการสร้าง / วางบันทึกและไฟล์อื่น ๆ ภายในไดเรกทอรีนี้ 4- เรียกใช้ระบบและแอพพลิเคชั่นเพื่อให้แน่ใจว่าทุกอย่างทำงานได้ดีและทำงานได้ตามปกติ ให้สังเกตใน 2-3 วัน 5- หากแน่ใจว่าไม่มีอะไรได้รับผลกระทบเนื่องจากการเปลี่ยนชื่อไดเรกทอรี "tmp" เป็น "old_tmp" คุณสามารถลบไดเรกทอรี "old_tmp"

หมายเหตุ: หากมีสิ่งใดที่ทำให้เกิดปัญหาเนื่องจากการเปลี่ยนชื่อไดเรกทอรี "tmp" เป็น "old_tmp" ให้ไดเรกทอรีนี้กลับไปเป็นชื่อเดิม "tmp"


2
นี่เป็นความคิดที่แย่จริงๆ มีหลายสาธารณูปโภคมาตรฐานเปลือกที่เขียนไฟล์ชั่วคราวเข้ามาและที่จะเริ่มต้นความล้มเหลวโดยเร็วที่สุดเท่าที่คุณเปลี่ยนชื่อเดิม/tmp /tmpนอกจากนี้โปรดทราบว่า/tmpไดเรกทอรีควรมีสิทธิ์เฉพาะ (เช่นชุดบิตเหนียว)
Kusalananda

โปรดอ่านอย่างระมัดระวังสิ่งที่ฉันพูด: คุณอาจจะมีสาธารณูปโภคเชลล์มาตรฐานจำนวนมากที่เขียนไฟล์ชั่วคราวลงในไดเรกทอรี "/ tmp" นั่นคือเหตุผลที่ฉันบอกว่าจะสร้างไดเรกทอรี "tmp" ใหม่และกำหนดสิทธิ์ทั้งหมดให้หลังจากเปลี่ยนชื่อเดิมที่มีอยู่ ไดเรกทอรี "tmp"
A.Aleem11

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