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


10

我今天尝试编译程序时磁盘空间不足。当我运行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还是只是缩小它?

您无法收缩/ dev分区,它是一个完全驻留在内存中的VFS,例如tmpfsa
MariusMatutiae

那就是未使用的磁盘空间吗?我可以仅增加/ dev / sda1的分区大小来访问未使用的存储吗?
肖恩·伊根

Answers:


14

udev不是永久性硬盘驱动器上的分区。这是一个RAM磁盘。因此,它不会占用永久性硬盘驱动器的任何容量(当系统RAM不足时,交换部分除外)。

Linux中的RAM磁盘和/ dev

与许多现代Linux发行版一样,Ubuntu使用devtmpfs文件系统作为/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更大(如果可能,则更容易分区)或添加新分区,然后将其挂载到适当的目录并将现有文件移动到那里以释放根(/)文件系统。


1
非常感谢!我确实有64 GB的RAM,但是我也有72 GB的硬盘空间。所以我在想,也许64 GB是未分配的空间。这真的为我清除了!我将使用fdisk增加/ dev / sda1。
肖恩·伊根
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.