如何在Ubuntu中删除交换文件?


15

按照以下过程在Ubuntu中创建了交换文件,但是不再需要它,因此我想删除它。

但是,该博客文章未写任何有关删除的内容,因此我尝试通过删除它sudo rm -rf,但出现了Operation not permitted错误。

到目前为止,我尝试了有关如何删除具有相同错误的文件的许多答案,但在我的情况下没有任何效果:

, 其中包括:

  • 更改交换文件和根目录的权限/hmod ugo+w .
  • 更改交换文件和/chattr -i -a .)上的不可变标志
  • 重新启动系统

他们都没有工作。我想知道如何删除它,但是如果它是交换文件,如何删除它?

结果free -h是:

              total        used        free      shared  buff/cache   available 
Mem:           1.7G        101M        405M        1.2M        1.2G        1.4G
Swap:          1.5G        234M        1.3G

交换文件是否仍然在线?请输入命令free -h,并将结果附加到您的问题中。
查尔斯·格林

1
因此,交换文件仍在使用交换文件。请执行命令sudo swapoff -a,然后尝试删除交换文件。
查尔斯·格林

@CharlesGreen奏效了!谢谢。您可以考虑将其添加为答案吗?我会给你+25代表。
布拉萨德'17

Answers:


28

输出的free -h表示正在使用交换-交换进程仍在运行。

输入命令

sudo swapoff /path/to/swapfile/to/be/deleted

这将禁用交换文件,并且此时可以删除该文件。

请注意,如果您/etc/fstab为交换文件创建了一个条目,则还应将其删除(或通过#在行的开头添加注释以将其注释掉)。


谢谢。为什么需要最后一步?
布拉萨德'17

您之前看过的教程的一部分指导您如何将交换文件添加到fstab中,以便在引导时挂载它。我不确定如果要启动计算机会发生什么,并且该计算机试图装入不存在的文件。我认为它只会产生一个错误,但我宁愿不对其进行测试。
查尔斯·格林

fyi:#将行变成注释;如果您稍后决定要恢复,则可以轻松进行恢复,但是被系统忽略了……
guiverc

4
为什么禁用所有交换文件只是为了删除其中一个?您可以sudo swapoff /path/to/swapfile/to/be/deleted不删除任何其他内容而做。
Ruslan

1
如果系统尝试通过fstab挂载交换分区,但该分区不存在,则会将引导时间增加90秒,这是我的经验。系统仍会启动。由于UUID更改,我遇到了问题,在启动过程中,我看到一个计时器从1分30秒开始倒计时。
mook765
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.