Ubuntu 会/tmp
在重启时进行清理。假设我的系统意外停机,在 /tmp 中留下了一些有价值的文件/tmp
。我重新启动系统后该怎么做才能防止 /tmp 文件被删除?
答案1
感谢 Chris.C 和 lesmana/tmp 目录是如何清理的?
在 Ubuntu 上,/tmp 的清理是通过 /etc/init/mounted-tmp.conf 脚本完成的
TMPTIME
如果文件自创建或修改以来已过了一定天数,则将对该文件执行此清理。的值TMPTIME
设置在/etc/default/rcS
要停止默认清理行为,您可以增加到TMPTIME
足够的值或注释掉find
负责实际删除的 mounted-tmp.conf 脚本的最后一行。
最后,你的文件系统可能/tmp
实际上是作为临时文件这通常意味着文件系统将被映射到 RAM 而不是硬盘,并且在重启后不会保留。
这不是 Ubuntu 上的默认设置,但您可以通过发出mount
并查看列出的文件系统/tmp
(如果列出了)来检查您的系统是否存在这种情况。
要停止创建/tmp
tmpfs,您可以/tmp
删除/etc/fstab
答案2
@ssnobody 的答案解决了问题,但这不是你应该做的事情。让/tmp
initscripts 完成它们的工作。
来自文件系统层次结构标准 3.0 第 3 章第 18 节有关/tmp
目录的内容:
3.18. /tmp:临时文件
必须为需要临时文件的程序提供 /tmp 目录。
程序不能假设 /tmp 中的任何文件或目录在程序调用之间都会被保留。[…]
虽然可以以站点特定的方式删除存储在 /tmp 中的数据,但建议在系统启动时删除位于 /tmp 中的文件和目录。
FHS 根据历史先例和常见做法增加了此建议,但并未将其作为要求,因为系统管理不属于本标准的范围。
但是,FHS 为此目的定义了另一个目录。来自文件系统层次结构标准 3.0 第 5 章第 15 节有关/var/tmp
目录的内容:
5.15. /var/tmp:系统重启之间保留的临时文件
/var/tmp 目录可供需要在系统重启之间保留的临时文件或目录的程序使用。因此,存储在 /var/tmp 中的数据比存储在 /tmp 中的数据更持久。
系统启动时,不得删除位于 /var/tmp 中的文件和目录。尽管存储在 /var/tmp 中的数据通常以站点特定的方式删除,但建议删除频率低于 /tmp。
这是存放那些不太有价值但您又不想在意外关机后丢失的临时文件的最佳位置。
无论如何,在临时目录中处理有价值的文件始终是个坏主意。您应该在主目录中工作。顺便说一句,您通常还有一个$HOME/tmp
目录,在重新启动后不会清空,您可以将其用于个人临时文件。
答案3
一种选择是将硬盘连接到另一台计算机,然后用该计算机将文件从 tmp 文件夹中拉出来...或者,如果您有双启动系统,则启动到另一个系统,只要该系统支持您的 Ubuntu 分区的磁盘格式化,然后拉下文件。