rm -rf / tmp / *安全吗?


29

这是我过去在Windows上经常做的事情,但是在最近的惨败之后,我想确定一下。安全吗

sudo rm -rf /tmp/*


这是一台运行中的服务器,还是一台每天关机的台式机?
用户未知,

我想问一下为什么要删除/ tmp中的文件?是因为它正在填充,还是出于隐私原因?如果是空间问题,则可能是由于应用程序的行为不当所致,或者可能是因为它需要位于更大的分区上。如果有私密性,还有其他选择,例如使用您可能要考虑的加密文件系统。
罗布

它可能会在您的系统上引起各种问题,但主要是可以正常工作。
彼得说恢复莫妮卡的时间

Answers:


19

一般来说,没有。

如果它充满了垃圾,您可能想要看看哪些软件在其自身之后没有清除。

您还可以使用find来识别长时间未修改或访问的文件,这些文件可能可以安全删除。


9
同意这里“ no”的副词,以及大多数linux发行版/tmp/在启动时自动清除的附录。尽管如果我们在这里谈论的是无重启服务器,这不一定有帮助,但可能有一种可能性是find ./ -type f -atime 14 -exec rm {} \; 每周运行 一次,以便删除过去两周内完全没有访问过的任何纯文件。 ..
Shadur 2011年

find ./ -type f -atime 14 -delete使用gnu-find
用户

@user这当然假定/tmp未使用当前的内核默认值,该默认值relatime仅在修改文件时更新,或者noatime。在这种情况下atime,不会有太大帮助。
xenoterracide 2011年

8

真正的答案是-这取决于。/ tmp可以由需要存在锁文件或临时日志才能运行的应用程序使用,也可以不使用。那里可能有符号链接...不确定是做什么用的,但是总是有可能的。

在决定删除它之前,您应该真正查看其中的内容。对任何东西执行rf -rf *本质上是危险的。


3
在我的系统上,日志文件转到/ var / log,锁文件转到/ var / lock。
用户未知,

3
@user肯定的是,系统守护进程......这并不一定意味着有没有锁或日志的用户应用程序/tmp,因为普通用户不能写/var/log|lock我有一个写入锁到一个shell脚本/tmp
xenoterracide

7

否。例如,如果您的计算机上运行着一个MySQL数据库,该数据库将终止其套接字,或者您将emacs用作服务器,这将终止服务器进程。在许多其他情况下,删除这些文件也不安全。最好的办法是编写一个脚本来检查文件的日期,并仅在文件过旧时才将其删除。


当您说“那将杀死它的插座”时,您会快速问到“插座”是什么意思?
卡西姆


2

没有。

但是您可以为/ tmp目录添加一个ramdisk,然后在每次系统重新启动后将其清空。作为副作用,您的系统可能会变得更快一些。

Google在tmpfs和/或ramfs上有很多信息。


重新启动时自动清除/ tmp是否不常见?Gentoo可以,我认为Ubuntu可以,但是自从我使用它已有一段时间了
Michael Mrozek

不,我不认为Debian派生的发行版像Ubuntu一样(现在仍然如此)。但是,如果您愿意,添加它非常容易。
约翰

Ubuntu Matty(或称为当前版本的任何版本)都可以。但是,如果您不定期重新启动计算机,则不会发生。
罗布

确定,没有检查当前。我正在使用LTS曲目。
约翰

Ubuntu确实做到了,而我之前测试过的每个Linux都做到了:Knoppix,花生,万圣节,红帽,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
真是个坏主意。有许多标准的Shell实用程序可以将临时文件写入/tmp其中,一旦您重命名原始文件,它们就会开始失败/tmp。另请注意,该/tmp目录应具有特定的权限(例如,设置粘性位)。
库沙兰丹

请仔细阅读我说的内容:没错,可能有许多标准的Shell实用程序将临时文件写入“ / tmp”目录,这就是为什么我说过要在重命名旧的现有目录后创建一个新的“ tmp”目录并为其分配完全权限“ tmp”目录。
A.Aleem11年11

1
是的,您说的是权限0777实际上应该是1777
库萨兰达
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.