在 Ubuntu 中缩小或删除 udev 分区?

在 Ubuntu 中缩小或删除 udev 分区?

今天,我在尝试编译一个程序时磁盘空间不足。当我运行 df -h 时,我注意到分区很乱。df -h 输出

Filesystem      Size  Used Avail Use% Mounted on 
/dev/sda1       4.6G  4.4G     0 100% /
udev             32G  4.0K   32G   1% /dev
tmpfs            13G  724K   13G   1% /run 
none            5.0M     0  5.0M   0% /run/lock
none             32G     0   32G   0% /run/shm

我对于这个输出有几个疑问。

  1. 为什么所有空间都分配给了 udev?这只是用户在安装过程中犯的一个错误,还是另有原因?
  2. 如果我重新分区,我是否应该删除 udev 还是仅仅缩小它?

答案1

udev不是永久硬盘上的分区。它是RAM 磁盘. 因此它不占用任何永久硬盘的容量(当系统内存不足时,交换部分除外)。

Linux 中的 RAM 磁盘和 /dev

许多现代 Linux 发行版都使用 Ubuntudevtmpfs目录的文件系统/dev。目录包含特殊(设备)文件它们只是设备驱动程序的接口。devtmpfs只是tmpfs/dev目录是类Unix目录结构中必不可少的一部分。如果删除它,系统将停止运行。

您会注意到,在 Ubuntu 中,tmpfs它也被挂载在/run及其子目录上。在其他一些系统上,它也可以挂载在/tmp

你的问题

  1. 空间分配是默认设置。默认情况下,tmpfs文件系统限制为 RAM 容量的 50%。(您有 64 GB 的 RAM 吗?)这个数字实际上只是一个限制,因为文件tmpfs系统只占用存储文件所需的空间,而对于目录,/dev所需的空间非常小。您(我)的情况中占用的容量只有几 KB。
  2. 您无法通过分区来影响tmpfs大小,因为它们不存储在物理驱动器上。如果不对系统进行重大更改,则根本无法删除它。您可以降低大小限制:sudo mount -o remount,size=1G /dev但这只会改变限制,而不会改变实际占用的 RAM 空间。

解决您的问题

您的解决方案是重新对驱动器进行分区并使其/dev/sda1更大(如果可以重新分区则更容易)或添加新的分区并将它们安装到适当的目录并将现有文件移动到那里以释放根(/)文件系统。

相关内容